/* ================================================================
   Sydney printer and photocopier lease, page 50772.
   Loads ON TOP of gds-page-46177.css, which is why the page wrapper
   carries both gds-phs and gds-pcl. The shared file supplies the tokens,
   typography, buttons, hero, trust row, problems, feats, compare table,
   map, quotes, faq, final form and sticky bar. This file adds only the
   six components that file does not carry.
   Written 29 Aug 2026. Rollback: delete this file and the enqueue.
   ================================================================ */

/* --- section head, single column variant --- */
.gds-pcl .s-head.solo{display:block;}
.gds-pcl .s-head.solo .display{margin-top:14px;}

/* --- small hero and plan stack details --- */
.gds-pcl .hi-stars{color:#E8A33D;letter-spacing:.06em;}
.gds-pcl .pr-id{display:flex;flex-direction:column;gap:2px;min-width:0;}
.gds-pcl .pr-price .pm{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--ink-3);margin-left:2px;}
.gds-pcl .pop-inline{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:20px;
  background:var(--accent);color:#fff;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;}

/* Hero headline.
   MEASURED 29 Aug 2026: the shared file scopes this to h2.hi-headline.
   This page keeps a single h1 in the hero for a clean document outline,
   so the headline element is a p and the h2 rule never matched. Rendered
   at 20px in Chromium before this rule, 64px after. Values copied from
   the h2 rule rather than reinvented. */
.gds-pcl .hero-image .hero-image-overlay p.hi-headline{font-family:'Manrope',sans-serif;
  font-weight:800;font-size:clamp(34px,5.2vw,64px);line-height:1.02;letter-spacing:-0.025em;
  color:#FFFFFF;margin:0 0 14px;text-shadow:0 1px 2px rgba(0,0,0,.4);text-wrap:balance;max-width:520px;}
.gds-pcl .hero-image .hero-image-overlay p.hi-headline em{font-style:italic;font-weight:500;color:#ffe6c4;}
@media (max-width:720px){
  .gds-pcl .hero-image .hero-image-overlay p.hi-headline{font-size:clamp(28px,8vw,40px);}
}

/* --- renewal trap graphic --- */
.gds-pcl .renew{display:grid;gap:34px;margin-top:38px;}
.gds-pcl .rt-track{display:grid;gap:12px;}
.gds-pcl .rt-label{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.gds-pcl .rt-name{font-weight:700;font-size:17px;color:var(--ink);}
.gds-pcl .rt-note{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.gds-pcl .rt-bar{display:flex;align-items:stretch;border:1px solid var(--rule-strong);
  border-radius:var(--radius);overflow:hidden;min-height:58px;background:#fff;}
.gds-pcl .rt-seg{display:flex;align-items:center;justify-content:center;text-align:center;
  padding:10px 14px;font-size:13px;font-weight:600;line-height:1.35;min-width:0;
  transform-origin:left center;}
.gds-pcl .rt-term{flex:0 0 46%;background:var(--accent);color:#fff;}
.gds-pcl .rt-window{flex:0 0 5%;min-width:14px;
  background:repeating-linear-gradient(45deg,var(--warn),var(--warn) 4px,#fff 4px,#fff 8px);}
.gds-pcl .rt-roll{flex:1;background:#F3DED3;color:#7A2E10;}
.gds-pcl .rt-month{flex:1;background:#DDEDE7;color:#14503F;}
.gds-pcl .rt-axis{display:flex;justify-content:space-between;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.gds-pcl .rt-flag{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:14px;
  line-height:1.6;color:var(--ink-2);max-width:70ch;}
.gds-pcl .rt-flag .dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;margin-top:7px;}
.gds-pcl .rt-flag.bad .dot{background:var(--warn);}
.gds-pcl .rt-flag.good .dot{background:var(--pos);}
.gds-pcl .renew-foot{display:flex;align-items:flex-end;justify-content:space-between;
  gap:28px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--rule);}
.gds-pcl .rt-anim .rt-seg{transform:scaleX(.02);opacity:0;}
.gds-pcl .rt-anim.rt-go .rt-seg{transform:scaleX(1);opacity:1;
  transition:transform .8s cubic-bezier(.16,.84,.44,1),opacity .5s ease;}
.gds-pcl .rt-anim.rt-go .rt-track:nth-child(2) .rt-seg{transition-delay:.18s;}
@media (max-width:720px){
  .gds-pcl .rt-bar{min-height:52px;}
  .gds-pcl .rt-seg{font-size:11.5px;padding:8px 8px;}
  .gds-pcl .renew-foot{flex-direction:column;align-items:stretch;}
  .gds-pcl .renew-foot .btn{width:100%;justify-content:center;}
}

/* --- plan ladder --- */
.gds-pcl .ladder-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
.gds-pcl .rung{position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--rule-strong);border-radius:var(--radius);padding:26px 24px 24px;min-width:0;}
.gds-pcl .rung.featured{border-color:var(--accent);box-shadow:0 10px 34px #1B3A6B1F;}
.gds-pcl .rung .pop{position:absolute;top:-11px;left:24px;padding:3px 10px;border-radius:20px;
  background:var(--accent);color:#fff;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;}
.gds-pcl .rung-dev{height:132px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.gds-pcl .rung-dev img{max-height:132px;width:auto;height:auto;object-fit:contain;}
.gds-pcl .rung-name{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.1;}
.gds-pcl .rung-tier{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:3px;}
.gds-pcl .rung-price{margin-top:16px;font-size:44px;font-weight:800;letter-spacing:-.04em;line-height:1;}
.gds-pcl .rung-price sup{font-size:20px;top:-.6em;font-weight:700;}
.gds-pcl .rung-price span{font-size:15px;font-weight:500;color:var(--ink-3);letter-spacing:0;}
.gds-pcl .rung-gst{font-size:12.5px;color:var(--ink-3);margin-top:2px;}
.gds-pcl .rung-spec{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule);
  font-size:14.5px;color:var(--ink-2);line-height:1.5;}
.gds-pcl .rung-model{margin:12px 0 0;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;letter-spacing:.1em;color:var(--ink-3);line-height:1.7;}
.gds-pcl .rung-cta{margin-top:auto;padding-top:20px;}
.gds-pcl .rung .rung-cta{width:100%;justify-content:center;margin-top:20px;}
.gds-pcl .ladder-fine{margin:0 0 6px;font-size:13.5px;color:var(--ink-3);line-height:1.7;max-width:78ch;}
@media (max-width:960px){.gds-pcl .ladder-row{grid-template-columns:1fr;gap:26px;}
  .gds-pcl .rung-dev{height:110px;}.gds-pcl .rung-dev img{max-height:110px;}}

/* --- mid page call to action band --- */
.gds-pcl .midcta{background:var(--accent);color:#fff;padding:34px 0;}
.gds-pcl .midcta .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.gds-pcl .midcta .m{font-size:20px;font-weight:600;line-height:1.4;max-width:52ch;letter-spacing:-.01em;}
.gds-pcl .midcta .btn-primary{background:#fff;color:var(--accent);border-color:#fff;}
.gds-pcl .midcta .btn-primary:hover{background:var(--bg);border-color:var(--bg);color:var(--accent);}
.gds-pcl .midcta .btn-ghost{border-color:#FFFFFF66;color:#fff;}
.gds-pcl .midcta .btn-ghost:hover{border-color:#fff;background:#FFFFFF1A;color:#fff;}
@media (max-width:820px){.gds-pcl .midcta .wrap{flex-direction:column;align-items:stretch;}
  .gds-pcl .midcta .m{font-size:18px;}
  .gds-pcl .midcta .btn{width:100%;justify-content:center;}}

/* --- prose block --- */
.gds-pcl .prose{max-width:64ch;margin-top:30px;}
.gds-pcl .prose-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:4px;}
.gds-pcl .prose-grid .prose{margin-top:26px;max-width:64ch;}
.gds-pcl .pg-h{font-size:21px;line-height:1.25;font-weight:800;letter-spacing:-.01em;
  color:var(--ink);margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--rule);}
@media (min-width:1000px){
  .gds-pcl .prose-grid{grid-template-columns:1fr 1fr;gap:0 64px;}
  .gds-pcl .prose-grid .prose{max-width:none;margin-top:30px;}}
.gds-pcl .prose p{font-size:17px;line-height:1.85;color:var(--ink-2);margin:0 0 18px;}
.gds-pcl .prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;font-weight:600;}
.gds-pcl .prose a:hover{color:var(--ink);}

/* --- consumer law note under the form --- */
.gds-pcl .acl-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--rule);
  font-size:12px;line-height:1.7;color:var(--ink-3);}

/* --- founder block beside the form --- */
.gds-pcl .founder{display:flex;gap:18px;align-items:flex-start;margin-top:26px;
  padding-top:24px;border-top:1px solid var(--rule);}
.gds-pcl .founder img{flex:0 0 auto;width:104px;height:104px;border-radius:50%;object-fit:cover;}
@media (max-width:600px){.gds-pcl .founder{flex-direction:column;}
  .gds-pcl .founder img{width:84px;height:84px;}}

/* --- map pin pulse --- */
.gds-pcl .map .pulse{animation:pclPulse 3.2s ease-out infinite;}
.gds-pcl .map .pulse2{animation-delay:1.05s;}
.gds-pcl .map .pulse3{animation-delay:2.1s;}
@keyframes pclPulse{0%{r:6;opacity:.55}70%{opacity:0}100%{r:26;opacity:0}}

@media (prefers-reduced-motion:reduce){
  .gds-pcl .rt-anim .rt-seg,.gds-pcl .rt-anim.rt-go .rt-seg{transform:none;opacity:1;transition:none;}
  .gds-pcl .map .pulse{animation:none;opacity:0;}
}

/* --- review attribution, this page nests .who directly in the quote --- */
.gds-pcl .quotes .who{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px;}
.gds-pcl .quotes .who b{display:block;color:var(--ink);font-weight:700;font-size:15px;}
.gds-pcl .quotes .who span{display:block;margin-top:3px;color:var(--ink-3);font-size:12.5px;line-height:1.6;}

/* ================================================================
   Custom graphics and animations, added 29 Aug 2026.
   Four scroll triggered blocks: cost stack, inclusion ring,
   plan matcher and install timeline. Plus three fixes:
   sticky footer call button, included photo, plan device size.
   All motion is disabled under prefers-reduced-motion.
   ================================================================ */

/* --- FIX 1: sticky footer, keep the call button and make it legible.
   MEASURED 29 Aug 2026: the shared file hides .btn-ghost below 1024px,
   so the Call button was not rendering in the bar at all. */
@media (max-width:1024px){
  .gds-pcl .sticky-cta{background:var(--accent) !important;color:#fff !important;
    border-top:1px solid #ffffff26 !important;box-shadow:0 -10px 30px rgba(27,58,107,.28) !important;}
  .gds-pcl .sticky-cta .msg{color:#fff !important;}
  .gds-pcl .sticky-cta .msg .sub{color:#ffffffA8 !important;}
  .gds-pcl .sticky-cta .close{color:#ffffffA8 !important;}
  .gds-pcl .sticky-cta .close:hover{color:#fff !important;}
  .gds-pcl .sticky-cta .btn-primary{background:#C2410C !important;border-color:#C2410C !important;color:#fff !important;}
  .gds-pcl .sticky-cta .btn-ghost{display:inline-flex !important;color:#fff !important;
    border-color:rgba(255,255,255,.55) !important;background:transparent !important;
    padding:10px 16px;font-size:14px;font-weight:600;white-space:nowrap;}
  .gds-pcl .sticky-cta .btn-ghost:hover{background:rgba(255,255,255,.12) !important;border-color:#fff !important;}
  .gds-pcl .sticky-cta .actions{gap:8px;}
  .gds-pcl .sticky-cta .btn-primary{white-space:nowrap;}
}
/* --- sticky bar layout.
   MEASURED 29 Aug 2026 on a 390px viewport: the bar stood about 110px tall,
   the label wrapped to two lines, the buttons were narrow and the theme's
   back to top control and the chat bubble both sat on top of it. It is now
   one compact row with the primary action taking the width it deserves. --- */
@media (max-width:1024px){
  .gds-pcl .sticky-cta{padding:9px 12px !important;
    padding-bottom:calc(9px + env(safe-area-inset-bottom,0px)) !important;}
  .gds-pcl .sticky-cta .inner{display:flex;align-items:center;gap:10px;justify-content:flex-start;}
  .gds-pcl .sticky-cta .msg{flex:0 0 auto;min-width:0;font-size:15px !important;font-weight:800;
    line-height:1.1;white-space:nowrap;letter-spacing:-.01em;}
  .gds-pcl .sticky-cta .msg .mo{font-size:12px;font-weight:500;color:#ffffffB0;margin-left:1px;}
  /* Grid rather than flex. A stray width rule elsewhere was stretching the
     Call button to the full bar and pushing the primary action off screen. */
  .gds-pcl .sticky-cta .actions{flex:1 1 auto;min-width:0;display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;width:auto;}
  .gds-pcl .sticky-cta .btn-primary{width:auto !important;min-width:0;min-height:46px;
    padding:11px 10px;font-size:15px;font-weight:700;justify-content:center;white-space:nowrap;}
  .gds-pcl .sticky-cta .btn-ghost{width:auto !important;min-width:0;min-height:46px;
    padding:11px 16px;font-size:14px;white-space:nowrap;justify-content:center;}
  .gds-pcl .sticky-cta .close{flex:0 0 auto;width:30px;height:30px;padding:0;font-size:17px;
    display:flex;align-items:center;justify-content:center;opacity:.7;}
  /* keep the theme controls clear of the bar */
  #toTop,.to-top-container{bottom:82px !important;}
  #pec-chatbot-wrapper,.pec-chatbot-fixed,#pec-chat-button{bottom:82px !important;}
}
@media (max-width:400px){
  .gds-pcl .sticky-cta .msg{font-size:14px !important;}
  .gds-pcl .sticky-cta .btn-primary{font-size:14px;padding:11px 8px;}
  .gds-pcl .sticky-cta .btn-ghost{padding:11px 13px;font-size:13px;}
}
@media (max-width:340px){
  .gds-pcl .sticky-cta .msg{display:none;}
}

/* ================================================================
   Sticky bar, final layout. Written last on purpose so it wins.
   Two large actions and nothing else. No price label and no micro
   copy, because at 12px on a phone none of it was readable and it
   was squeezing the buttons that actually earn the lead.
   ================================================================ */
@media (max-width:1024px){
  .gds-pcl .sticky-cta{padding:10px 12px !important;
    padding-bottom:calc(10px + env(safe-area-inset-bottom,0px)) !important;}
  .gds-pcl .sticky-cta .inner{display:grid !important;
    grid-template-columns:minmax(0,1fr) auto 34px !important;gap:10px !important;
    align-items:center !important;max-width:none !important;}
  .gds-pcl .sticky-cta .msg{display:none !important;}
  .gds-pcl .sticky-cta .actions{display:contents !important;}
  .gds-pcl .sticky-cta .btn-primary{width:100% !important;min-width:0 !important;
    min-height:54px !important;font-size:17px !important;font-weight:800 !important;
    letter-spacing:-.01em !important;padding:14px 12px !important;
    justify-content:center !important;white-space:nowrap !important;border-radius:10px !important;}
  .gds-pcl .sticky-cta .btn-ghost{width:auto !important;min-width:106px !important;
    min-height:54px !important;font-size:17px !important;font-weight:700 !important;
    padding:14px 18px !important;justify-content:center !important;
    white-space:nowrap !important;border-radius:10px !important;
    border-width:1.5px !important;}
  .gds-pcl .sticky-cta .close{width:34px !important;height:34px !important;
    font-size:20px !important;opacity:.75 !important;padding:0 !important;}
}
@media (max-width:360px){
  .gds-pcl .sticky-cta .btn-primary{font-size:16px !important;}
  .gds-pcl .sticky-cta .btn-ghost{font-size:16px !important;min-width:92px !important;padding:14px 12px !important;}
}

/* --- hero crop on a phone. Written at the end so it wins outright.
   The photograph is 16:9 and the phone frame is portrait, so a centred
   crop showed window and sky and left the machine out of the picture. --- */
/* An inline stylesheet on this site sets
   body .gds-phs .hero-image > img { object-position: center center !important }
   under 900px, which ties with anything using two classes and wins on order.
   Three classes plus two elements clears it. */
/* --- mobile hero, stacked.
   On a phone the overlay card covered almost the whole frame, so the machine
   in the photograph was never visible. The photo now gets its own 16:9 band
   at full width, with the card sitting under it and lapping over the edge. --- */
@media (max-width:768px){
  body .gds-pcl.gds-phs section.hero-image,
  body .gds-phs.gds-pcl section.hero-image{
    display:block !important;height:auto !important;min-height:0 !important;
    aspect-ratio:auto !important;padding:38px 0 34px !important;
    background-image:linear-gradient(160deg,#16233D 0%,#1B3A6B 58%,#264E86 100%) !important;
    background-color:#1B3A6B !important;}
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img{
    position:relative !important;inset:auto !important;display:block !important;
    width:100% !important;height:auto !important;aspect-ratio:16/9 !important;
    object-fit:cover !important;object-position:60% 55% !important;}
  body .gds-pcl.gds-phs .hero-image-overlay,
  body .gds-phs.gds-pcl .hero-image-overlay{
    position:relative !important;inset:auto !important;height:auto !important;
    padding:0 14px !important;display:block !important;}
  body .gds-pcl.gds-phs .hero-image .hi-card,
  body .gds-phs.gds-pcl .hero-image .hi-card{
    width:100% !important;max-width:none !important;margin:0 !important;
    padding:0 !important;background:transparent !important;backdrop-filter:none !important;
    box-shadow:none !important;border:0 !important;}
}
@media (min-width:769px) and (max-width:900px){
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl .hero-image>img{
    object-fit:cover !important;object-position:68% 58% !important;}
}

/* --- desktop hero, owned here rather than inherited.
   MEASURED 29 Aug 2026 in a real browser at 1895px: the image was rendering
   object-fit fill, position static, 1895 by 1058 inside a 600 tall section
   with overflow hidden, so the bottom 458px of the photograph was cut off
   and the machine went with it. Whatever used to style this hero is no
   longer on the page, so the rules live in this file now and cannot vanish.
   The crop is anchored right of centre because the card sits on the left. --- */
/* The card grows with the hero, so between roughly 769px and 1300px it filled
   almost the whole band and sat straight over the machine. Capped and pinned
   left at every desktop width so the photograph is never covered. */
@media (min-width:769px){
  body .gds-pcl.gds-phs .hero-image-overlay,
  body .gds-phs.gds-pcl .hero-image-overlay{
    display:flex !important;align-items:center !important;justify-content:flex-start !important;}
  body .gds-pcl.gds-phs .hero-image .hi-card,
  body .gds-phs.gds-pcl .hero-image .hi-card{
    width:100% !important;max-width:760px !important;
    margin-right:auto !important;flex:0 1 auto !important;
    background:transparent !important;backdrop-filter:none !important;
    box-shadow:none !important;border:0 !important;padding:0 !important;}
}

@media (min-width:769px){
  /* The photograph is painted as a background on the section as well as being
     present as an img. The img reports complete, opaque and topmost yet still
     renders as a blank band on some loads, so the hero never depends on it. */
  body .gds-pcl.gds-phs section.hero-image,
  body .gds-phs.gds-pcl section.hero-image{position:relative !important;overflow:hidden !important;
    background-image:linear-gradient(135deg,#16233D 0%,#1B3A6B 52%,#264E86 100%) !important;
    background-color:#1B3A6B !important;
    background-size:auto !important;background-position:0 0 !important;
    height:auto !important;min-height:0 !important;padding:64px 0 !important;}
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img{
    position:absolute !important;top:0 !important;left:0 !important;
    width:100% !important;height:100% !important;
    object-fit:cover !important;object-position:62% 46% !important;}
  body .gds-pcl.gds-phs .hero-image-overlay,
  body .gds-phs.gds-pcl .hero-image-overlay{position:relative !important;z-index:2 !important;}
}

/* --- minimum readable type on a phone. Nothing under 11px. --- */
@media (max-width:768px){
  .gds-pcl .eyebrow,.gds-pcl .rung-tier,.gds-pcl .cv-k,.gds-pcl .match-k,
  .gds-pcl .match-tier,.gds-pcl .rt-note,.gds-pcl .rt-axis,.gds-pcl .map-cap,
  .gds-pcl .pop,.gds-pcl .pop-inline,.gds-pcl .plan-stack-tag{font-size:11px !important;}
  .gds-pcl .syl-trust span,.gds-pcl .step-when,.gds-pcl .rung-model{font-size:11px !important;}
  .gds-pcl .ladder-fine,.gds-pcl .match-fine .mf-p,.gds-pcl .cv-lab,
  .gds-pcl .acl-note,.gds-pcl .cmp-fine,.gds-pcl .quotes .who span{font-size:13.5px !important;line-height:1.6;}
  .gds-pcl .h-fine,.gds-pcl .match-gst,.gds-pcl .rung-gst{font-size:13px !important;}
}

/* --- FIX 2: the included photo. No sticky, and the image fills the frame,
   so nothing slides over the copy on the way back up the page. */
.gds-pcl .included .photo{position:static;align-self:start;aspect-ratio:4/5;max-height:720px;
  border-radius:8px;overflow:hidden;background:#EFEBE3;}
.gds-pcl .included .photo img{display:block;width:100%;height:100%;object-fit:cover;}

/* --- FIX 3: plan device images, larger --- */
.gds-pcl .rung-dev{height:196px;margin-bottom:16px;}
.gds-pcl .rung-dev img{max-height:196px;max-width:100%;width:auto;height:auto;object-fit:contain;}
@media (max-width:960px){
  .gds-pcl .rung-dev{height:170px;}
  .gds-pcl .rung-dev img{max-height:170px;}
}

/* --- shared reveal for the graphics --- */
.gds-pcl .gfx{opacity:0;transform:translateY(20px);
  transition:opacity .65s ease,transform .65s cubic-bezier(.16,.84,.44,1);}
.gds-pcl .gfx.in{opacity:1;transform:none;}

/* ================= G1 cost stack ================= */
.gds-pcl .costviz{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:38px;align-items:stretch;}
.gds-pcl .cv{background:#fff;border:1px solid var(--rule-strong);border-radius:var(--radius);
  padding:26px 24px 22px;display:flex;flex-direction:column;min-width:0;}
.gds-pcl .cv.win{border-color:var(--accent);box-shadow:0 12px 36px #1B3A6B1A;}
.gds-pcl .cv-k{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);}
.gds-pcl .cv.win .cv-k{color:var(--accent);}
.gds-pcl .cv-t{font-size:20px;font-weight:800;letter-spacing:-.015em;line-height:1.25;margin:8px 0 20px;}
.gds-pcl .cv-rows{display:grid;gap:10px;margin-bottom:18px;}
.gds-pcl .cv-row{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;}
.gds-pcl .cv-lab{font-size:12.5px;color:var(--ink-2);line-height:1.35;}
.gds-pcl .cv-track{height:16px;border-radius:8px;background:#EFEBE3;overflow:hidden;}
.gds-pcl .cv-fill{height:100%;width:0;border-radius:8px;background:#C2410C;
  transition:width .85s cubic-bezier(.16,.84,.44,1);}
.gds-pcl .cv-row.base .cv-fill{background:#8A8792;}
.gds-pcl .cv.win .cv-fill{background:var(--accent);}
.gds-pcl .costviz.go .cv-fill{width:var(--w,50%);}
.gds-pcl .costviz.go .cv-row:nth-child(2) .cv-fill{transition-delay:.10s;}
.gds-pcl .costviz.go .cv-row:nth-child(3) .cv-fill{transition-delay:.20s;}
.gds-pcl .costviz.go .cv-row:nth-child(4) .cv-fill{transition-delay:.30s;}
.gds-pcl .costviz.go .cv-row:nth-child(5) .cv-fill{transition-delay:.40s;}
.gds-pcl .cv-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--rule);
  font-size:14px;line-height:1.6;color:var(--ink-2);}
.gds-pcl .cv-foot b{display:block;color:var(--ink);font-size:16px;font-weight:800;margin-bottom:4px;}
.gds-pcl .cv-foot .cv-p,.gds-pcl .cv-foot p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2);}
.gds-pcl .cv-ticks{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px;}
.gds-pcl .cv-ticks li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;
  font-size:14px;line-height:1.5;color:var(--ink-2);}
.gds-pcl .cv-ticks .tk{color:var(--accent);font-weight:800;line-height:1.5;}
.gds-pcl .ring-fig{line-height:0;}
.gds-pcl .match-slider{margin:0;}
.gds-pcl .match-cta{margin:0;}
.gds-pcl .match-scale>div{white-space:nowrap;}
.gds-pcl .match-fine{grid-column:1/-1;padding-top:20px;border-top:1px solid #ffffff29;}
.gds-pcl .match-fine .mf-p,.gds-pcl .match-fine p{margin:0;font-size:12.5px;line-height:1.7;color:#ffffff9C;}
.gds-pcl .step-body{min-width:0;display:flex;flex-direction:column;height:100%;}

/* --- section level call to action.
   MEASURED 29 Aug 2026: the longest run of page with no call to action was
   4,468px, from the mid page band through the guide and the eleven questions
   to the form. Two blocks close that to roughly 2,000px. --- */
.gds-pcl .sec-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;margin-top:38px;padding-top:26px;border-top:1px solid var(--rule);}
.gds-pcl .sec-cta .sc-t{font-size:17px;font-weight:600;line-height:1.5;color:var(--ink);
  max-width:52ch;letter-spacing:-.005em;}
.gds-pcl .sec-cta .sc-b{display:flex;gap:12px;flex-wrap:wrap;}
@media (max-width:820px){
  .gds-pcl .sec-cta{flex-direction:column;align-items:stretch;gap:16px;}
  .gds-pcl .sec-cta .sc-t{font-size:16px;}
  .gds-pcl .sec-cta .sc-b{flex-direction:column;}
  .gds-pcl .sec-cta .btn{width:100%;justify-content:center;}
}
.gds-pcl .steps{align-items:stretch;}
.gds-pcl .step-when{margin-top:auto;align-self:flex-start;}
.gds-pcl .step-body p{margin-bottom:12px;}

/* left cost card total block */
.gds-pcl .cv-tot{margin-top:auto;padding-top:4px;}
.gds-pcl .cv-tot-k{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);}
.gds-pcl .cv-big.muted{color:var(--ink-3);margin:6px 0 6px;}
.gds-pcl .cv-big .cb-q{font-size:44px;letter-spacing:-.04em;}
.gds-pcl .cv-big .cb-u{font-size:14px;font-weight:500;color:var(--ink-3);letter-spacing:0;margin-left:8px;}
.gds-pcl .cv-tot-s{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin-bottom:16px;}
.gds-pcl .cv.win .cv-big{margin-top:auto;}

/* matcher colour, forced above the theme heading rules */
#matcher h3{color:#fff !important;}
#matcher .match-plan,#matcher .match-price,#matcher .match-vol{color:#fff !important;}
#matcher .match-s{color:#ffffffC4 !important;}
#matcher .btn-primary{background:#C2410C !important;border-color:#C2410C !important;color:#fff !important;}
#matcher .btn-primary:hover{background:#A8380B !important;border-color:#A8380B !important;}

/* --- trust row above the quote form.
   RENAMED 29 Aug 2026: the first version used .form-trust, which this site
   already owns elsewhere, and one of those rules is display:block !important,
   so the grid never applied and the four figures stacked in one column. --- */
.gds-pcl .syl-trust{display:grid !important;grid-template-columns:repeat(4,1fr);gap:10px;
  margin:0 0 20px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  text-align:center !important;}
.gds-pcl .syl-trust .st-i{text-align:center;min-width:0;}
.gds-pcl .syl-trust b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.1;}
.gds-pcl .syl-trust span{display:block !important;margin-top:5px;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);line-height:1.35;text-align:center !important;}
.gds-pcl .syl-trust p{margin:0;}
@media (max-width:420px){
  .gds-pcl .syl-trust{grid-template-columns:repeat(2,1fr);gap:14px 10px;}
}

/* --- the theme decorates every blockquote with its own quote glyphs, a left
   rule and a tinted panel, which showed up as two stray straight quote marks
   above and below the featured review on a phone. Neutralised here, then the
   page's own curly quotes are put back on the first and last paragraph. --- */
.gds-pcl blockquote{border:0 !important;border-left:0 !important;background:transparent !important;
  padding:0 !important;margin-left:0 !important;quotes:none !important;box-shadow:none !important;}
.gds-pcl blockquote::before,.gds-pcl blockquote::after{content:none !important;display:none !important;}
.gds-pcl blockquote p:empty,.gds-pcl blockquote p:blank{display:none !important;}

/* --- review stars in gold, and no stray closing quote on an empty line --- */
.gds-pcl .quotes .who .st{color:#E8A33D;letter-spacing:.08em;font-size:13px;}
.gds-pcl .quote-big blockquote>p:empty{display:none;}
.gds-pcl .quote-big blockquote>p:empty::after{content:none;}
.gds-pcl .quote-big blockquote>p:last-of-type::after{content:'\201D';color:var(--ink-3);}
.gds-pcl .quote-big blockquote>:last-child::after{content:none;}

/* --- plan device images.
   MEASURED 29 Aug 2026: the frame was 313 wide by 196 tall while the cropped
   assets are square, so object-fit contain rendered the machine at 196px and
   left 117px of dead width either side. The frame is now square and fills the
   card, which takes the machine from 196px to roughly 300px. --- */
.gds-pcl .rung-dev{height:auto !important;aspect-ratio:1/1;max-height:340px;
  width:100%;margin-bottom:18px;padding:0;}
.gds-pcl .rung-dev img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;}
@media (max-width:960px){
  .gds-pcl .rung-dev{aspect-ratio:1/1;max-height:300px;}
  .gds-pcl .rung-dev img{max-height:none;}
}

/* ================= mobile hero and touch targets =================
   MEASURED 29 Aug 2026: on a 390px viewport the hero ran H1, three lede
   paragraphs, a two item list and only then the CTA. The CTA now sits
   directly under the ledes and the four hero stats are hidden, because
   the trust band and the plan stack already carry the same four proofs. */
@media (max-width:768px){
  .gds-pcl .hero-grid>div:first-child{display:flex;flex-direction:column;}
  .gds-pcl .hero-grid>div:first-child .cta-row{order:1;}
  .gds-pcl .hero-grid>div:first-child .lede-list{order:2;}
  .gds-pcl .hero-grid>div:first-child .h-fine{order:3;}
  .gds-pcl .hero-meta{display:none;}
  .gds-pcl .btn{min-height:52px;padding:14px 20px;justify-content:center;}
  .gds-pcl .cta-row .btn{width:100%;}
  .gds-pcl .sticky-cta .btn{min-height:48px;}
  .gds-pcl .faq summary{min-height:52px;}
  .gds-pcl input.match-range{height:8px;}
  .gds-pcl input.match-range::-webkit-slider-thumb{width:32px;height:32px;}
  .gds-pcl input.match-range::-moz-range-thumb{width:32px;height:32px;}
  .gds-pcl .match-slider{padding:8px 0;}
  /* MEASURED 29 Aug 2026: section headings ran to four lines at 390px,
     which pushed the disclosure toggles below the fold. */
  /* MEASURED 29 Aug 2026 on a 390px viewport at 2x: the hero image was
     being served at 390x217 into a 390x498 box, a 2.3x vertical upscale
     before the device pixel ratio, which is why the header photo read as
     missing on an iPhone. The sizes attributes now request a candidate
     large enough for the crop, and the hero carries a solid colour so a
     slow image never shows as a white band. */
  .gds-pcl .hero-image{background:#2A2A30;}
  /* The source is 16:9 and the phone crop is portrait, so a centred crop
     showed window and sky and cut the machine out of frame. The machine
     sits centre right in the photograph, so the crop is anchored there. */
  .gds-pcl .hero-image img{object-position:66% 55% !important;}
  /* The Sydney metro caption collided with the card on a phone and added
     nothing the trust band below does not already say. */
  .gds-pcl .hero-image .cap{display:none;}
  .gds-pcl h2.display{font-size:clamp(26px,7.2vw,32px);line-height:1.14;}
  .gds-pcl .s-head{gap:10px;}
  .gds-pcl .h-aside{font-size:15px;}
}
.gds-pcl .cv.win .cv-foot b{color:var(--accent);}
.gds-pcl .cv-big{font-size:38px;font-weight:800;letter-spacing:-.04em;line-height:1;margin:2px 0 14px;}
.gds-pcl .cv-big sup{font-size:19px;top:-.6em;font-weight:700;}
.gds-pcl .cv-big span{font-size:14px;font-weight:500;color:var(--ink-3);letter-spacing:0;}
@media (max-width:900px){
  .gds-pcl .costviz{grid-template-columns:1fr;gap:20px;}
  .gds-pcl .cv-row{grid-template-columns:104px 1fr;}
}

/* ================= G2 inclusion ring ================= */
.gds-pcl .ringwrap{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;
  margin-top:36px;background:#fff;border:1px solid var(--rule-strong);
  border-radius:var(--radius);padding:32px 30px;}
.gds-pcl .ring{width:260px;height:260px;flex:0 0 auto;}
.gds-pcl .ring circle{fill:none;stroke-linecap:butt;}
.gds-pcl .ring .seg{stroke-width:26;stroke-dasharray:0 999;
  transition:stroke-dasharray 1s cubic-bezier(.16,.84,.44,1);}
.gds-pcl .ringwrap.go .ring .seg{stroke-dasharray:var(--d);}
.gds-pcl .ring .seg:nth-of-type(3){transition-delay:.12s;}
.gds-pcl .ring .seg:nth-of-type(4){transition-delay:.24s;}
.gds-pcl .ring .seg:nth-of-type(5){transition-delay:.36s;}
.gds-pcl .ring .seg:nth-of-type(6){transition-delay:.48s;}
.gds-pcl .ring text{font-family:'Manrope',sans-serif;text-anchor:middle;fill:var(--ink);}
.gds-pcl .ring .rc-n{font-size:34px;font-weight:800;letter-spacing:-.03em;}
.gds-pcl .ring .rc-s{font-size:10.5px;font-weight:600;fill:var(--ink-3);letter-spacing:.1em;}
.gds-pcl .ringkey{display:grid;gap:12px;min-width:0;margin:0;padding:0;}
.gds-pcl .ringkey li{list-style:none;display:grid;grid-template-columns:14px 1fr;gap:12px;
  align-items:start;font-size:15px;color:var(--ink-2);line-height:1.55;}
.gds-pcl .ringkey li i{width:12px;height:12px;border-radius:3px;margin-top:5px;display:block;}
.gds-pcl .ringkey li b{color:var(--ink);font-weight:700;}
.gds-pcl .ringkey li.out{padding-top:14px;border-top:1px dashed var(--rule-strong);margin-top:4px;}
.gds-pcl .ringkey li.out i{background:transparent;border:1px dashed var(--ink-3);}
@media (max-width:820px){
  .gds-pcl .ringwrap{grid-template-columns:1fr;gap:26px;justify-items:center;padding:26px 20px;}
  .gds-pcl .ring{width:220px;height:220px;}
  .gds-pcl .ringkey{width:100%;}
}

/* ================= G3 plan matcher ================= */
.gds-pcl .match{margin-top:36px;background:var(--accent);color:#fff;
  border-radius:var(--radius);padding:34px 32px;display:grid;
  grid-template-columns:1.25fr 1fr;gap:38px;align-items:center;}
.gds-pcl .match-k{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:#ffffffA6;}
.gds-pcl .match h3{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:8px 0 6px;color:#fff;}
.gds-pcl .match p.match-s{font-size:14.5px;line-height:1.6;color:#ffffffC4;margin:0 0 22px;max-width:46ch;}
.gds-pcl .match-vol{font-size:40px;font-weight:800;letter-spacing:-.035em;line-height:1;}
.gds-pcl .match-vol span:last-child{font-size:15px;font-weight:500;color:#ffffffB0;letter-spacing:0;margin-left:8px;}
.gds-pcl input.match-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;
  border-radius:3px;background:#ffffff3D;margin:18px 0 10px;outline:none;}
.gds-pcl input.match-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:26px;height:26px;border-radius:50%;background:#fff;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.28);border:0;}
.gds-pcl input.match-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;
  background:#fff;cursor:pointer;border:0;box-shadow:0 2px 8px rgba(0,0,0,.28);}
.gds-pcl input.match-range:focus-visible{box-shadow:0 0 0 3px #ffffff66;}
.gds-pcl .match-scale{display:flex;justify-content:space-between;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.1em;color:#ffffff8F;}
.gds-pcl .match-out{background:#ffffff14;border:1px solid #ffffff2E;border-radius:var(--radius);padding:24px 22px;}
.gds-pcl .match-plan{font-size:27px;font-weight:800;letter-spacing:-.02em;line-height:1.1;}
.gds-pcl .match-tier{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:#ffffffA6;margin-top:4px;}
.gds-pcl .match-price{font-size:46px;font-weight:800;letter-spacing:-.045em;line-height:1;margin:16px 0 2px;}
.gds-pcl .match-price .match-from{font-style:normal;font-size:15px;font-weight:600;
  color:#ffffffB0;letter-spacing:0;margin-right:8px;vertical-align:middle;}
.gds-pcl .match-price sup{font-size:21px;top:-.62em;font-weight:700;}
.gds-pcl .match-price span:last-child{font-size:15px;font-weight:500;color:#ffffffB0;letter-spacing:0;}
.gds-pcl .match-gst{font-size:12.5px;color:#ffffff9C;}
.gds-pcl .match-note{font-size:13px;line-height:1.6;color:#ffffffC4;margin:14px 0 18px;min-height:63px;}
.gds-pcl .match .btn-primary{background:#fff;color:var(--accent);border-color:#fff;width:100%;justify-content:center;}
.gds-pcl .match .btn-primary:hover{background:#F4F1EA;border-color:#F4F1EA;color:var(--accent);}
.gds-pcl .match-fine{grid-column:1/-1;margin:0;padding-top:20px;border-top:1px solid #ffffff29;
  font-size:12.5px;line-height:1.7;color:#ffffff9C;}
@media (max-width:900px){
  .gds-pcl .match{grid-template-columns:1fr;gap:26px;padding:26px 20px;}
  .gds-pcl .match h3{font-size:22px;}
  .gds-pcl .match-note{min-height:0;}
}

/* ================= G4 install timeline ================= */
.gds-pcl .steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);
  gap:26px;margin-top:44px;}
.gds-pcl .steps::before{content:'';position:absolute;left:22px;right:22px;top:21px;height:2px;
  background:var(--rule-strong);}
.gds-pcl .steps::after{content:'';position:absolute;left:22px;top:21px;height:2px;width:0;
  background:var(--accent);transition:width 1.25s cubic-bezier(.16,.84,.44,1);}
.gds-pcl .steps.go::after{width:calc(100% - 44px);}
.gds-pcl .step{position:relative;min-width:0;}
.gds-pcl .step-dot{position:relative;z-index:2;width:44px;height:44px;border-radius:50%;
  background:var(--bg);border:2px solid var(--rule-strong);display:flex;align-items:center;
  justify-content:center;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;
  font-weight:500;color:var(--ink-3);transition:background .4s ease,border-color .4s ease,color .4s ease;}
.gds-pcl .steps.go .step-dot{background:var(--accent);border-color:var(--accent);color:#fff;}
.gds-pcl .steps.go .step:nth-child(2) .step-dot{transition-delay:.3s;}
.gds-pcl .steps.go .step:nth-child(3) .step-dot{transition-delay:.6s;}
.gds-pcl .steps.go .step:nth-child(4) .step-dot{transition-delay:.9s;}
.gds-pcl .step h3{font-size:17px;font-weight:800;letter-spacing:-.01em;margin:18px 0 6px;line-height:1.3;}
.gds-pcl .step p{font-size:14px;line-height:1.65;color:var(--ink-2);margin:0;}
.gds-pcl .step-when{display:inline-block;margin-top:10px;padding:3px 9px;border-radius:20px;
  background:#1B3A6B14;color:var(--accent);font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
@media (max-width:900px){
  .gds-pcl .steps{grid-template-columns:1fr;gap:24px;}
  .gds-pcl .steps::before{left:21px;right:auto;top:22px;bottom:22px;height:auto;width:2px;}
  .gds-pcl .steps::after{left:21px;top:22px;height:0;width:2px;
    transition:height 1.25s cubic-bezier(.16,.84,.44,1);}
  .gds-pcl .steps.go::after{width:2px;height:calc(100% - 44px);}
  .gds-pcl .step{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;}
  .gds-pcl .step h3{margin:2px 0 6px;}
  .gds-pcl .step-body{grid-column:2;}
}

/* --- reduced motion --- */
@media (prefers-reduced-motion:reduce){
  .gds-pcl .gfx{opacity:1;transform:none;transition:none;}
  .gds-pcl .cv-fill{transition:none;width:var(--w,50%);}
  .gds-pcl .ring .seg{transition:none;stroke-dasharray:var(--d);}
  .gds-pcl .steps::after{transition:none;}
  .gds-pcl .step-dot{transition:none;background:var(--accent);border-color:var(--accent);color:#fff;}
}

/* ================================================================
   HERO, rebuilt 29 Aug 2026 after the fake harbour photograph came off.
   Photograph: attachment 50670, a real Kyocera multifunction printer with
   a technician beside it. Two columns on desktop so the machine is never
   cropped by guesswork, copy on a navy panel at the left and the
   photograph in its own column at the right. Written last in the file so
   it wins on document order over every earlier hero rule.
   ================================================================ */
@media (min-width:769px){
  body .gds-pcl.gds-phs section.hero-image,
  body .gds-phs.gds-pcl section.hero-image{
    display:grid !important;
    grid-template-columns:minmax(0,46fr) minmax(0,54fr) !important;
    align-items:stretch !important;gap:0 !important;
    position:relative !important;overflow:hidden !important;
    height:auto !important;min-height:0 !important;aspect-ratio:auto !important;
    padding:0 !important;
    background-image:linear-gradient(135deg,#16233D 0%,#1B3A6B 58%,#264E86 100%) !important;
    background-color:#16233D !important;background-size:cover !important;
    background-position:center !important;background-repeat:no-repeat !important;}
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img{
    position:relative !important;inset:auto !important;
    grid-column:2 !important;grid-row:1 !important;
    display:block !important;width:100% !important;height:100% !important;
    min-height:530px !important;max-height:none !important;
    object-fit:cover !important;object-position:76% 50% !important;
    z-index:1 !important;margin:0 !important;}
  body .gds-pcl.gds-phs .hero-image-overlay,
  body .gds-phs.gds-pcl .hero-image-overlay{
    grid-column:1 !important;grid-row:1 !important;
    position:relative !important;z-index:2 !important;inset:auto !important;
    height:auto !important;max-width:none !important;width:auto !important;
    display:flex !important;align-items:center !important;justify-content:flex-start !important;
    background:none !important;
    padding:60px clamp(30px,3.2vw,52px) 60px max(28px,calc((100vw - 1240px)/2)) !important;}
  body .gds-pcl.gds-phs .hero-image .hi-card,
  body .gds-phs.gds-pcl .hero-image .hi-card{
    max-width:560px !important;width:100% !important;
    background:transparent !important;backdrop-filter:none !important;
    box-shadow:none !important;border:0 !important;padding:0 !important;margin:0 !important;
    display:flex !important;flex-direction:column !important;align-items:flex-start !important;}
  /* a soft seam so the navy panel meets the photograph without a hard edge */
  body .gds-pcl.gds-phs section.hero-image::after,
  body .gds-phs.gds-pcl section.hero-image::after{
    content:'';position:absolute;top:0;bottom:0;left:46%;width:110px;
    background:linear-gradient(90deg,#1B3A6BE6 0%,#1B3A6B00 100%);
    pointer-events:none;z-index:1;}
  body .gds-pcl.gds-phs .hero-image .hero-image-overlay p.hi-headline,
  body .gds-phs.gds-pcl .hero-image .hero-image-overlay p.hi-headline{
    max-width:none !important;font-size:clamp(32px,3.5vw,52px) !important;}
}
@media (min-width:769px) and (max-width:1023px){
  body .gds-pcl.gds-phs section.hero-image,
  body .gds-phs.gds-pcl section.hero-image{
    grid-template-columns:minmax(0,52fr) minmax(0,48fr) !important;}
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img{min-height:440px !important;object-position:78% 50% !important;}
  body .gds-pcl.gds-phs section.hero-image::after,
  body .gds-phs.gds-pcl section.hero-image::after{left:52%;width:70px;}
}

/* mobile, the photograph gets its own band above the copy so the machine
   is large and clearly visible, then the copy sits on the navy below */
@media (max-width:768px){
  body .gds-pcl.gds-phs section.hero-image,
  body .gds-phs.gds-pcl section.hero-image{
    display:block !important;height:auto !important;min-height:0 !important;
    aspect-ratio:auto !important;padding:0 0 30px !important;
    background-image:linear-gradient(160deg,#16233D 0%,#1B3A6B 70%,#264E86 100%) !important;
    background-color:#16233D !important;}
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img,
  body .gds-pcl.gds-phs .hero-image img,
  body .gds-phs.gds-pcl .hero-image img{
    position:relative !important;inset:auto !important;display:block !important;
    width:100% !important;height:auto !important;aspect-ratio:4/3 !important;
    max-height:none !important;min-height:0 !important;
    object-fit:cover !important;object-position:72% 52% !important;z-index:1 !important;}
  body .gds-pcl.gds-phs section.hero-image::after,
  body .gds-phs.gds-pcl section.hero-image::after{display:none !important;}
  body .gds-pcl.gds-phs .hero-image-overlay,
  body .gds-phs.gds-pcl .hero-image-overlay{
    position:relative !important;inset:auto !important;height:auto !important;
    display:block !important;background:none !important;padding:24px 18px 0 !important;}
  body .gds-pcl.gds-phs .hero-image .hi-card,
  body .gds-phs.gds-pcl .hero-image .hi-card{
    width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;
    background:transparent !important;border:0 !important;box-shadow:none !important;
    backdrop-filter:none !important;}
}

/* shared hero type */
.gds-pcl .hero-image .hi-eyebrow{font-size:13px;line-height:1.6;letter-spacing:.01em;
  color:#FFFFFFCC;margin:0 0 16px;font-weight:500;}
.gds-pcl .hero-image .hi-eyebrow strong{color:#fff;font-weight:700;}
.gds-pcl .hero-image .hi-sub{font-size:clamp(16px,1.25vw,18.5px);line-height:1.62;
  color:#FFFFFFDE;margin:0;max-width:46ch;}
.gds-pcl .hero-image .hi-fine{font-size:13px;line-height:1.6;color:#FFFFFF9E;margin:16px 0 0;max-width:44ch;}
.gds-pcl .hero-image .hi-card .btn-primary{min-height:54px;font-size:17px;}
@media (max-width:768px){
  .gds-pcl .hero-image .hi-eyebrow{font-size:12.5px;margin:0 0 12px;}
  .gds-pcl .hero-image .hi-sub{font-size:16px;}
  .gds-pcl .hero-image .hi-fine{font-size:12.5px;}
  .gds-pcl .hero-image .hi-card .btn-primary{width:100%;justify-content:center;}
}

/* hero corrections after a real browser check at 1895px, 29 Aug 2026:
   wpautop leaves an empty paragraph beside the photograph which became a
   grid item and added a 21px navy strip under the image, and the crop at
   76 per cent clipped the technician's arm at the right edge. */
@media (min-width:769px){
  body .gds-pcl.gds-phs section.hero-image>p:empty,
  body .gds-phs.gds-pcl section.hero-image>p:empty{display:none !important;}
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img{object-position:100% 50% !important;}
  body .gds-pcl.gds-phs section.hero-image::after,
  body .gds-phs.gds-pcl section.hero-image::after{
    width:170px !important;
    background:linear-gradient(90deg,#1B3A6B 0%,#1B3A6BD9 34%,#1B3A6B00 100%) !important;}
}
@media (min-width:769px) and (max-width:1023px){
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img{object-position:100% 50% !important;}
  body .gds-pcl.gds-phs section.hero-image::after,
  body .gds-phs.gds-pcl section.hero-image::after{width:100px !important;}
}
@media (max-width:768px){
  body .gds-pcl.gds-phs section.hero-image>p:empty,
  body .gds-phs.gds-pcl section.hero-image>p:empty{display:none !important;}
}

/* phone crop nudge, measured at 390px in Chromium: at 72 per cent the
   technician's shoulder fell outside the frame. */
@media (max-width:768px){
  body .gds-pcl.gds-phs section.hero-image>img,
  body .gds-phs.gds-pcl section.hero-image>img,
  body .gds-pcl.gds-phs .hero-image img,
  body .gds-phs.gds-pcl .hero-image img{object-position:88% 52% !important;}
}

/* ================= exit rescue bar, content intent modules 28 and 33 =====
   One bar, once per session, above the sticky call to action, never covering
   the page content. Written 29 Aug 2026. ================================ */
.gds-pcl #sylRescue{position:fixed;left:0;right:0;bottom:0;z-index:9998;
  transform:translateY(110%);transition:transform .28s cubic-bezier(.16,.84,.44,1);
  background:#16233D;border-top:3px solid #E8A33D;
  box-shadow:0 -10px 34px rgba(11,20,38,.34);}
.gds-pcl #sylRescue.on{transform:translateY(0);}
.gds-pcl #sylRescue .sr-in{position:relative;max-width:1240px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;
  padding:16px 56px 16px 24px;}
.gds-pcl #sylRescue .sr-msg{margin:0;font-size:15.5px;line-height:1.55;color:#FFFFFFDE;}
.gds-pcl #sylRescue .sr-msg strong{color:#fff;}
.gds-pcl #sylRescue .sr-act{display:flex;gap:10px;align-items:center;}
.gds-pcl #sylRescue .btn{min-height:48px;font-size:15.5px;white-space:nowrap;}
.gds-pcl #sylRescue .sr-call{color:#fff;border-color:#FFFFFF5C;background:transparent;}
.gds-pcl #sylRescue .sr-call:hover{background:#FFFFFF1A;border-color:#FFFFFF8A;color:#fff;}
.gds-pcl #sylRescue .sr-x{position:absolute;top:8px;right:10px;width:36px;height:36px;
  border:0;background:transparent;color:#FFFFFFA6;font-size:24px;line-height:1;
  cursor:pointer;border-radius:8px;}
.gds-pcl #sylRescue .sr-x:hover{background:#FFFFFF1A;color:#fff;}
@media (max-width:900px){
  .gds-pcl #sylRescue .sr-in{grid-template-columns:1fr;gap:12px;padding:16px 50px 16px 16px;}
  .gds-pcl #sylRescue .sr-msg{font-size:14.5px;}
  .gds-pcl #sylRescue .sr-act{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .gds-pcl #sylRescue .btn{width:100%;justify-content:center;font-size:15px;}
}
/* the sticky quote bar sits above it, never behind it */
.gds-pcl #sylRescue.on ~ #sticky-cta,
.gds-pcl #sticky-cta{z-index:9997;}
@media (prefers-reduced-motion:reduce){
  .gds-pcl #sylRescue{transition:none;}
}

/* exit rescue, phone overflow fix. MEASURED at 390px in Chromium: the two
   action buttons carry white-space nowrap, and an auto sized grid column
   cannot shrink below its content, so the whole bar grew past the viewport
   and the close control landed on top of the sentence. */
.gds-pcl #sylRescue,
.gds-pcl #sylRescue *{box-sizing:border-box;}
.gds-pcl #sylRescue{max-width:100vw;overflow:hidden;}
.gds-pcl #sylRescue .sr-msg{overflow-wrap:anywhere;}
@media (max-width:900px){
  .gds-pcl #sylRescue .sr-in{grid-template-columns:minmax(0,1fr) !important;
    padding:16px 48px 16px 16px !important;}
  .gds-pcl #sylRescue .sr-act{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;}
  .gds-pcl #sylRescue .btn{white-space:normal !important;font-size:14.5px !important;
    padding-left:10px !important;padding-right:10px !important;line-height:1.25 !important;
    min-width:0 !important;}
}
@media (max-width:400px){
  .gds-pcl #sylRescue .sr-act{grid-template-columns:minmax(0,1fr) !important;}
}
/* one bar at a time on a phone: the sticky quote bar steps back while the
   rescue is showing, rather than stacking two dark bars on top of each other */
.gds-pcl:has(#sylRescue.on) #sticky-cta{opacity:0 !important;pointer-events:none !important;}


/* ================================================================
   Coverage panel, photocopier lease page only.
   The Sydney page fills the right hand map slot with a bespoke SVG of
   the Sydney basin. This page is national, so the slot carries a linked
   list of the cities that already have their own pages instead. A hand
   drawn Australia outline was rejected on purpose: a map that is slightly
   wrong reads worse than no map at all.
   ================================================================ */
.gds-pcl .pcl-cities{background:#FFFFFF;border:1px solid var(--rule);border-radius:14px;
  padding:32px 30px;display:flex;flex-direction:column;justify-content:center;}
.gds-pcl .pcl-cities-h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:20px;}
.gds-pcl ul.pcl-city-list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;}
.gds-pcl ul.pcl-city-list li{margin:0;padding:14px 0;border-bottom:1px solid var(--rule);}
.gds-pcl ul.pcl-city-list li a{font-family:'Manrope',sans-serif;font-weight:700;font-size:16.5px;
  line-height:1.35;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;
  display:inline-block;min-height:24px;}
.gds-pcl ul.pcl-city-list li a:hover,
.gds-pcl ul.pcl-city-list li a:focus-visible{color:var(--accent);border-bottom-color:var(--accent);}
.gds-pcl .pcl-city-fine{font-size:14px;line-height:1.75;color:var(--ink-2);margin:22px 0 0;}
@media (max-width:820px){
  .gds-pcl .pcl-cities{padding:26px 22px;}
  .gds-pcl ul.pcl-city-list{grid-template-columns:1fr;gap:0;}
}


/* ================================================================
   Mobile legibility and tap target floor, added 29 August 2026.
   MEASURED in Chromium at 390px on the live page:
     p.plan-stack-fine rendered at 10px, under the 11px floor this design
     system sets for phone type everywhere else.
     The sticky bar close control rendered 34px tall, under the 48px
     touch target the site uses on every other control.
   ================================================================ */
@media (max-width:720px){
  .gds-pcl p.plan-stack-fine{font-size:11.5px !important;line-height:1.6 !important;}
}
.gds-pcl .sticky-cta .close{min-width:48px !important;min-height:48px !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;}

/* pr-tier legibility, 29 August 2026. MEASURED at 390px: the plan tier
   labels in the hero plan stack rendered at 10px, under the 11px floor. */
@media (max-width:720px){
  .gds-pcl .plan-row .pr-tier{font-size:11px !important;}
}
.gds-pcl .plan-row .pr-tier{font-size:11px !important;}


/* ================================================================
   Mobile hero, progressive disclosure. 29 August 2026.
   MEASURED on an iPhone at 393x852: the photograph was reduced to a
   295px strip and the navy text card ran to 388px, so the first screen
   was mostly copy. The secondary hero copy now sits inside a details
   element that ships open, so with no JavaScript nothing is hidden, and
   is collapsed on phones by the page script.
   ================================================================ */
.gds-pcl details.pcl-hero-more{margin:0;padding:0;border:0;background:none;}
.gds-pcl details.pcl-hero-more > summary{display:none;}
.gds-pcl details.pcl-hero-more > summary::-webkit-details-marker{display:none;}
.gds-pcl p.hi-fine-lead{margin-top:10px;font-weight:700;color:#FFE6C4;}

@media (max-width:767px){
  /* the photograph gets its share of the first screen back */
  .gds-pcl .hero-image img{min-height:44vh;object-fit:cover;object-position:center 62%;}

  .gds-pcl details.pcl-hero-more > summary{
    display:inline-flex;align-items:center;gap:8px;list-style:none;cursor:pointer;
    margin-top:16px;min-height:44px;padding:10px 0;
    font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;
    text-transform:uppercase;color:#FFE6C4;
    border-bottom:1px solid rgba(255,230,196,.45);align-self:flex-start;}
  .gds-pcl details.pcl-hero-more > summary::after{content:'+';font-size:16px;line-height:1;}
  .gds-pcl details.pcl-hero-more[open] > summary::after{content:'\2212';}
  .gds-pcl details.pcl-hero-more > summary:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px;}
  .gds-pcl details.pcl-hero-more p{margin-top:12px;}
}

/* --- hero photo share on a phone.
   MEASURED at 393x852: the photograph rendered 295px against a 386px
   text card, so the first screen read as a navy panel with a strip of
   picture above it. The inherited rule sets the image height with
   !important inside a max-width:768px block, so this override has to
   match that specificity to land. --- */
@media (max-width:768px){
  body .gds-pcl.gds-phs section.hero-image > img{
    height:auto !important;
    min-height:40vh !important;
    max-height:44vh !important;
    object-fit:cover !important;
    object-position:center 60% !important;}
}

/* ================================================================
   Quote distribution chart, unique to the photocopier lease page.
   Built 29 August 2026 from 204 real quotes in the form 6 table,
   excluding GST. Replaces the cost comparison graphic inherited
   from the Sydney page, which was the same component on two pages.

   COLOUR: one measure across an ordered dimension, so the scale is
   sequential, not categorical. One hue, light to dark as volume
   rises. OKLab lightness 0.705, 0.582, 0.467, 0.353, monotonic with
   near equal steps of 0.123, 0.115 and 0.114. The lightest step sits
   at 2.32:1 against paper, under the 3:1 line, so it carries a darker
   stroke and every column is directly labelled rather than relying on
   colour to be read. Gold is reserved for the median annotation and is
   never a series colour. Orange stays reserved for calls to action.

   MOTION: columns grow on the y axis from the baseline, staggered.
   Deliberately different from the horizontal width wipe used elsewhere
   on the site, so the two graphics do not read as the same object.
   ================================================================ */
.gds-pcl .qd{margin:44px 0 0;padding:30px 28px 26px;background:#FFFFFF;border:1px solid var(--rule);border-radius:16px;display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:30px 40px;align-items:center;}
.gds-pcl .qd-head{grid-column:1 / -1;margin:0;}
.gds-pcl .qd-k{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;}
.gds-pcl .qd-t{display:block;font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(21px,2.4vw,30px);line-height:1.18;letter-spacing:-0.02em;color:var(--ink);}
.gds-pcl .qd-stat{border-left:3px solid var(--accent);padding-left:20px;}
.gds-pcl .qd-big{font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(40px,5vw,58px);line-height:1;color:var(--ink);letter-spacing:-0.03em;}
.gds-pcl .qd-big sup{font-size:.45em;top:-0.65em;position:relative;color:var(--ink-3);}
.gds-pcl .qd-u{font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--ink-3);margin-left:4px;letter-spacing:0;}
.gds-pcl .qd-lab{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:10px;}
.gds-pcl .qd-range{font-size:15px;line-height:1.7;color:var(--ink-2);margin-top:14px;}
.gds-pcl .qd-range b{color:var(--ink);font-weight:800;}
.gds-pcl .qd-plot svg{display:block;width:100%;height:auto;overflow:visible;}
.gds-pcl .qd-base{stroke:#D8D3C6;stroke-width:1;}
.gds-pcl .qd-med{stroke:#E8A33D;stroke-width:1.5;}
.gds-pcl .qd-medlab{font-family:'JetBrains Mono',monospace;font-size:11px;fill:#9A6A16;letter-spacing:.06em;}
.gds-pcl .qd-bar{transform-box:fill-box;transform-origin:50% 100%;}
.gds-pcl .qd-bar.b1{fill:#7BA3D4;stroke:#4C7CBE;stroke-width:1;}
.gds-pcl .qd-bar.b2{fill:#4C7CBE;}
.gds-pcl .qd-bar.b3{fill:#2F5A96;}
.gds-pcl .qd-bar.b4{fill:#1B3A6B;}
.gds-pcl .qd-bar:hover{filter:brightness(1.08);}
.gds-pcl .qd-vals text{font-family:'Manrope',sans-serif;font-weight:800;font-size:17px;fill:var(--ink);}
.gds-pcl .qd-x text{font-family:'Manrope',sans-serif;font-weight:700;font-size:14px;fill:var(--ink-2);}
.gds-pcl .qd-x text.qd-n{font-family:'JetBrains Mono',monospace;font-weight:400;font-size:11px;fill:var(--ink-3);}
.gds-pcl .qd-axis{font-family:'JetBrains Mono',monospace;font-size:11px;fill:var(--ink-3);letter-spacing:.06em;}
.gds-pcl .qd-src{grid-column:1 / -1;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--rule);font-size:13.5px;line-height:1.75;color:var(--ink-3);}
/* reveal: vertical grow from the baseline, staggered */
.gds-pcl .qd .qd-bar{transform:scaleY(0.02);transition:transform .78s cubic-bezier(.17,.92,.28,1);}
.gds-pcl .qd .qd-vals text,.gds-pcl .qd .qd-med,.gds-pcl .qd .qd-medlab{opacity:0;transition:opacity .5s ease .55s;}
.gds-pcl .qd.in .qd-bar{transform:scaleY(1);}
.gds-pcl .qd.in .qd-vals text,.gds-pcl .qd.in .qd-med,.gds-pcl .qd.in .qd-medlab{opacity:1;}
.gds-pcl .qd .qd-bar.b1{transition-delay:0ms;}
.gds-pcl .qd .qd-bar.b2{transition-delay:90ms;}
.gds-pcl .qd .qd-bar.b3{transition-delay:180ms;}
.gds-pcl .qd .qd-bar.b4{transition-delay:270ms;}
@media (prefers-reduced-motion:reduce){
  .gds-pcl .qd .qd-bar{transform:scaleY(1);transition:none;}
  .gds-pcl .qd .qd-vals text,.gds-pcl .qd .qd-med,.gds-pcl .qd .qd-medlab{opacity:1;transition:none;}
}
@media (max-width:820px){
  .gds-pcl .qd{grid-template-columns:1fr;gap:24px;padding:26px 20px 22px;}
  .gds-pcl .qd-stat{border-left:0;border-top:3px solid var(--accent);padding:18px 0 0;}
  .gds-pcl .qd-x text{font-size:15px;}
  .gds-pcl .qd-vals text{font-size:19px;}
  .gds-pcl .qd-x text.qd-n,.gds-pcl .qd-medlab,.gds-pcl .qd-axis{font-size:12px;}
}

/* source note rule: the sitewide paragraph rhythm snippet splits this note
   into one paragraph per sentence, and each was drawing its own top rule.
   Only the first keeps it. */
.gds-pcl .qd .qd-src ~ .qd-src{border-top:0;padding-top:0;margin-top:6px;}
.gds-pcl .qd-stat{align-self:center;}
@media (min-width:821px){
  .gds-pcl .qd{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:30px 56px;}
  .gds-pcl .qd-plot{max-width:760px;}
}

/* ================================================================
   Machine match panel, unique to this page. 29 August 2026.
   Replaces the four step process timeline that was the same
   component as the Sydney page. Built from the same 204 quotes,
   grouped by the device the calculator recommended, so it answers
   the question the chart above raises: which machine do I get.
   Also carries four internal links into the product pages.
   Motion is a left to right settle, different again from both the
   site wide width wipe and the column grow used by the chart.
   ================================================================ */
.gds-pcl .mm{margin:44px 0 0;padding:0;}
.gds-pcl .mm-head{margin:0 0 22px;}
.gds-pcl .mm-k{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;}
.gds-pcl .mm-t{display:block;font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(21px,2.4vw,30px);line-height:1.18;letter-spacing:-0.02em;color:var(--ink);}
.gds-pcl ol.mm-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:14px;overflow:hidden;}
.gds-pcl .mm-row{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,190px);align-items:center;gap:18px;margin:0;padding:22px 24px;background:#FFFFFF;}
.gds-pcl .mm-rank{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-3);letter-spacing:.08em;}
.gds-pcl .mm-body{display:flex;flex-direction:column;gap:5px;min-width:0;}
.gds-pcl a.mm-name{font-family:'Manrope',sans-serif;font-weight:800;font-size:18px;line-height:1.3;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;align-self:flex-start;}
.gds-pcl a.mm-name:hover,.gds-pcl a.mm-name:focus-visible{color:var(--accent);border-bottom-color:var(--accent);}
.gds-pcl .mm-spec{font-size:15px;color:var(--ink-2);line-height:1.55;}
.gds-pcl .mm-fit{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);}
.gds-pcl .mm-cost{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:3px;}
.gds-pcl .mm-amt{font-family:'Manrope',sans-serif;font-weight:800;font-size:30px;line-height:1;color:var(--ink);letter-spacing:-0.02em;}
.gds-pcl .mm-amt sup{font-size:.5em;top:-0.6em;position:relative;color:var(--ink-3);}
.gds-pcl .mm-per{font-size:13px;color:var(--ink-2);}
.gds-pcl .mm-n{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);letter-spacing:.05em;}
.gds-pcl .mm-src{margin:20px 0 0;font-size:13.5px;line-height:1.75;color:var(--ink-3);}
/* reveal: rows settle in from the left, staggered */
.gds-pcl .mm .mm-row{opacity:0;transform:translateX(-14px);transition:opacity .5s ease,transform .6s cubic-bezier(.22,.9,.3,1);}
.gds-pcl .mm.in .mm-row{opacity:1;transform:none;}
.gds-pcl .mm .mm-row.r1{transition-delay:0ms;}
.gds-pcl .mm .mm-row.r2{transition-delay:80ms;}
.gds-pcl .mm .mm-row.r3{transition-delay:160ms;}
.gds-pcl .mm .mm-row.r4{transition-delay:240ms;}
@media (prefers-reduced-motion:reduce){
  .gds-pcl .mm .mm-row{opacity:1;transform:none;transition:none;}
}
@media (max-width:720px){
  .gds-pcl .mm-row{grid-template-columns:38px minmax(0,1fr);gap:6px 14px;padding:20px 18px;}
  .gds-pcl .mm-cost{grid-column:2;align-items:flex-start;text-align:left;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);width:100%;}
  .gds-pcl .mm-amt{font-size:27px;}
  .gds-pcl .mm-n{font-size:11px;}
}

/* ================================================================
   Mobile CRO audit fixes, 29 August 2026. Every item measured at
   393x852 by the mobile-cro-architect skill.
   ================================================================ */
/* 1. #toTop overlapped the sticky bar by 7px and sat in the right
      thumb arc as a blank grey square. Off on phones. */
@media (max-width:1024px){
  body #toTop,body .to-top-container{display:none !important;}
}
/* 2. The sticky bar dismiss control destroyed the only persistent
      CTA on a 36 screen page, and sat 8px from the Call button.
      Removed rather than restyled: there is nothing to dismiss to. */
.gds-pcl .sticky-cta .close{display:none !important;}
/* 3. Trust block belongs above the submit, privacy note below it.
      Measured order was field, privacy, submit, trust. */
.gds-pcl .quote-form form.wpcf7-form{display:flex;flex-direction:column;}
.gds-pcl .quote-form form.wpcf7-form > label{order:1;}
.gds-pcl .quote-form form.wpcf7-form > .gds-assure{order:2;margin-top:18px !important;}
.gds-pcl .quote-form form.wpcf7-form > p:has(input.wpcf7-submit){order:3;}
.gds-pcl .quote-form form.wpcf7-form > .cf7-cf-turnstile,
.gds-pcl .quote-form form.wpcf7-form > .wpcf7-cf-turnstile{order:3;}
.gds-pcl .quote-form form.wpcf7-form > .gds-privacy-note{order:4;margin-top:16px !important;}
.gds-pcl .quote-form form.wpcf7-form > .wpcf7-response-output{order:5;}
/* 4. Field order on phones matched the raw DOM, wedging two selects
      between the name and the contact details. Desktop already had
      the better order behind a min-width:900px gate. */
.gds-pcl .quote-form form.wpcf7-form > label:nth-of-type(1){order:1;}
.gds-pcl .quote-form form.wpcf7-form > label:nth-of-type(4){order:2;}
.gds-pcl .quote-form form.wpcf7-form > label:nth-of-type(5){order:3;}
.gds-pcl .quote-form form.wpcf7-form > label:nth-of-type(3){order:4;}
.gds-pcl .quote-form form.wpcf7-form > label:nth-of-type(2){order:5;}
/* 5. Gold stars measured 1.68:1 on the paper surface. They are the
      most repeated trust signal on the page, so they get a darker
      gold that clears 4.5:1 rather than staying decorative. */
.gds-pcl .hi-stars,.gds-pcl .pst-stars,.gds-pcl .st,.gds-pcl .k-stars,.gds-pcl .proof-stars{color:#8A5A08 !important;}
.gds-pcl .hero-image .hi-stars{color:#E8A33D !important;}
/* 6. Decision support text at 11 to 13px lifted to 14px minimum. */
@media (max-width:768px){
  .gds-pcl .mm-fit,.gds-pcl .mm-n{font-size:12px !important;}
  .gds-pcl .mm-per{font-size:14px !important;}
  .gds-pcl .cmp-label{font-size:14px !important;}
}


/* --- mid guide accelerator and second mid CTA, added 30 Aug 2026 --- */
.gds-pcl .pcl-accel{margin:34px 0 30px;border:1px solid var(--rule);border-radius:14px;background:#FFFFFF;
  box-shadow:0 1px 0 rgba(22,21,26,.04);overflow:hidden;}
.gds-pcl .pcl-accel .ac-in{padding:22px 20px 20px;}
.gds-pcl .ac-k{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;}
.gds-pcl p.ac-t{margin:0 0 16px;font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(18px,2.1vw,22px);
  line-height:1.25;letter-spacing:-0.015em;color:var(--ink);}
.gds-pcl .ac-row{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:14px;}
@media (min-width:640px){.gds-pcl .ac-row{grid-template-columns:1fr 1fr;gap:14px;}}
.gds-pcl label.ac-f{display:block;}
.gds-pcl label.ac-f span{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:6px;}
.gds-pcl label.ac-f select{display:block;width:100%;min-height:48px;font-size:16px;padding:0 38px 0 12px;
  border:1px solid var(--rule);border-radius:9px;background:#fff;color:var(--ink);appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316151A' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;}
.gds-pcl label.ac-f select:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.gds-pcl .ac-go{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;}
.gds-pcl .ac-note{display:block;margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--ink-3);}
.gds-pcl .pcl-accel.ac-miss label.ac-f select:invalid,
.gds-pcl .pcl-accel.ac-miss label.ac-f select[data-empty="1"]{border-color:var(--accent);}
.gds-pcl .ac-err{display:none;margin-top:10px;font-size:13px;font-weight:700;color:#8A2E0B;}
.gds-pcl .pcl-accel.ac-miss .ac-err{display:block;}


/* --- above the fold orientation, added 30 August 2026 ---
   MEASURED at 393x852 in real Chromium: the top third of the first viewport,
   0 to 284px, held only the logo, the 1300 number and the top of the hero
   photograph. Category, audience, trust and value all sat below it, so a
   first time visitor got no answer to what this is, who it is for, or why to
   believe it, until they had scrolled past 450px of picture.
   The strip puts the category and the review rating directly under the header,
   and the photograph is trimmed from 44vh to 30vh so the headline and the
   monthly figure move roughly 120px up the screen. The photograph stays,
   it simply stops owning half the first screen. Phones only. */
.gds-pcl .hi-strip{display:none;}
@media (max-width:768px){
  body .gds-pcl.gds-phs section.hero-image .hi-strip{display:flex !important;
    flex-direction:column;gap:3px;padding:9px 18px 10px;background:#1B3A6B;
    border-bottom:1px solid #FFFFFF1F;}
  .gds-pcl .hi-strip .hs-cat{font-family:'JetBrains Mono',monospace;font-size:10.5px;
    letter-spacing:.13em;text-transform:uppercase;color:#FFFFFFC7;}
  .gds-pcl .hi-strip .hs-rate{font-size:12.5px;font-weight:700;color:#FFFFFF;}
  .gds-pcl .hi-strip .hs-stars{color:#E8A33D;letter-spacing:.04em;}
  body .gds-pcl.gds-phs section.hero-image > img{
    min-height:26vh !important;max-height:30vh !important;
    object-position:center 58% !important;}
  body .gds-pcl.gds-phs .hero-image-overlay{padding:18px 18px 0 !important;}
  .gds-pcl .hero-image .hi-eyebrow{margin:0 0 10px !important;}
}

/* The strip now carries the category and the rating on phones, so the in card
   eyebrow below the photograph would say the same thing twice. Hidden there
   only, and the strip is left in the accessibility tree so nothing is lost to
   a screen reader. Desktop is untouched. */
@media (max-width:768px){
  body .gds-pcl.gds-phs .hero-image .hi-card p.hi-eyebrow{display:none !important;}
}


/* --- page graphics, added 30 August 2026 ---
   MEASURED at 393x852: six sections ran 17,694px with no graphic of any kind,
   and the guide alone was 6,580px and 1,069 words of unbroken text. Each
   graphic below is drawn for this page only, from this page's own facts. */
.gds-pcl .pcl-fig{margin:0;padding:0;}
.gds-pcl .pcl-map-fig{margin:26px 0 6px;}
.gds-pcl .ac-map{display:block;width:100%;height:auto;}
.gds-pcl .ac-l{fill:url(#acmFill);stroke:#1B3A6B;stroke-width:2;stroke-linejoin:round;}
.gds-pcl .ac-b{fill:none;stroke:#F4F1EA;stroke-width:2;stroke-opacity:.55;stroke-linecap:round;}
.gds-pcl .ac-st{fill:#FFFFFF;fill-opacity:.82;font-family:'JetBrains Mono',monospace;
  font-size:19px;letter-spacing:.12em;text-anchor:middle;dominant-baseline:middle;}
.gds-pcl .ac-cap circle{fill:#F4F1EA;stroke:#1B3A6B;stroke-width:2;}
.gds-pcl .ac-cap text{fill:#16151A;font-family:'Manrope',sans-serif;font-weight:700;
  font-size:17px;dominant-baseline:middle;}
.gds-pcl .ac-pulse{fill:#E8A33D;fill-opacity:.30;}
.gds-pcl .ac-bd{fill:#C2410C;stroke:#FFFFFF;stroke-width:2.5;}
.gds-pcl ul.ac-key{list-style:none;margin:14px 0 0;padding:0;display:flex;
  flex-wrap:wrap;gap:8px 20px;}
.gds-pcl ul.ac-key li{display:flex;align-items:center;gap:8px;font-size:13.5px;
  font-weight:700;color:var(--ink-2);margin:0;padding:0;}
.gds-pcl ul.ac-key li::before{display:none !important;content:none !important;}
.gds-pcl ul.ac-key span{width:13px;height:13px;border-radius:50%;flex:0 0 auto;}
.gds-pcl .ac-k-base{background:#C2410C;box-shadow:0 0 0 3px #E8A33D66;}
.gds-pcl .ac-k-cap{background:#F4F1EA;box-shadow:0 0 0 2px #1B3A6B inset,0 0 0 1px #1B3A6B;}
.gds-pcl .pcl-figcap{margin:14px 0 0;font-size:13.5px;line-height:1.6;color:var(--ink-3);}
@media (prefers-reduced-motion:no-preference){
  .gds-pcl .ac-pulse{transform-box:fill-box;transform-origin:center;
    animation:acPulse 2.8s ease-out infinite;}
  @keyframes acPulse{0%{transform:scale(.8);opacity:.55}70%{transform:scale(2.1);opacity:0}100%{opacity:0}}
}

/* paper size figure, guide section */
.gds-pcl .pcl-paper-fig{margin:24px 0;}
.gds-pcl .pf-svg{display:block;width:100%;height:auto;}
.gds-pcl .pf-a3 rect{fill:#1B3A6B;stroke:#16233D;stroke-width:2;}
.gds-pcl .pf-a4 rect{fill:#E8A33D;stroke:#B8791F;stroke-width:2;}
.gds-pcl .pf-tag{fill:#FFFFFF;font-family:'Manrope',sans-serif;font-weight:800;font-size:22px;}
.gds-pcl .pf-tag-d{fill:#16151A;}
.gds-pcl .pf-dim{fill:#FFFFFFB8;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;}
.gds-pcl .pf-dim-d{fill:#16151ACC;}
.gds-pcl .pf-nh{fill:var(--ink);font-family:'Manrope',sans-serif;font-weight:800;font-size:17px;}
.gds-pcl .pf-nb{fill:var(--ink-2);font-family:'Manrope',sans-serif;font-weight:500;font-size:15px;}
.gds-pcl .pf-nk{fill:#C2410C;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.06em;font-weight:700;}

/* end of term timeline, guide section */
.gds-pcl .pcl-term-fig{margin:26px 0;}
.gds-pcl .tl-k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:16px;}
.gds-pcl ol.tl{list-style:none;margin:0;padding:0 0 0 26px;position:relative;}
.gds-pcl ol.tl::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,#1B3A6B 0%,#4C7CBE 100%);border-radius:2px;}
.gds-pcl li.tl-i{position:relative;margin:0 0 22px;padding:0;}
.gds-pcl li.tl-i:last-child{margin-bottom:18px;}
.gds-pcl li.tl-i::before,.gds-pcl li.tl-i::marker{display:none !important;content:none !important;}
.gds-pcl .tl-dot{position:absolute;left:-26px;top:4px;width:14px;height:14px;border-radius:50%;
  background:#1B3A6B;box-shadow:0 0 0 4px var(--paper,#F4F1EA);}
.gds-pcl .tl-any .tl-dot{background:#E8A33D;}
.gds-pcl .tl-end .tl-dot{background:#C2410C;}
.gds-pcl .tl-when{display:block;font-family:'Manrope',sans-serif;font-weight:800;
  font-size:16.5px;line-height:1.3;color:var(--ink);letter-spacing:-0.01em;}
.gds-pcl p.tl-what{margin:6px 0 0;font-size:15px;line-height:1.62;color:var(--ink-2);}
.gds-pcl .tl-fork{display:grid;grid-template-columns:1fr;gap:12px;margin-top:4px;}
@media (min-width:620px){.gds-pcl .tl-fork{grid-template-columns:1fr 1fr;gap:14px;}}
.gds-pcl .tl-out{border:1px solid var(--rule);border-radius:12px;padding:16px 16px 15px;background:#FFFFFF;}
.gds-pcl .tl-o-n{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:#C2410C;margin-bottom:7px;}
.gds-pcl .tl-o-t{display:block;font-family:'Manrope',sans-serif;font-weight:800;font-size:16px;
  line-height:1.3;color:var(--ink);}
.gds-pcl .tl-o-s{display:block;margin-top:5px;font-size:14px;line-height:1.55;color:var(--ink-3);}

/* lease or rental term scale, rental section */
.gds-pcl .pcl-term-scale{margin:26px 0;}
.gds-pcl .ts-svg{display:block;width:100%;height:auto;}
.gds-pcl .ts-band{stroke:#FFFFFF;stroke-width:2;}
.gds-pcl .ts-rent{fill:#E8A33D;}
.gds-pcl .ts-mid{fill:#16151A14;}
.gds-pcl .ts-lease{fill:#1B3A6B;}
.gds-pcl .ts-bl{fill:#FFFFFF;font-family:'Manrope',sans-serif;font-weight:800;font-size:19px;text-anchor:middle;}
.gds-pcl .ts-bl-d{fill:#16151A;}
.gds-pcl .ts-bl-m{fill:var(--ink-3);font-weight:700;font-size:16px;}
.gds-pcl .ts-ax,.gds-pcl .ts-t{stroke:#16151A33;stroke-width:2;}
.gds-pcl .ts-tl{fill:var(--ink-3);font-family:'JetBrains Mono',monospace;font-size:14px;text-anchor:middle;}
.gds-pcl .ts-unit{fill:var(--ink-3);font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.11em;}
.gds-pcl .ts-notes{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;}
@media (min-width:560px){.gds-pcl .ts-notes{grid-template-columns:1fr 1fr;gap:16px;}}
.gds-pcl .ts-n{border-left:4px solid #E8A33D;padding:2px 0 2px 13px;}
.gds-pcl .ts-n-lease{border-left-color:#1B3A6B;}
.gds-pcl .ts-nh{display:block;font-family:'Manrope',sans-serif;font-weight:800;font-size:16px;color:var(--ink);}
.gds-pcl .ts-nb{display:block;margin-top:4px;font-size:14.5px;line-height:1.6;color:var(--ink-2);}

/* verified rating panel, reviews section */
.gds-pcl .pcl-proof{margin:22px 0 26px;}
.gds-pcl .pr-main{background:#1B3A6B;border-radius:16px;padding:24px 20px 22px;}
.gds-pcl .pr-score{display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.gds-pcl .pr-num{font-family:'Manrope',sans-serif;font-weight:800;
  font-size:clamp(52px,13vw,68px);line-height:.92;color:#FFFFFF;letter-spacing:-0.04em;}
.gds-pcl .pr-stars{display:block;width:186px;height:auto;}
.gds-pcl .pr-stars use{fill:#E8A33D;}
.gds-pcl .pr-src{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.11em;
  text-transform:uppercase;color:#FFFFFFC4;}


/* --- comparison table, made scannable 30 August 2026 ---
   MEASURED at 393x852: 1,578px of two near identical grey columns with no
   mark of any kind, so a reader had to read all eighteen cells to work out
   which side was which. Ticks and crosses carry the meaning by shape, not by
   colour alone, and the GDS column now lifts off the page. */
.gds-pcl .compare .cmp-good,.gds-pcl .compare .cmp-bad{
  padding-left:44px !important;background-repeat:no-repeat;
  background-position:14px 1.05em;background-size:20px 20px;}
.gds-pcl .compare .cmp-good{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%231B3A6B'/%3E%3Cpath d='M5.6 10.3l2.9 2.9 5.9-6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-color:#FFFFFF !important;box-shadow:inset 3px 0 0 #1B3A6B;}
.gds-pcl .compare .cmp-bad{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23A8A6B0'/%3E%3Cpath d='M6.6 6.6l6.8 6.8M13.4 6.6l-6.8 6.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-color:#16151A08 !important;color:var(--ink-2);}
.gds-pcl .compare .ch-best{background:#1B3A6B !important;}
.gds-pcl .compare .ch-best .ch-lbl{color:#FFFFFF !important;}
.gds-pcl .compare .ch-best .ch-sub{color:#FFFFFFC4 !important;}
@media (max-width:768px){
  .gds-pcl .compare .cmp-good,.gds-pcl .compare .cmp-bad{
    padding-left:40px !important;background-position:12px 1.0em;background-size:18px 18px;}
}
