*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#152739;background:#fff;font-size:16px;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e87525;outline-offset:4px}.wrap{width:min(1200px,90%);margin:auto}.top{background:#11273b;color:#fff;font-size:14px;padding:9px 0}.top .wrap{display:flex;justify-content:space-between}.header{position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid #dce2e7}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:90px}.brand{text-decoration:none;display:flex;gap:13px;align-items:center;line-height:1.1}.brand strong{font-size:40px;font-weight:900;letter-spacing:-3px;color:#e76f20}.brand span{font-size:16px;font-weight:800;letter-spacing:1px}.brand small{display:block;font-size:11px;letter-spacing:2px;margin-top:7px}.links{display:flex;align-items:center;gap:26px}.links a{text-decoration:none;font-size:14px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;min-height:48px;border:1px solid transparent;background:#f47e2c;color:#12273a;text-decoration:none;font-weight:750;border-radius:3px;cursor:pointer}.button:hover{background:#ff994e}.button.secondary{background:transparent;border-color:#b9c5ce;color:inherit}.menu{display:none}.hero{background:#10283c;color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;min-height:565px}.hero-copy{padding:68px 55px 64px 0}.eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:#c45b11}.hero .eyebrow{color:#ff994f}h1{font-size:clamp(42px,5.1vw,68px);line-height:1.06;letter-spacing:-2.5px;margin:22px 0}h1 em{font-style:normal;color:#ff9347}p{margin:0 0 22px}.hero p{color:#d0dbe4;max-width:470px;font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-photo{position:relative;min-height:460px}.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10283c15,transparent)}.photo-label{position:absolute;z-index:1;bottom:25px;left:25px;right:25px;padding:15px 18px;background:#fff;color:#162b3e;display:flex;justify-content:space-between;font-size:14px}.trust{border-bottom:1px solid #dbe1e6}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;gap:20px}.trust strong{display:block;font-size:21px}.trust span{font-size:14px;color:#586775}section.section{padding:85px 0}h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-1.4px;line-height:1.15;margin:12px 0 22px}h3{font-size:23px;line-height:1.25;margin:14px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-head p{max-width:420px;color:#5d6c77}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{border:1px solid #dbe2e7;padding:30px;background:#fff}.card p{color:#526473}.number{font-size:14px;color:#bb540d;font-weight:bold}.text-link{font-weight:700;text-underline-offset:5px}.muted{background:#f1f4f6}.project{padding:0;border:0;background:transparent}.project img{width:100%;height:250px;object-fit:cover;display:block}.project button{border:0;background:none;padding:0;width:100%;cursor:zoom-in;text-align:left}.project h3{margin-bottom:8px}.project p{font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.dark{background:#10283c;color:white}.dark p{color:#ccd7df}.dark .eyebrow{color:#ff984e}.checks{padding:0;list-style:none}.checks li{border-bottom:1px solid #ffffff26;padding:14px 0}.checks li:before{content:'✓';color:#ff9347;margin-right:15px}.areas{display:flex;gap:10px;flex-wrap:wrap}.areas span{border:1px solid #cbd5dd;padding:10px 18px}.process{counter-reset:step}.process article{border-top:2px solid #ec7e31;padding-top:20px}.process article:before{counter-increment:step;content:'0' counter(step);color:#b2500b;font-weight:bold}.quote{background:#edf2f5}.quote-box{background:white;padding:35px;border:1px solid #d5dfe6}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}.field.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #a6b6c3;border-radius:3px;padding:12px;background:#fff;color:#172b3d}textarea{min-height:110px;resize:vertical}.small{font-size:14px;color:#576c7b}.contact-lines a{display:block;margin-bottom:12px}details{border-bottom:1px solid #cbd6df;padding:20px 0}summary{font-size:18px;font-weight:700;cursor:pointer}details p{margin:14px 0 0;color:#526473}footer{background:#0b1f30;color:#c4d0da;padding:45px 0;font-size:14px}.footer-grid{display:flex;justify-content:space-between;gap:35px}footer a{display:inline-block;margin-right:20px}.mobile-bar{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:#fff;padding:15px}.page-intro{background:#10283c;color:white;padding:60px 0}.page-intro h1{max-width:900px}.page-intro p{max-width:720px;color:#d0dbe4;font-size:18px}.breadcrumb{font-size:14px}.notice{border-left:3px solid #eb7d30;padding:14px 18px;background:#fff7ef;font-size:14px;margin-top:20px}dialog{border:0;padding:14px;max-width:90vw;max-height:90vh;background:white}dialog::backdrop{background:#06131cdb}dialog img{display:block;max-width:80vw;max-height:72vh}dialog button{float:right;margin-bottom:10px}.review-ready{border-left:4px solid #ef7d2c;padding-left:24px}#quote-result{margin-top:20px}#quote-result textarea{margin:12px 0;font-size:14px}
@media(max-width:900px){.links{gap:14px}.links a{font-size:13px}.nav{gap:15px}.hero-copy{padding-right:25px}.split{gap:35px}.grid{gap:16px}.card{padding:22px}.project{padding:0}.brand small{display:none}.brand span{font-size:14px}.brand strong{font-size:34px}}
@media(max-width:700px){.top .wrap span:last-child{display:none}.top{font-size:12px}.nav{min-height:74px}.brand strong{font-size:35px}.menu{display:block;padding:9px 14px;background:white;border:1px solid #abbcc8;border-radius:3px}.links{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;padding:24px 5%;box-shadow:0 12px 18px #11273b20;align-items:stretch}.links.open{display:flex;flex-direction:column}.links a{font-size:16px;padding:7px 0}.hero-grid,.split{grid-template-columns:1fr}.hero-copy{padding:40px 0}.hero h1{font-size:46px;letter-spacing:-1.8px}.hero p{font-size:17px}.hero-photo{min-height:300px;margin:0 -5.56%}.photo-label{font-size:12px;left:20px;right:20px}.trust-grid{grid-template-columns:1fr 1fr;gap:22px}.trust strong{font-size:19px}.trust span{font-size:13px}section.section{padding:55px 0}.section-head{display:block;margin-bottom:25px}.grid{grid-template-columns:1fr;gap:25px}.project img{height:260px}.split{gap:30px}.quote-box{padding:23px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{flex-direction:column}footer{padding-bottom:105px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:25;padding:10px 5%;gap:10px;box-shadow:0 -3px 15px #11273b15}.mobile-bar a{flex:1;padding:10px}.mobile-bar .secondary{color:#132a3d}.page-intro{padding:38px 0}.page-intro h1{font-size:42px}h2{font-size:34px}.actions .button{flex-grow:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.social-project img{height:auto;aspect-ratio:1;object-fit:contain}.hero-whatsapp{display:inline-block;color:#fff;text-underline-offset:5px;font-size:14px}.hero-photo img{object-position:50% 55%}@media(max-width:700px){.mobile-bar a{font-size:14px;padding:10px 8px}.hero-photo{min-height:370px}.hero-photo img{object-position:50% 60%}.photo-label{flex-wrap:wrap;gap:4px}.hero-copy{padding-bottom:32px}}

/* Supplied A&S wordmark: display the original asset, with its surrounding white space framed in the header. */
.brand{flex-shrink:0}.logo-window{display:block;position:relative;width:172px;height:78px;overflow:hidden}.brand .logo-window img{position:absolute;width:172px;height:auto;max-width:none;left:0;top:-18px}@media(max-width:700px){.logo-window{width:139px;height:63px}.brand .logo-window img{width:139px;top:-14px}.hero .eyebrow{line-height:1.6}}

.contact-help{margin:0;font-weight:400}.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#quote-result{padding:16px;border-left:3px solid #e87525;background:#f1f4f6}#quote-result[data-state="error"]{border-color:#a62020;color:#861818}.button:disabled{opacity:.65;cursor:wait}
.contact-help{grid-column:1/-1;display:block}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.quote .fields{grid-template-columns:1fr}}

.brand{flex-direction:column;gap:0;padding:7px 0}.brand .brand-meaning{font-size:12px;letter-spacing:1px;line-height:1.4;color:#152739;font-weight:800}.hero-tagline{font-size:.64em;letter-spacing:-1px}.team-card .person-email{overflow-wrap:anywhere;display:flex;font-size:15px;margin-bottom:0}.team-card>.person-email+p{margin:0}.team-role{color:#a64a0b;font-weight:700;margin-bottom:12px}@media(max-width:700px){.brand .brand-meaning{font-size:10px;letter-spacing:.7px}.nav{min-height:90px}.links{top:90px}.hero h1{font-size:48px}.team-card .person-email{font-size:16px}}

/* Original project photography and consistent contact routes */
.work-gallery{row-gap:32px}.work-project button{display:block;width:100%;overflow:hidden;background:#dce3e7}.work-project img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.work-project button:hover img{transform:scale(1.025)}.work-project h3{margin-top:16px}.work-socials{margin-top:40px;padding-top:28px;border-top:1px solid #ccd3d8;display:flex;align-items:center;justify-content:space-between;gap:24px}.work-socials h3{margin:0 0 8px}.work-socials p{margin:0}.gallery-more{margin-top:32px}.service-work-photo{width:100%;height:460px;object-fit:cover;object-position:center 40%}.contact-intro{padding-top:36px;padding-bottom:36px}.hero-photo img{object-position:55% center}.mobile-bar{grid-template-columns:1fr 1fr}#team{scroll-margin-top:140px}@media(max-width:700px){.work-socials{display:block}.work-socials .actions{margin-top:20px}.service-work-photo{height:360px}.contact-intro{padding-top:24px;padding-bottom:24px}.mobile-bar .button{padding:13px 8px;font-size:13px}}

/* Google reviews */
.google-reviews{background:#fff}.reviews-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.reviews-layout>div>p{max-width:460px;color:#526473}.review-invitation{border:1px solid #dbe2e7;border-top:3px solid #f47e2c;padding:32px;background:#f5f7f8}.review-icon{display:inline-flex;color:#173249;background:white;border:1px solid #dbe2e7;padding:12px;border-radius:50%}.review-invitation h3{margin:20px 0 14px}.review-instructions{margin:14px 0 0;font-size:13px}.review-invitation .button{gap:8px}#reviews{scroll-margin-top:130px}@media(max-width:700px){.reviews-layout{grid-template-columns:1fr;gap:28px}.review-invitation{padding:24px}.review-invitation .button{width:100%}}

.quote-page-title{font-size:clamp(32px,3.4vw,44px);line-height:1.15;letter-spacing:-1.4px;margin:12px 0 22px}

.google-rating{display:flex;align-items:center;gap:24px;margin:24px 0 12px}.rating-number{font-size:64px;letter-spacing:-3px;line-height:1.1;color:#152739}.rating-number span{font-size:24px;letter-spacing:0;color:#526473;margin-left:4px}.rating-stars{font-size:25px;letter-spacing:3px;color:#a64a0b;line-height:1.3}.google-rating p{margin:4px 0 0;font-size:14px}.reviews-layout .rating-date{font-size:13px;color:#526473;margin-bottom:20px}@media(max-width:700px){.google-rating{gap:20px}.rating-number{font-size:58px}.rating-stars{font-size:22px;letter-spacing:2px}}
@media(max-width:700px){.hero-copy{padding:24px 0 20px}.hero-copy h1{margin-top:18px;margin-bottom:18px}.hero-copy .actions{margin-top:22px}.hero-copy>p:last-child{margin-bottom:0}}

/* Readable information pages and mobile input controls. */
.prose{max-width:820px}.prose h2{font-size:28px;letter-spacing:-.5px;margin-top:36px}.prose h2:first-child{margin-top:0}.prose p{max-width:76ch}.company-details dt{font-weight:700;margin-top:22px}.company-details dd{margin:4px 0 20px}.company-details address{font-style:normal}.team-card>a{min-height:44px;display:flex;align-items:center}.team-card p a{display:inline-flex;min-height:44px;align-items:center}footer a{min-height:44px;align-items:center;display:inline-flex}.prose [id]{scroll-margin-top:130px}input,textarea{scroll-margin-top:140px}
@media(max-width:700px){input,select,textarea{font-size:16px}.mobile-bar{padding-bottom:max(10px,env(safe-area-inset-bottom))}.prose h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.work-project img{transition:none}.work-project button:hover img{transform:none}}

/* Team qualification disclosures: verified CISRS card records. */
.team-card{align-self:start}.team-qualifications{align-self:start;margin-top:18px;padding:0;border:1px solid #cbd6df;border-radius:3px;background:#f5f7f8}.team-qualifications summary{padding:12px 14px;min-height:48px;font-size:15px;line-height:1.5;color:#152739}.team-qualifications summary:hover{background:#eaf0f4}.team-qualifications summary:focus-visible{outline:3px solid #e87525;outline-offset:4px}.team-qualifications[open] summary{border-bottom:1px solid #cbd6df}.qualification-details{padding:16px 14px}.qualification-details .qualification-scheme{font-size:13px;line-height:1.5;margin:0 0 16px}.qualification-details dl{margin:0}.qualification-details dt{font-size:13px;font-weight:700;margin-top:14px;color:#526473}.qualification-details dt:first-child{margin-top:0}.qualification-details dd{font-size:15px;margin:3px 0 0;overflow-wrap:anywhere}.qualification-details h4{font-size:14px;line-height:1.5;margin:20px 0 8px}.qualification-details ul{font-size:14px;margin:0;padding-left:20px}.qualification-details li+li{margin-top:6px}.qualification-details .qualification-provenance{font-size:13px;line-height:1.5;margin-top:18px}.qualification-source{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:700;text-underline-offset:4px;margin-top:6px}.qualification-details .qualification-check-help{font-size:13px;line-height:1.5;margin:4px 0 0}

/* Review refinements: concise opening and direct access to quote fields. */
.quote-grid{grid-template-rows:auto 1fr;row-gap:24px;align-items:start}.quote-intro{grid-column:1;grid-row:1}.quote-intro>p:last-child{margin-bottom:0}.quote-grid>.quote-box{grid-column:2;grid-row:1 / span 2}.quote-contact{grid-column:1;grid-row:2}.quote-contact h3{margin-top:0}.quote-contact p{max-width:430px}.button:disabled{cursor:not-allowed}
@media(max-width:700px){.hero-copy{padding:20px 0 18px}.hero-copy h1{font-size:42px;margin:14px 0}.hero-copy .eyebrow{font-size:12px;line-height:1.5}.hero-copy>p{font-size:16px;line-height:1.55;margin-bottom:16px}.hero-copy .actions{margin-top:16px;gap:6px}.hero-copy .hero-contact{min-height:44px;padding:8px 12px;border:0;text-decoration:underline;text-underline-offset:4px}.hero-copy .hero-history{display:none}section.section.quote{padding-top:32px}.quote-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:24px}.quote-intro,.quote-grid>.quote-box,.quote-contact{grid-column:auto;grid-row:auto}.quote-intro .eyebrow{display:none}.quote-intro h2,.quote-page-title{font-size:30px;line-height:1.15;margin:0 0 12px}.quote-intro p{font-size:16px}.quote-contact{padding-top:4px}.quote-contact .button{width:100%}}

/* Form recovery keeps entered details available on an unreliable connection. */
.button[hidden]{display:none}#quote-retry{margin:0 12px 12px 0}.quote-response-time{margin:0 0 22px}.quote-response-time strong{color:#152739}

.team-card .team-tenure{margin:0 0 14px;font-size:14px;line-height:1.5;color:#526473}.team-tenure strong{color:#152739}

/* Align the seven matching card rows while keeping mobile cards compact. */
.team-card>.person-email+p>a{display:flex}
@media(min-width:701px){
  @supports(grid-template-rows:subgrid){
    .team-grid{row-gap:0;align-items:stretch}
    .team-grid>.team-card{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;align-self:stretch}
  }
}
.quote-next{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #cbd6df}
.quote-next ol{margin:0 0 14px;padding-left:22px;max-width:430px}
.quote-next li{padding-left:4px;margin:0 0 14px;font-size:16px;line-height:1.6}
.quote-next li:last-child{margin-bottom:0}
.quote-next li::marker{color:#a64a0b;font-weight:700}
.quote-next strong{color:#152739}
.quote-next>p:last-child{margin-bottom:0}
/* Feature the pub building above the foreshore. */
.hero-photo img{object-position:center 28%}

/* Quote labels keep their required marker on the same line. */
.field-label{display:block}
.address-label-row{display:flex;align-items:center;gap:4px;min-height:36px;position:relative}
.address-label-row label{display:inline-block}
.address-help-wrap{display:inline-flex}
.address-help-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:36px;padding:0;border:0;background:transparent;color:#173b54;cursor:pointer}
.address-help-button span{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;font-size:13px;font-weight:700}
.address-info{position:absolute;top:100%;left:0;z-index:5;max-width:100%;width:340px;padding:13px 16px;border-radius:4px;background:#10283c;color:#fff;font-size:14px;font-weight:400;box-shadow:0 5px 18px #10283c30}
.address-search{position:relative;min-width:0}
.address-popup{position:absolute;top:100%;left:0;right:0;z-index:4;background:#fff;border:1px solid #829bab;border-radius:0 0 4px 4px;box-shadow:0 6px 14px #10283c24;max-height:265px;overflow:auto}
.address-suggestions{list-style:none;margin:0;padding:0;color:#172b3d;font-size:15px;font-weight:400}
.address-suggestions li{padding:13px 14px;min-height:44px;cursor:pointer;line-height:1.45;border-bottom:1px solid #e2e9ed;overflow-wrap:anywhere}
.address-suggestions li:last-child{border-bottom:0}
.address-suggestions li:hover,.address-suggestions li[aria-selected="true"]{background:#eaf2f7;color:#10283c}
.address-note,.address-credit{margin:0;font-weight:400;line-height:1.5}
.address-credit{font-size:12px;color:#526b7b}
.address-credit a{text-underline-offset:2px}
.address-status{font-size:13px;color:#526b7b;min-height:1.5em}
.address-info[hidden],.address-popup[hidden],.address-credit[hidden]{display:none}
.address-field:focus-within{position:relative;z-index:3}

/* Keep permanent address guidance in the info button; credit belongs with results. */
.address-info>span{display:block}
.address-info>span+span{margin-top:8px}
.address-popup{max-height:none;overflow:visible}
.address-suggestions{max-height:220px;overflow:auto;overscroll-behavior:contain}
.address-credit{display:block;padding:10px 12px;background:#f3f6f8;border-top:1px solid #dce4e9;border-radius:0 0 4px 4px;line-height:1.5}
.address-status:not(.is-visible){position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
