/* Small standalone runtime replacements; the original responsive layout is retained. */
body[data-page="home"] .gallery-section { padding-top: var(--replica-header-height,116px); }
.gallery-reel-item-wrapper { z-index:0; }
.gallery-reel-item-src { display:block!important; opacity:1!important; animation:none!important; }
.gallery-reel-item { transition:transform .65s cubic-bezier(.19,1,.22,1); }
.gallery-reel-list { touch-action:pan-y; }
.gallery-reel-item img { pointer-events:none; }
.header-menu { visibility:hidden; }
.header--menu-open .header-menu { visibility:visible; }
.header-menu-nav-folder[data-folder="root"] { transform:none!important; }
.sqs-block-accordion .accordion-item__dropdown[hidden] { display:none; }
.sqs-block-accordion .accordion-item__dropdown:not([hidden]) { display:block; }
.accordion-item__click-target[aria-expanded="true"] .plus__vertical-line { transform:rotate(90deg); }
.native-video-player video { display:block; width:100%; height:100%; object-fit:contain; }
.native-video-player { --plyr-color-main:#262626; --plyr-video-control-color:#fff; --plyr-font-family:Arial,sans-serif; --plyr-font-size-base:13px; }
.native-video-player .plyr { height:100%; }
.native-video-player .plyr__control--overlaid { border-radius:50%; background:rgba(38,38,38,.8); }
.native-video-player .plyr__controls { flex-wrap:wrap; }
.native-video-player .plyr__progress__container { order:9; flex-basis:100%; }
.native-video-player .plyr__time { font-size:13px; }
.native-video-player .plyr__time--current { margin-right:0; }
.native-video-player .plyr__time--duration { margin-right:auto; }
.native-video-player .plyr__time--duration:before { content:'/'; margin:0 4px; }
.native-video-player .plyr__poster { background-size:cover; }
.contact-form { width:100%; font:17px/1.7 Outfit,sans-serif; color:#27387a; letter-spacing:.03em; }
.contact-form fieldset { padding:0; margin:0 0 24px; border:0; min-width:0; }
.contact-form legend { padding:0 0 4px; }
.contact-form .name-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.contact-form label { display:block; padding:0 0 4px; }
.contact-form .name-fields label { font-size:15.3px; }
.contact-form .required { margin-left:6px; font-size:14.45px; opacity:.7; }
.contact-form .form-row { margin:0 0 24px; }
.contact-form input,.contact-form textarea { display:block; box-sizing:border-box; width:100%; border:1px solid #27387a; border-radius:6px; padding:5px 10px; font:17px/28.9px Outfit,sans-serif; color:#27387a; background:transparent; height:40.9px; }
.contact-form textarea { height:100px; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { outline:2px solid #27387a; outline-offset:2px; }
.contact-form .form-row:last-of-type { margin-bottom:20px; }
.contact-form button { font:600 17px Lexend,sans-serif; border:1px solid #000; color:#000; border-radius:30px; background:transparent; padding:8.5px 27.2px; cursor:pointer; transition:background .2s,color .2s; }
.contact-form button:hover { background:#000; color:#fff; }
.contact-form [role="status"] { margin-top:15px; font-size:15px; }
.contact-form [role="status"]:empty { display:none; }
@font-face { font-family:halyard-display; src:url('/assets/halyard-display-300.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }
/* Preserve the live template's extra inline line box above the navigation. */
.header-skip-link { position:relative; display:inline; }
#header .header-skip-link { position:relative; display:inline; }
.sqs-block[data-definition-name="website.components.accordion"].sqs-block-accordion .accordion-item__dropdown:not([hidden]) { display:block; }
.sqs-block[data-definition-name="website.components.accordion"] .accordion-item__click-target[aria-expanded="true"] .plus__vertical-line { transform:rotate(90deg); }
.header-menu { padding-top:var(--header-height); }
.contact-form fieldset,.contact-form .form-row { margin-bottom:20px; }
.contact-form .name-fields label { height:31.97px; padding:0; box-sizing:border-box; }
.contact-form input { height:auto; }
.sqs-block[data-definition-name="website.components.accordion"] .accordion-item__click-target[aria-expanded="true"] .plus__vertical-line { transform:rotate(0deg); }
@media(max-width:767px) {
 .contact-form { font-size:16px; }
 .contact-form input,.contact-form textarea { font-size:16px; line-height:27.2px; }
 .contact-form .name-fields label { height:31.48px; font-size:14.4px; }
 .contact-form .required { font-size:13.6px; }
 .contact-form button { font-size:16px; padding:8px 25.6px; }
}
/* Runtime layout hooks for authored, locally served components. */
.section-background img { opacity:1; width:100%; height:100%; object-fit:cover; }
.section-background-content { position:absolute; inset:0; overflow:hidden; }
.section-background-content[data-parallax] img { width:100%; height:100%; object-fit:cover; position:absolute; top:0; will-change:transform; }
.gallery-reel { cursor:grab; }
.gallery-reel:active { cursor:grabbing; }
.gallery-grid-item img { opacity:1!important; }
.gallery-grid-wrapper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.gallery-grid-item { position:relative; width:auto!important; transform:none!important; margin:0; }
.gallery-grid-item-wrapper { aspect-ratio:4/3; }
.gallery-grid-item img { width:100%; height:100%; object-fit:cover; }
.user-items-list-carousel__slides--initialized { position:relative; }
.user-items-list-carousel__slide { transition:transform .25s ease; }
.user-items-list-carousel__media { opacity:1!important; }
.reveal-pending { opacity:0; transition:opacity .65s cubic-bezier(.19,1,.22,1); }
.reveal-pending.revealed { opacity:1; }
.word-reveal { opacity:1!important; }
.word-reveal .motion-word { display:inline-block; opacity:0; transition:opacity .65s ease; transition-delay:var(--word-delay,0ms); }
.word-reveal.revealed .motion-word { opacity:1; }
.gallery-grid-item.reveal-pending { transform:translateY(20px)!important; transition:opacity .65s ease,transform .65s ease; }
.gallery-grid-item.revealed { transform:translateY(0)!important; }
.photo-lightbox { position:fixed; inset:0; z-index:100000; max-width:none; max-height:none; width:100vw; height:100dvh; padding:0; border:0; margin:0; background:rgba(255,255,255,.98); color:#222; }
.photo-lightbox::backdrop { background:#fff; }
.photo-lightbox[open] { display:grid; place-items:center; }
.photo-lightbox img { max-width:calc(100vw - 140px); max-height:calc(100dvh - 100px); object-fit:contain; animation:lightbox-in .3s ease; }
.photo-lightbox button { position:absolute; background:none; border:0; padding:20px; color:inherit; cursor:pointer; font:300 36px/1 Arial,sans-serif; }
.photo-lightbox button:hover { opacity:.5; }
.photo-lightbox .close { top:10px; right:10px; }
.photo-lightbox .previous { left:10px; top:calc(50% - 38px); }
.photo-lightbox .next { right:10px; top:calc(50% - 38px); }
.photo-lightbox .counter { position:absolute; bottom:16px; font:14px Outfit,sans-serif; }
body:has(.photo-lightbox[open]) { overflow:hidden; }
@keyframes lightbox-in { from {opacity:0} to {opacity:1} }
@media(max-width:767px) {
 .gallery-grid-wrapper { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
 .photo-lightbox img { max-width:calc(100vw - 40px); max-height:calc(100dvh - 130px); }
 .photo-lightbox .previous,.photo-lightbox .next { top:auto; bottom:4px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; transition-delay:0ms!important; }
 .reveal-pending,.motion-word { opacity:1!important; }
}
.has-section-divider { --divider-height:0px; }
.gallery-grid-wrapper { gap:1.75vw; }
.photo-lightbox { background:#fafafa; color:#27387a; }
.photo-lightbox img { max-width:calc(100vw - 120px); max-height:calc(100dvh - 80px); }
.photo-lightbox .counter { display:none; }
.photo-lightbox { background:rgba(250,250,250,.9); }
.photo-lightbox::backdrop { background:transparent; }
.photo-lightbox img { width:86vw; height:83.78dvh; max-width:none; max-height:none; }
.contact-form { font-size:calc(1rem); }
.contact-form input,.contact-form textarea { font-size:1rem; line-height:1.7; }
.contact-form .name-fields label { font-size:.9rem; height:calc(.9rem * 1.7 + 6px); }
.contact-form .required { font-size:.85rem; }
.contact-form button { font-size:1rem; padding:.5rem 1.6rem; }
.motion-mask { display:inline-flex; overflow:hidden; vertical-align:bottom; }
.word-reveal .motion-word { transform:translateY(100%); transition-property:opacity,transform; }
.word-reveal.revealed .motion-word { transform:translateY(0); }
.contact-form button { position:relative; z-index:0; overflow:hidden; }
.contact-form button::before { background:#000; }
.contact-form button:hover { background:transparent; }
.has-section-divider { padding-bottom:0!important; }
.reveal-pending { transform:translateY(2vh); transition-property:opacity,transform,clip-path; }
.reveal-pending.revealed { transform:translateY(0); }
.fluid-image-animation-wrapper.reveal-pending { transform:none; clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%); }
.fluid-image-animation-wrapper.revealed { clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
.header-nav-item a[aria-current="page"] { background-image:linear-gradient(to right,currentColor 100%,currentColor 0); background-size:1px 1px; background-repeat:repeat-x; background-position:0 calc(100% - .1em); }
/* Standalone images never wait for the removed canvas/gallery runtime. */
.section-background .background-image-fx { visibility:visible!important; }
.section-background-canvas { display:none; }
.gallery-grid .gallery-grid-item .gallery-grid-item-wrapper { opacity:1; animation:none!important; }
/* Leave room for font descenders while preserving the existing line metrics. */
.motion-mask { padding-bottom:.2em; margin-bottom:-.2em; }
.word-reveal.revealed .motion-mask { overflow:visible; }
/* Keep shape and animation masks on separate elements. */
[data-shape-mask="circle"].fluid-image-container { aspect-ratio:1; border-radius:50%; }
.user-items-list-carousel__slides-revealer { overflow:hidden; }
.user-items-list-carousel__slides { touch-action:pan-y; }

/* Semantic heading levels are independent of the established visual scale. */
[data-heading-style="h2"] { --seo-heading-size:var(--heading-2-size-value); font-family:var(--heading-font-font-family); font-style:var(--heading-font-font-style); font-weight:var(--heading-font-font-weight); letter-spacing:var(--heading-font-letter-spacing); text-transform:var(--heading-font-text-transform); line-height:calc(var(--heading-font-line-height) * (1 + (1 - var(--seo-heading-size))/25)); color:var(--headingLargeColor); }
[data-heading-style="h3"] { --seo-heading-size:var(--heading-3-size-value); font-family:var(--heading-font-font-family); font-style:var(--heading-font-font-style); font-weight:var(--heading-font-font-weight); letter-spacing:var(--heading-font-letter-spacing); text-transform:var(--heading-font-text-transform); line-height:calc(var(--heading-font-line-height) * (1 + (1 - var(--seo-heading-size))/25)); color:var(--headingMediumColor); }
[data-heading-style="h4"] { --seo-heading-size:var(--heading-4-size-value); font-family:var(--heading-font-font-family); font-style:var(--heading-font-font-style); font-weight:var(--heading-font-font-weight); letter-spacing:var(--heading-font-letter-spacing); text-transform:var(--heading-font-text-transform); line-height:calc(var(--heading-font-line-height) * (1 + (1 - var(--seo-heading-size))/25)); color:var(--headingSmallColor); }
@media screen and (max-width:767px) and (orientation:portrait) {
 [data-heading-style] { font-size:calc((var(--seo-heading-size) - 1) * (.012 * min(100vh,900px)) + 1rem); }
}
@media screen and (min-width:768px), screen and (orientation:landscape) {
 [data-heading-style] { font-size:min(calc((var(--seo-heading-size) - 1) * 1.2vw + 1rem),max(calc((var(--seo-heading-size) - 1) * .012 * var(--maxPageWidth) + 1rem),calc(var(--seo-heading-size) * 1rem))); }
}
blockquote[data-heading-style] { margin:2rem 0; padding:0; border:0; }
.list-section-title .seo-list-section-title { font:inherit; color:inherit; letter-spacing:inherit; text-transform:inherit; margin:1rem 0; }

/* The Ads page retains the original form presentation and dark photo viewer. */
.landing-contact-form [role="status"]:empty { display:none; }
.landing-image-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:rgba(0,0,0,.95); color:white; }
.landing-image-lightbox::backdrop { background:transparent; }
.landing-image-lightbox[open] { display:grid; place-items:center; }
.landing-image-lightbox img { max-width:90vw; max-height:90dvh; object-fit:contain; }
.landing-image-lightbox button { position:absolute; top:10px; right:15px; padding:15px; background:none; border:0; color:white; font:32px/1 Arial,sans-serif; cursor:pointer; }
body:has(.landing-image-lightbox[open]) { overflow:hidden; }

/* Preserve the Ads film's full portrait composition without letterboxing. */
body[data-page="landscaping-launceston"] #video .fluid-engine { display:block; }
body[data-page="landscaping-launceston"] #video .content-wrapper { padding:32px var(--sqs-site-gutter,4vw); }
body[data-page="landscaping-launceston"] #video .sqs-native-video { width:min(100%,420px); margin-inline:auto; }
body[data-page="landscaping-launceston"] #video .native-video-player { aspect-ratio:9/16; }
body[data-page="landscaping-launceston"] #video .plyr__video-wrapper { height:100%; aspect-ratio:9/16; }

/* Explicit form button contrast overrides inherited Squarespace theme colours. */
body .form-wrapper form button[type="submit"] {
  color:#27387a !important;
  background-color:#fff !important;
  border:1px solid #27387a !important;
  opacity:1 !important;
  transition:none !important;
  -webkit-text-fill-color:currentColor;
}
/* Submit controls use solid colours, without the legacy animated fill layer. */
body .form-wrapper form button[type="submit"]::before,
body .form-wrapper form button[type="submit"]::after {
  content:none !important;
  display:none !important;
}
body .form-wrapper form button[type="submit"]:is(:hover, :focus-visible, :active) {
  color:#fff !important;
  background-color:#27387a !important;
}
body .form-wrapper form button[type="submit"]:focus-visible {
  outline:2px solid #27387a;
  outline-offset:3px;
}

/* Shared agency credit, matching the Golden Valley footer treatment. */
.hayes-credit-wrap { background:#27387a; color:#fff; padding:0 4vw 32px; }
.hayes-credit { max-width:1600px; margin:0 auto; border-top:1px solid rgba(255,255,255,.3); padding-top:32px; display:flex; align-items:center; gap:21px; }
.hayes-credit-logo { display:block; flex:0 0 84px; }
.hayes-credit-logo img { display:block; width:84px; height:auto; filter:brightness(0) invert(1); }
.hayes-credit p { margin:0; color:#fff; font-size:13px; line-height:1.65; }
.hayes-credit p span { color:rgba(255,255,255,.78); }
.hayes-credit a { color:inherit; text-decoration:none; }
.hayes-credit p a:hover { text-decoration:underline; text-underline-offset:3px; }
.hayes-credit a:focus-visible { outline:2px solid white; outline-offset:5px; }
@media(max-width:600px) { .hayes-credit { align-items:flex-start; gap:16px; } .hayes-credit-wrap { padding:0 6vw 28px; } }

/* Independent responsive footer; no inherited Squarespace grid positions. */
.ajg-footer { background:#27387a; color:#fff; padding:64px 32px 28px; }
.ajg-footer-inner { max-width:1200px; margin:0 auto; }
.ajg-footer-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:64px; padding-bottom:48px; }
.ajg-footer-brand { max-width:450px; }
.ajg-footer-home { display:inline-block; margin-bottom:24px; }
.ajg-footer-home img { display:block; width:210px; max-width:100%; height:auto; }
.ajg-footer p { margin:0; color:inherit; font-size:15px; line-height:1.8; }
.ajg-footer a { color:inherit; text-underline-offset:4px; }
.ajg-footer a:hover { text-decoration-thickness:2px; }
.ajg-footer a:focus-visible { outline:2px solid #fff; outline-offset:5px; }
.ajg-footer-contact { text-align:center; min-width:0; }
.ajg-footer-contact h2 { color:inherit; font-size:clamp(23px,2.2vw,30px); line-height:1.35; letter-spacing:0; font-weight:400; margin:0 0 22px; }
.ajg-footer-contact address { display:flex; flex-direction:column; align-items:center; gap:8px; font-size:16px; line-height:1.6; font-style:normal; }
.ajg-footer-contact address a { max-width:100%; overflow-wrap:anywhere; }
.ajg-footer-credit { border-top:1px solid rgba(255,255,255,.3); padding-top:26px; display:flex; align-items:center; gap:20px; }
.ajg-footer-hayes { flex:0 0 auto; }
.ajg-footer-hayes img { width:84px; height:auto; display:block; filter:brightness(0) invert(1); }
.ajg-footer-credit p { font-size:12px; line-height:1.7; }
.ajg-footer-credit p span { display:block; color:rgba(255,255,255,.78); margin-top:2px; }
.ajg-footer-credit p a { text-decoration:none; }
.ajg-footer-credit p a:hover { text-decoration:underline; }
@media(max-width:900px) {
 .ajg-footer { padding:48px 28px 26px; }
 .ajg-footer-main { gap:32px; }
 .ajg-footer p { font-size:14px; }
 .ajg-footer-contact address { font-size:14px; }
 .ajg-footer-credit p { font-size:12px; }
}
@media(max-width:640px) {
 .ajg-footer { padding:44px 24px 28px; }
 .ajg-footer-main { grid-template-columns:minmax(0,1fr); gap:36px; padding-bottom:36px; text-align:center; }
 .ajg-footer-brand { max-width:380px; margin:0 auto; }
 .ajg-footer-home { margin-bottom:20px; }
 .ajg-footer-home img { width:200px; }
 .ajg-footer-contact h2 { margin-bottom:16px; }
 .ajg-footer-credit { flex-direction:column; text-align:center; gap:14px; padding-top:26px; }
 .ajg-footer-credit p { max-width:320px; }
 .ajg-footer-hayes img { width:80px; }
}
