/* ==========================================================================
   Digital Movement — Ads Landing Page (/special-offer)
   Mirrors the LIVE digitalmovement.com.au theme measurements:
   - fluid rem system: html = .520833vw (10px @1920); <=768px = 6.5px (same as live)
   - container max-width 94%; Axiforma Regular / SemiBold / Bold (uppercase headings)
   - ink #221334, pink gradient #f13c64 > #e6359b > #dc2ec9, gold submit #f5ca5a
   - 768 / 520 breakpoints copied from the live theme; floor on rem so tablet text stays readable
   ========================================================================== */
@font-face{font-family:Axiforma-Regular;src:url(../fonts/Axiforma-Regular.woff2) format("woff2"),url(../fonts/Axiforma-Regular.woff) format("woff");font-display:swap}
@font-face{font-family:Axiforma-SemiBold;src:url(../fonts/Axiforma-SemiBold.woff2) format("woff2"),url(../fonts/Axiforma-SemiBold.woff) format("woff");font-display:swap}
@font-face{font-family:Axiforma-Bold;src:url(../fonts/Axiforma-Bold.woff2) format("woff2"),url(../fonts/Axiforma-Bold.woff) format("woff");font-display:swap}
:root{
  --ink:#221334; --ink-top:#251136; --pink:#f13c64; --magenta:#e6359b; --violet:#dc2ec9; --gold:#f5ca5a;
  --grad:linear-gradient(90deg,#f13c64 0%,#e6359b 50%,#dc2ec9 100%);
  --grad-btn:linear-gradient(to right,#f13c64,#ec397f,#e6359b);
  --grey:#5c5c5c; --tile:#dbdce0; --field:#e9e8e8; --card:#f6f4f8;
  --reg:Axiforma-Regular,Arial,sans-serif; --semi:Axiforma-SemiBold,Arial,sans-serif; --bold:Axiforma-Bold,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:clamp(6.5px,.520833vw,12px);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--reg);font-size:2.25rem;line-height:1.6;color:#000;background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--bold);font-weight:400;text-transform:uppercase;color:var(--ink)}
p{margin:0}
.container{max-width:94%;margin-left:auto;margin-right:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid #ffd166;outline-offset:3px}

/* pill button (.purposal) */
.purposal{display:table;margin:auto;padding:2.1rem 4.8rem 1.6rem;border:0;border-radius:50px;background:var(--grad-btn);color:#fff;font-family:var(--bold);font-size:2.2rem;line-height:1.5;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.33s linear}
.purposal:hover{background:var(--ink);color:#fff}

/* ---------- HEADER ---------- */
.header{position:absolute;left:0;top:0;width:100%;z-index:99;padding-bottom:5rem}
.head-top-main{margin-bottom:5rem}
.head-top-main .row{display:flex;justify-content:flex-end;padding:0 7rem;border-bottom:1px solid rgba(220,200,192,.7)}
.top-link{list-style:none;margin:0;padding:1rem 0;display:flex;align-items:center}
.top-link li{position:relative;padding-left:4.2rem}
.top-link li:first-child{padding:0}
.top-link li:not(:first-child)::before{content:"";position:absolute;left:1.3rem;top:50%;width:1rem;height:1rem;margin-top:-.5rem;border-radius:50%;background:#fff}
.top-link a{white-space:nowrap;color:#fff;font-family:var(--semi);font-size:2.3rem;text-decoration:none;letter-spacing:.03rem;transition:.3s linear}
.top-link a:hover{color:var(--pink)}
.head-bg{padding:0 7rem}
.head-bg .row{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.logo_img img{width:40rem;max-width:100%}
.head-actions{display:flex;align-items:center;gap:3rem}
.head-enquire{display:inline-flex;align-items:center;justify-content:center;min-height:6.8rem;padding:0 3.2rem;border-radius:50px;background:#fff;color:#000;font-family:var(--bold);font-size:2.2rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:.3s}
.head-enquire:hover{background:var(--ink);color:#fff}
.head-call{display:none;place-items:center;width:5.6rem;height:5.6rem;border:2px solid #fff;border-radius:50%;color:#fff}
.header.fixed{position:fixed;background:var(--grad-btn);padding-bottom:2rem;animation:smoothScroll 1s ease forwards}
.header.fixed .head-top-main{display:none}
.header.fixed .head-bg{padding-top:2rem}
@keyframes smoothScroll{from{transform:translateY(-60%)}to{transform:none}}

/* ---------- HERO ---------- */
.hero-banner{position:relative;min-height:56.25vw;background:#1c1a1d;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-fallback{position:absolute;inset:0;background:radial-gradient(60% 50% at 80% 20%,rgba(230,53,155,.45),transparent 70%),radial-gradient(50% 60% at 10% 90%,rgba(241,60,100,.35),transparent 70%),#221334}
.hero-bar{position:absolute;height:5rem;border-radius:2px;transform:rotate(-11deg);opacity:.9;animation:drift 14s ease-in-out infinite alternate}
.hero-bar.a{width:52rem;left:-12rem;top:22%;background:var(--grad)}
.hero-bar.b{width:38rem;right:-10rem;top:12%;background:var(--grad);animation-delay:-5s}
.hero-bar.c{width:46rem;left:5%;bottom:8%;background:#150a24;animation-delay:-8s}
.hero-bar.d{width:30rem;right:4%;bottom:14%;background:var(--pink);animation-delay:-3s}
@keyframes drift{from{translate:-3rem 0}to{translate:4rem 0}}
.hero-content{position:absolute;inset:0;background:transparent;padding-top:28.5rem}
.hero-content-wrapper{display:grid;grid-template-columns:1.3fr 1fr;gap:10rem;align-items:start}
.hero-text{text-align:center}
.hero-content h1{color:#fff;font-size:11.8rem;font-weight:800;line-height:1.1;letter-spacing:-.1rem}
.hero-description{margin-top:1.2rem;color:#fff;font-size:2.25rem;line-height:normal;text-transform:uppercase;text-align:center}
.stars{color:#ffc933;letter-spacing:.1em;white-space:nowrap}
.hero-badge{max-width:180px;margin:1.4rem auto 0}

/* form card */
.banner-form>div{position:relative;z-index:1;padding:5rem 4rem;text-align:center;border-radius:1rem}
.hero-banner .banner-form>div{padding:6rem 7rem;border:.5rem solid #f9f9fa;border-radius:3.8rem;background:rgba(0,0,0,.353)}
.banner-form>div::before{content:"";position:absolute;inset:0;z-index:0;border-radius:3.8rem;background:url(../images/dm/formbg2.png) right center/contain no-repeat;pointer-events:none}
.banner-form>div::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:3.8rem;background:var(--grad);opacity:.9}
.hero-banner .banner-form>div::after{background:transparent}
.hero-banner .banner-form>div::before{display:none}
.form-content{position:relative;z-index:1}
.form-content h2{color:#fff;font-size:2.85rem;line-height:1.2;margin-bottom:5rem}
.form-content p.lead{color:#fff;font-size:2.2rem;line-height:1.6;margin:-1.5rem 0 5rem}
.fw{display:block;border:.4rem solid transparent;outline:1px solid #fff;width:100%;margin-bottom:3rem}
.form-content input:not([type=submit]),.form-content select,.form-content textarea{display:block;width:100%;padding:1.6rem 3rem 1.4rem;border:0;border-radius:0;background:var(--field);color:#000;font-family:var(--reg);font-size:2rem;line-height:1.4;margin-bottom: 0 !important;}
.form-content ::placeholder{color:#6b6a6a;opacity:1}
.form-content select{appearance:none;color:#6b6a6a;background:url(../images/dm/down-arrow.png) 95.5% center no-repeat var(--field)}
.form-content textarea{resize:none;height:12rem}
.form-content .submit{display:block;width:100%;padding:2.1rem 6rem;border:0;border-radius:0;background:var(--grad);color:#fff;font-family:var(--bold);font-size:2.2rem;line-height:1.4;text-transform:uppercase;cursor:pointer;transition:.2s linear}
.form-content .submit:hover{background:#fff;color:var(--pink)}
.hp{position:absolute;left:-9999px}
.msg{display:none;margin-top:2rem;color:#fff;font-size:2rem}
.msg.show{display:block}
.fine{margin-top:2rem;color:#f6e9f3;font-size:1.7rem}

/* ---------- INTRO (value-marketing) ---------- */
.value-marketing{position:relative;text-align:center;padding:13rem 0 8rem;overflow:hidden}
.value-marketing .container{position:relative;padding:0 3rem}
.value-content{display:grid;grid-template-columns:1fr 1.1fr;align-items:center}
.value-left{padding-right:7rem}
.value-marketing h2,.section-title h2,.faq-title h2{font-size:8.2rem;line-height:9rem;letter-spacing:.1rem}
.value-marketing h2{margin-bottom:4rem}
.value-marketing .content{padding:0 .5rem}
.value-marketing .content p{color:var(--grey);font-size:2.25rem;line-height:2;letter-spacing:.7px;margin-bottom:3rem}
.value-marketing .content p strong{color:var(--grey)}
.value-marketing .purposal{margin-top:2.5rem}
.value-right img{width:100%}

/* ---------- SERVICES ---------- */
.services-section{padding:13rem 0}
.services-section .container{padding:0 4rem}
.section-title{text-align:center;margin-bottom:8rem;padding:0 5.5rem}
.section-title h2{font-size:8.5rem;line-height:10.2rem}
.section-title p{margin:3rem auto 0;max-width:150rem;color:var(--grey);font-size:2.25rem;line-height:2;letter-spacing:.7px}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.service-item{background:var(--tile);border-radius:2.5rem;overflow:hidden;box-shadow:#acacac -3px -3px 8px -5px}
.service-item a{display:flex;position:relative;border-radius:2.5rem;overflow:hidden;box-shadow:0 0 10px -6px #000}
.service-item img{width:100%;transition:.38s linear}
.service-item a:hover img{transform:scale(1.04)}
.service-copy{display:grid;grid-template-columns:repeat(4,1fr);gap:4rem;margin-top:8rem}
.service-copy h3{font-size:2.8rem;margin-bottom:1.4rem;line-height:1.2}
.service-copy p{color:var(--grey);font-size:2.1rem;line-height:1.7}

/* ---------- marquees ---------- */
.marq{overflow:hidden;position:relative}
.marq::before,.marq::after{content:"";position:absolute;top:0;bottom:0;width:10rem;z-index:2;pointer-events:none}
.marq::before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.marq::after{right:0;background:linear-gradient(270deg,#fff,transparent)}
.track{display:flex;width:max-content;animation:slide var(--dur,40s) linear infinite}
.marq:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}

/* clients */
.success-stories{padding:12rem 0 10rem;text-align:center;background:var(--ink);color:#fff}
.success-stories .section-title{margin-bottom:8rem}
.success-stories h2{color:#fff}
.success-stories .marq::before{background:linear-gradient(90deg,var(--ink),transparent)}
.success-stories .marq::after{background:linear-gradient(270deg,var(--ink),transparent)}
.logo-item{display:grid;place-items:center;width:34rem;height:15rem;margin:0 2rem}
.logo-item img{max-height:8rem;max-width:26rem;width:auto;filter:brightness(0) invert(1)}
.logo-item img.nofx{filter:none;max-height:10rem;border-radius:1.2rem}
.logo-item img.wide{filter:none;background:#fff;padding:1.4rem 2rem;border-radius:1.2rem;max-width:30rem}
.logo-item .word{font-family:var(--bold);font-size:3rem;line-height:1.1;text-transform:uppercase;color:#fff}

/* reviews */
.reviews{padding:13rem 0 12rem;text-align:center}
.rating{display:inline-flex;align-items:center;gap:1.4rem;margin-bottom:6rem;padding:1.4rem 2.4rem;border-top:.5rem solid #34a853;border-radius:1rem;box-shadow:0 0 14px -6px #000;font-size:2.2rem}
.rating b{color:#f57c00;font-size:3rem;font-family:var(--bold)}
.rev{width:52rem;margin:0 1.6rem;padding:4rem;text-align:left;background:var(--card);border-radius:2.5rem;box-shadow:0 0 10px -6px #000;display:flex;flex-direction:column}
.rev .stars{font-size:2.4rem;margin-bottom:1.4rem}
.rev p{color:var(--grey);font-size:2rem;line-height:1.7;margin-bottom:2.4rem;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.rev cite{margin-top:auto;font-style:normal;font-family:var(--bold);font-size:2.2rem;color:var(--ink)}
.rev small{display:block;font-family:var(--reg);font-size:1.8rem;color:#777}

/* process */
.process{padding:12rem 0;background:#f6f4f8}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem}
.step{position:relative;padding:5rem 4rem;background:#fff;border-radius:2.5rem;box-shadow:0 0 10px -6px #000}
.step .n{display:grid;place-items:center;width:7rem;height:7rem;margin-bottom:2.4rem;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--bold);font-size:3.2rem}
.step h3{font-size:2.8rem;line-height:1.2;margin-bottom:1.4rem}
.step p{color:var(--grey);font-size:2.1rem;line-height:1.7}

/* growth / why */
.business-growth-section{padding:13rem 0 10rem;overflow:hidden}
.growth-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;text-align:center}
.business-growth-section .section-title{padding:0;margin:0 0 4rem;text-align:center}
.business-growth-section .growth-copy p{color:var(--grey);font-size:2.3rem;line-height:1.9;letter-spacing:.7px;margin-bottom:2.4rem}
.business-growth-section .purposal{margin-top:4rem}
.checks{list-style:none;margin:3rem auto 0;padding:0;display:inline-block;text-align:left}
.checks li{position:relative;padding-left:5rem;margin-bottom:1.4rem;color:var(--grey);font-size:2.25rem}
.checks li::before{content:"";position:absolute;left:0;top:.6rem;width:3rem;height:3rem;border-radius:50%;background:var(--grad)}
.checks li::after{content:"";position:absolute;left:1.05rem;top:1rem;width:.8rem;height:1.5rem;border:solid #fff;border-width:0 .3rem .3rem 0;transform:rotate(45deg)}

/* faq (live .faq_div style) */
.brands.faq_footers{padding:8rem 0 12rem;text-align:center}
.faq-title h2{font-size:7.5rem;line-height:1.2;margin-bottom:6rem}
.faq{max-width:150rem;margin:0 auto;display:grid;gap:2rem}
.faq details{text-align:left;border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 0 10px -6px #000}
.faq summary{position:relative;display:block;list-style:none;padding:2.9rem 9rem 2.2rem 4.1rem;background:var(--grad);color:#fff;font-family:var(--bold);font-size:2.8rem;line-height:1.3;cursor:pointer;min-height:7rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4.1rem;top:0;bottom:0;margin:auto;width:14px;height:14px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);transition:.33s linear}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq details p{padding:3rem 4.1rem;color:var(--grey);font-size:2.25rem;line-height:1.8}

/* ---------- CONTACT ---------- */
.contact-section{position:relative;padding:19rem 0 11rem;overflow:hidden}
.contact-section::before{content:"";position:absolute;top:0;left:0;z-index:0;width:95.1rem;height:108.6rem;background:url(../images/dm/formbg.png) 0 0/cover no-repeat}
.contact-wrapper{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6rem}
.contact-wrapper .banner-form{padding-left:9rem}
.contact-section .form-content .submit{background:var(--gold)}
.contact-section .form-content .submit:hover{background:#fff;color:var(--pink)}
.contact-content{padding-left:2rem;text-align:center}
.contact-content h2{font-size:8.5rem;line-height:10.2rem;margin-bottom:4rem}
.contact-text p{font-size:2.25rem;line-height:1.5;margin-bottom:5rem;color:var(--grey)}
.contact-buttons{display:grid;gap:1.8rem;justify-items:center;margin-top:3rem}
.contact-buttons .purposal{display:flex;align-items:center;justify-content:center;gap:1.2rem;width:fit-content;text-transform:none;margin:0}
.contact-buttons .purposal img{height:3rem;width:auto}
.addr{margin-top:3rem;color:var(--grey);font-size:2.1rem}

/* ---------- MAP ---------- */
.map-section{padding:0 0 12rem}
.map-box{position:relative;height:60rem;border-radius:3.8rem;overflow:hidden;background:var(--ink);border:.5rem solid #f9f9fa;box-shadow:0 0 14px -6px #000}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pin{position:absolute;z-index:2;left:3rem;top:3rem;width:44rem;padding:3rem;background:#fff;border-radius:2.5rem;border-left:1rem solid var(--magenta);box-shadow:0 20px 40px -20px rgba(0,0,0,.6);text-align:left}
.pin h3{font-size:2.6rem;margin-bottom:.8rem}
.pin p{color:var(--grey);font-size:2.1rem;line-height:1.5;margin-bottom:2rem}
.pin .row{display:flex;flex-wrap:wrap;gap:1rem}
.pin .purposal{margin:0;padding:1.6rem 3rem 1.2rem;font-size:1.8rem}
.pin .purposal.alt{background:#fff;color:var(--ink);border:2px solid var(--ink)}
.tog{position:absolute;z-index:2;right:3rem;bottom:3rem;display:flex;padding:.5rem;background:#fff;border-radius:50px;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.tog button{min-height:5.2rem;padding:0 3rem;border:0;border-radius:50px;background:transparent;color:var(--ink);font-family:var(--bold);font-size:1.8rem;text-transform:uppercase;cursor:pointer}
.tog button[aria-pressed=true]{background:var(--grad);color:#fff}

/* ---------- FOOTER ---------- */
footer{background:url(../images/dm/footerbg.png) center top/cover no-repeat;padding-top:16rem;margin-bottom:-3.5rem;color:#fff}
.footer-items{display:grid;grid-template-columns:30% 17% 24% 25%;padding:0 3rem}
.footer-logo img{max-width:34.15rem}
footer .footer-items p,footer .footer-items a,.copyright_main span{font-family:var(--semi);font-size:2rem;line-height:1.5;letter-spacing:.04rem;text-transform:uppercase;color:#fff;text-decoration:none}
.info-text{padding-right:7rem;padding-top:4rem}
.footermenu_content,.footer_contactinfo{padding-top:4rem}
.f_title{font-family:var(--bold);font-size:2.3rem;letter-spacing:.05rem;text-transform:uppercase;color:#fff;margin-bottom:3.4rem}
footer ul{list-style:none;margin:0;padding:0}
.footermenu_content li{margin-bottom:.6rem;font-family:var(--semi);font-size:2rem;text-transform:uppercase}
.footermenu_content li::before{content:"";display:inline-block;width:1.6rem;height:1.2rem;margin-right:1.5rem;background:url(../images/dm/arrow.png) 0 0/cover no-repeat}
.footer_contactinfo>a,.footer_contactinfo>p{display:flex;gap:2rem;width:fit-content;margin-bottom:2rem!important}
.footer_contactinfo>a::before,.footer_contactinfo>p::before{content:"";flex:none;margin-top:.15rem;background-size:cover!important}
.f-loc::before{width:2.2rem;height:2.4rem;background:url(../images/dm/map.png) no-repeat}
.f-tel::before{width:2.2rem;height:2.2rem;background:url(../images/dm/footer-phone.png) no-repeat}
.f-mail::before{width:2.8rem;height:2rem;background:url(../images/dm/footer-mail.png) no-repeat}
footer a.f-mail{text-transform:none!important}
.footer_bottom_main{margin-top:8rem;padding-bottom:6.5rem;padding-top:4rem;border-top:1px solid rgba(255,255,255,.55);text-align:center}

/* floating bits */
.free-tab{position:fixed;right:0;top:66%;z-index:60;padding:1.6rem 2.2rem 1.4rem 2.6rem;border-radius:50px 0 0 50px;background:var(--grad);color:#fff;font-family:var(--bold);font-size:2rem;text-transform:uppercase;text-decoration:none;box-shadow:0 0 18px rgba(230,53,155,.7)}
.g-badge{position:fixed;left:3rem;bottom:3rem;z-index:60;display:flex;align-items:center;gap:1.2rem;padding:1.2rem 2rem;background:#fff;border-top:.5rem solid #34a853;box-shadow:0 0 10px rgba(0,0,0,.3);font-size:1.8rem;line-height:1.3;color:#222}
.g-badge{display: none !important;}
.g-badge b{color:#f57c00;font-size:2.4rem}
.g-badge small{display:block;font-size:1.5rem;color:#666}
.sticky{display:none}

/* reveal */
.rv{opacity:0;transform:translateY(3rem);transition:opacity .7s,transform .7s}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.track,.hero-bar{animation:none}.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.header.fixed{animation:none}}

.hero-content-wrapper>*,.contact-wrapper>*,.growth-wrapper>*,.value-content>*,.footer-items>*{min-width:0}
.form-content input,.form-content select{min-width:0}
/* ---------- tablet 769–1025 (live bumps copy to 2.5rem) ---------- */
@media (max-width:1025px){
  body{font-size:2.5rem}
  .value-marketing .content p,.contact-text p,.section-title p{font-size:2.5rem}
  .value-left{padding-right:3rem}
  .service-copy,.steps{grid-template-columns:repeat(2,1fr)}
  .footer-items{grid-template-columns:56% 44%;gap:4rem 0}
  footer .footer-items p,footer .footer-items a{font-size:2.5rem}
}
/* ---------- <=768 (live: root 6.5px) ---------- */
@media (max-width:768px){
  html{font-size:6.5px}
  .head-top-main .row,.head-bg{padding:0 2rem}
  .head-top-main{margin-bottom:2rem}
  .header{padding-bottom:2rem}
  .logo_img img{width:26rem}
  .head-actions{gap:1.4rem}
  .head-actions .head-enquire{min-height:5.6rem;padding:0 2.6rem;font-size:2rem}
  .head-call{display:grid}
  .top-link a{font-size:2rem}
  .top-link li{padding-left:3rem}
  .top-link li:not(:first-child)::before{left:.8rem}
  .hero-banner{min-height:0}
  .hero-bar{opacity:.3}
  .hero-content{position:relative;inset:auto;padding:22rem 0 8rem}
  .hero-content-wrapper{grid-template-columns:minmax(0,1fr);gap:6rem}
  .hero-content h1{font-size:9rem;line-height:1.2;letter-spacing:0}
  .hero-banner .banner-form>div{padding:5rem 4.2rem 2rem;border-radius:2.8rem}
  .value-content{grid-template-columns:1fr;gap:4rem}
  .value-marketing h2{font-size:6.8rem;line-height:7.5rem}
  .value-left{padding-right:0}
  .value-marketing .content{padding:0}
  .section-title{margin-bottom:6rem;padding:0}
  .section-title h2,.contact-content h2{font-size:6.8rem;line-height:7.5rem}
  .services-grid{gap:1.8rem}
  .faq-title h2{font-size:6.2rem}
  .growth-wrapper,.contact-wrapper{grid-template-columns:minmax(0,1fr)}
  .contact-wrapper .banner-form{padding-left:0}
  .contact-section::before{opacity:.5}
  .contact-section .banner-form>div{padding:5rem 4.2rem 2rem;border-radius:2.8rem}
  .form-content h2{font-size:4rem}
  .form-content input:not([type=submit]),.form-content select,.form-content textarea{padding:1.4rem 1.8rem 1.2rem;font-size:2.4rem}
  .form-content .submit{font-size:2.4rem;padding:1.8rem 2rem}
  .footer-items{grid-template-columns:1fr;padding:0}
  footer .footer-items p,footer .footer-items a{font-size:2.2rem}
  .info-text{padding-right:0;padding-top:2rem;padding-bottom:2.6rem}
  .map-box{height:72rem}
  .pin{left:2rem;right:2rem;width:auto;top:2rem}
  .g-badge,.free-tab{display:none}
  .sticky{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;background:var(--ink)}
  .sticky .purposal{width:100%;text-align:center;margin:0;padding:1.8rem 1rem 1.4rem;font-size:2.2rem}
  .sticky .purposal.alt{background:transparent;border:2px solid #fff}
  footer{padding-bottom:9rem}
  .footer_bottom_main{padding-bottom:3rem}
  .step{padding:4rem}
  .rev{width:62rem}
  .logo-item{width:44rem}
}
/* ---------- <=520 ---------- */
@media (max-width:520px){
  .hero-content h1{font-size:7rem;margin-bottom:1.5rem}
  .hero-description{font-size:2.4rem}
  .hero-badge{max-width:15rem;margin-top:1rem}
  .value-marketing{padding:9rem 0}
  .value-marketing h2{font-size:4.8rem;line-height:1.2;margin-bottom:1.5rem}
  .section-title h2,.contact-content h2{font-size:4.8rem;line-height:1.2}
  .faq-title h2{font-size:4.8rem}
  body .purposal{padding:1.6rem 4.4rem 1.3rem;font-size:2rem}
  .services-section{padding:8rem 0 3rem}
  .services-grid,.service-copy,.steps{grid-template-columns:1fr}
  .services-section .container{padding:0 2rem}
  .contact-section{padding:5rem 0}
  .contact-section::before{display:none}
  .contact-content{padding-left:0}
  .contact-section .form-content h2{font-size:3.4rem}
  .faq summary{font-size:2.4rem;padding-right:7rem}
  .footer-logo,footer .footer-items p,.footer_bottom_main,.f_title{text-align:center}
  .footer-logo img{margin:auto}
  .footer_contactinfo>a,.footer_contactinfo>p{width:100%;justify-content:center}
  .footermenu_content li::before{display:none}
  .footermenu_content{text-align:center}
  .rev{width:56rem}
  .pin h3{font-size:3rem}
  .pin p{font-size:2.4rem}
}

/* client cards (live success-stories look, single sliding row) */
.cc{margin:0 2rem;width:46rem;flex:none;border-radius:4.3rem;overflow:hidden;background:#fff;box-shadow:0 0 9px -7px #6a6a6a;text-align:center}
.cc .shot{height:25rem;background:#dbdce0 center/cover no-repeat}
.cc .shot.ph{background:linear-gradient(135deg,#2e1a45,#e6359b)}
.cc .lg{height:19rem;display:grid;place-items:center;padding:2rem 4rem;background:#fff}
.cc .lg.dark{background:var(--ink)}
.cc .lg img{max-height:8rem;max-width:30rem;width:auto;filter:none}
.cc .lg img.nofx{max-height:13rem;border-radius:1.2rem}
.cc .lg .word{color:var(--ink);font-family:var(--bold);font-size:3.2rem;line-height:1.1;text-transform:uppercase}
@media (max-width:768px){.cc{width:56rem}}

/* ---- components in the spirit of impressive.com.au ---- */
.steps-ind{display:flex;gap:1rem;margin:-2rem 0 3rem;font-family:var(--semi);font-size:1.8rem;text-transform:uppercase;color:#cfc3de}
.steps-ind span{flex:1;padding-bottom:1rem;border-bottom:.4rem solid rgba(255,255,255,.3)}
.steps-ind span.on{color:#fff;border-color:var(--pink)}
.fstep[hidden]{display:none}
.back{display:block;margin:2rem auto 0;border:0;background:none;color:#fff;font-family:var(--semi);font-size:2rem;cursor:pointer;text-decoration:underline}
.goals{padding:12rem 0;background:#f6f4f8}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;margin-bottom:5rem}
.tabs button{padding:1.8rem 3.6rem 1.4rem;border:.3rem solid var(--ink);border-radius:50px;background:#fff;color:var(--ink);font-family:var(--bold);font-size:2.2rem;text-transform:uppercase;cursor:pointer;transition:.25s}
.tabs button[aria-selected=true]{background:var(--grad);border-color:transparent;color:#fff}
.tabpanel{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;max-width:130rem;margin:0 auto}
.tabpanel[hidden]{display:none}
.gcard{padding:5rem;background:#fff;border-radius:2.5rem;box-shadow:0 0 10px -6px #000;text-align:left}
.gcard h3{font-size:3.4rem;margin-bottom:1.4rem}
.gcard p{color:var(--grey);font-size:2.25rem;line-height:1.7;margin-bottom:2.4rem}
.gcard a{color:var(--magenta);font-family:var(--bold);font-size:2rem;text-transform:uppercase;text-decoration:none}
.cta-band{padding:10rem 0;background:var(--grad);text-align:center;color:#fff}
.cta-band h2{color:#fff;font-size:7rem;line-height:1.1;margin-bottom:2rem}
.cta-band p{font-size:2.5rem;margin-bottom:4rem}
.cb-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem}
.cb-btns .purposal{margin:0;background:#fff;color:var(--ink)}
.cb-btns .purposal:hover{background:var(--ink);color:#fff}
.cb-btns .purposal.alt{background:transparent;border:.3rem solid #fff;color:#fff}
@media (max-width:768px){.tabpanel{grid-template-columns:minmax(0,1fr)}.cta-band h2{font-size:5rem}.goals{padding:8rem 0}}

/* client cards: linked, soft shadow, smooth motion */
.success-stories .marq{padding:3rem 0 5rem}
.cc{position:relative;border:1px solid rgba(255,255,255,.12);box-shadow:0 2.4rem 5rem -2rem rgba(0,0,0,.65),0 .6rem 1.6rem -.6rem rgba(0,0,0,.35);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s cubic-bezier(.2,.7,.2,1)}
.cc:hover{transform:translateY(-1.4rem);box-shadow:0 3.6rem 7rem -2rem rgba(230,53,155,.55),0 1rem 2.4rem -.6rem rgba(0,0,0,.4)}
.cc .cl{position:absolute;inset:0;z-index:3;border-radius:4.3rem}
.cc .cl:focus-visible{outline:3px solid #ffd166;outline-offset:-3px}
.cc .shot{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.cc:hover .shot{transform:scale(1.06)}
.cc .shot,.cc .lg{position:relative}
.cc{isolation:isolate}
.cc .shot{overflow:hidden}

/* Skip Hire Melbourne preview not available (site blocks bots): intentional placeholder until a photo is supplied */
.cc .shot.ph{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'%3E%3Cpath d='M30 38h140l-16 58H46z' fill='none' stroke='%23fff' stroke-opacity='.85' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M20 38h160' stroke='%23fff' stroke-opacity='.85' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M64 52l6 34M100 52v34M136 52l-6 34' stroke='%23fff' stroke-opacity='.5' stroke-width='4'/%3E%3C/svg%3E") center/38% no-repeat,linear-gradient(135deg,#2e1a45,#e6359b)}

/* ---------- WordPress / Contact Form 7 additions ---------- */
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.79)}
.hero-video~.hero-content{z-index:1}
.fw.bad{border-color:#e5484d}
.form-content .wpcf7,.form-content .wpcf7-form{margin:0;padding:0}
.form-content .wpcf7-form-control-wrap{display:block}
.form-content .wpcf7-not-valid-tip{display:block;margin:0;padding:.6rem 3rem;background:#fff;color:#c0182f;font-size:1.7rem;line-height:1.4;text-align:left}
.form-content .wpcf7-response-output{margin:2rem 0 0;padding:1.2rem 2rem;border:2px solid #fff;color:#fff;font-size:2rem;line-height:1.4}
.form-content .wpcf7-response-output:empty,.form-content .wpcf7-form.init .wpcf7-response-output{display:none}
.form-content .wpcf7-spinner{display:none}
.form-content .wpcf7-form.submitting .submit{opacity:.6;pointer-events:none}
.form-content .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0}
.form-content .wpcf7-form input.hp{position:absolute;left:-9999px;width:1px;height:1px;padding:0}
.dm-so-notice{color:#fff;font-size:2rem}

/* defensive: keep form rows clean even if a plugin injects extra nodes */
.form-content .fw:not(:has(input:not([type=hidden]),select,textarea)){display:none}
.form-content .fw>*:not(.wpcf7-form-control-wrap){display:none}
.form-content .wpcf7-form-control-wrap>*:not(input):not(select):not(textarea):not(.wpcf7-not-valid-tip){display:none}
.form-content .wpcf7-form>p:empty,.form-content .wpcf7-form br{display:none}
