/* Liquid Designs funnel: the survey card, the booking calendar, the gate panel,
   the setter tool, and the overrides that repaint the reference GoHighLevel
   shell in Liquid's identity.

   Everything of ours is namespaced under .ld or .set- so it cannot fight the
   GoHighLevel page CSS the shell still carries. The SHELL section at the
   bottom is the exception: it deliberately reaches into the reference page's
   own element classes, and every rule there carries at least the specificity
   of the GoHighLevel rule it replaces, with this file loaded last in the head
   so an equal match still wins. Almost nothing needs !important.

   THE PALETTE IS THE CLIENT'S LOGO, measured off _source/brand/:
     cyan   #3ee8f8   the neon at the L end of the wordmark
     pink   #f867e1   the neon at the D end
     navy   #000015   the ground the logo is drawn on

   Both neons are LIGHT. Cyan sits at about 1.3:1 on white and pink at about
   2.0:1, so NEITHER IS EVER TEXT ON WHITE and neither ever carries white text.
   They are grounds with navy ink (navy on cyan measures about 14.8:1, navy on
   pink about 9.5:1), or non text accents. Navy is the ink, white sits on navy.
   Every pair the built pages actually render is measured against WCAG AA by
   tools/render-check.mjs.

   The layout of the survey card follows the reference funnel measured in a
   browser on 2026-09-19: a white 550px card, a bold centred question, radio
   rows, image tiles over a caption band, bordered inputs, and a 50px footer
   bar with PREV on the left and a "1 of 6" step counter and arrow on the
   right. What changed is the colour, and the phone first sizing. */

.ld{
  --ld-navy:#000015;--ld-navy-2:#141a3d;--ld-cyan:#3ee8f8;--ld-cyan-deep:#19c2d6;
  --ld-pink:#f867e1;--ld-ink:#0b0b18;--ld-mute:#5a5f74;--ld-line:rgba(11,11,24,.18);
  --ld-tint:rgba(62,232,248,.16);--ld-tint-2:rgba(62,232,248,.32);
  --ld-danger:#c62828;--ld-ease:cubic-bezier(.22,1,.36,1);
  font-family:Inter,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ld-ink);
  max-width:550px;width:100%;margin:0 auto 44px;text-align:left;line-height:1.5;
  -webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;
}
.ld *,.ld *::before,.ld *::after{box-sizing:border-box}
.ld [hidden]{display:none !important}
.ld button,.ld input,.ld textarea,.ld label{font:inherit;color:inherit;margin:0}
.ld button{-webkit-appearance:none;appearance:none}
.ld p,.ld h2{margin:0}
.ld img{max-width:100%;height:auto;display:block}
.ld :where(button,input,a):focus-visible{outline:2.5px solid var(--ld-navy);outline-offset:2px}
.ld-q:focus,.ld-q:focus-visible,.ld-stage:focus,.ld-stage:focus-visible,.ld-gate:focus,.ld-gate:focus-visible{outline:none}

.ld-card{background:#fff;border-radius:12px;position:relative;overflow:hidden;
  box-shadow:0 1px 3px rgba(11,11,24,.07),0 14px 38px rgba(11,11,24,.10)}
.ld-bar{height:6px;background:rgba(11,11,24,.10)}
.ld-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--ld-cyan),var(--ld-pink));
  transform-origin:left;transform:scaleX(0);transition:transform .45s var(--ld-ease)}
.ld-body{padding:28px 38px 30px}
/* the card sits clear of each screen edge on a phone */
@media (max-width:640px){.ld{padding-inline:18px;margin-bottom:28px}}
@media (max-width:480px){.ld-body{padding:22px 18px 24px}}

/* one question at a time */
.ld-q{display:none}
.ld-q[data-on="true"]{display:block;animation:ldIn .34s var(--ld-ease) both}
.ld-q[data-on="true"].is-back{animation-name:ldBack}
@keyframes ldIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes ldBack{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.ld-h{font-family:Inter,Roboto,sans-serif;font-size:16px;font-weight:700;line-height:1.45;
  color:var(--ld-ink);text-align:center;margin:0 0 17px;padding:0 2px}
.ld-hint{text-align:center;font-size:14px;color:var(--ld-mute);margin:-9px 0 16px}

/* radio rows */
.ld-opts{display:grid;gap:9px;margin:0 0 16px}
.ld-radio{position:relative}
.ld-radio input{position:absolute;opacity:0;width:0;height:0;margin:0}
.ld-radio label{display:flex;align-items:center;gap:12px;width:100%;cursor:pointer;
  padding:12px 14px;border:1.5px solid var(--ld-line);border-radius:9px;background:#fff;
  min-height:52px;transition:border-color .15s,background .15s;font-weight:400}
.ld-radio label:hover{border-color:rgba(11,11,24,.5)}
.ld-radio input:focus-visible+label{outline:2.5px solid var(--ld-navy);outline-offset:2px}
.ld-radio input:checked+label{border-color:var(--ld-navy);background:var(--ld-tint)}
.ld-radio__dot{width:19px;height:19px;border-radius:50%;border:1.5px solid #6b6b78;flex:0 0 auto;
  position:relative;background:#fff;transition:border-color .15s}
.ld-radio__dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ld-navy);
  transform:scale(0);transition:transform .15s var(--ld-ease)}
.ld-radio input:checked+label .ld-radio__dot{border-color:var(--ld-navy)}
.ld-radio input:checked+label .ld-radio__dot::after{transform:scale(1)}
.ld-radio__t{font-size:15px;line-height:1.45;color:var(--ld-ink)}

/* image tiles */
.ld-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 16px}
@media (min-width:480px){.ld-tiles{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}}
.ld-tile{position:relative;min-width:0}
.ld-tile input{position:absolute;opacity:0;width:0;height:0;margin:0}
.ld-tile label{display:flex;flex-direction:column;height:100%;cursor:pointer;overflow:hidden;
  border:2px solid rgba(11,11,24,.14);border-radius:10px;background:#fff;
  transition:border-color .15s,box-shadow .15s}
.ld-tile label:hover{border-color:rgba(11,11,24,.5)}
.ld-tile input:focus-visible+label{outline:2.5px solid var(--ld-navy);outline-offset:2px}
.ld-tile input:checked+label{border-color:var(--ld-navy);box-shadow:0 0 0 1px var(--ld-navy)}
.ld-tile__img{display:flex;align-items:center;justify-content:center;padding:8px 8px 6px}
.ld-tile__img img{width:78px;height:78px;object-fit:contain}
@media (min-width:480px){.ld-tile__img img{width:88px;height:88px}}
.ld-tile__t{display:flex;align-items:center;justify-content:center;text-align:center;flex:1 1 auto;
  background:var(--ld-navy);color:#fff;font-weight:700;font-size:14.5px;line-height:1.3;padding:10px 8px;min-height:56px;
  transition:background .15s,color .15s}
.ld-tile input:checked+label .ld-tile__t{background:var(--ld-cyan);color:var(--ld-navy)}

/* text fields. 16px on a phone so iOS never zooms the page on focus. */
.ld-fields{margin:0}
.ld-f{margin:0 0 15px;position:relative}
.ld-f input,.ld-f textarea{display:block;width:100%;font-family:Inter,Roboto,sans-serif;font-size:16px;
  font-weight:400;color:var(--ld-ink);background:#fff;border:1.5px solid rgba(11,11,24,.42);border-radius:9px;
  padding:12px 16px;line-height:1.4;min-height:50px;outline:none;-webkit-appearance:none;appearance:none;
  transition:border-color .15s,box-shadow .15s}
.ld-f textarea{min-height:96px;resize:vertical}
.ld-f input::placeholder,.ld-f textarea::placeholder{color:#6d7082;font-weight:400;opacity:1}
.ld-f input:focus,.ld-f textarea:focus{border-color:var(--ld-navy);box-shadow:0 0 0 3px var(--ld-tint-2)}
.ld-f input[aria-invalid="true"]{border-color:var(--ld-danger);box-shadow:0 0 0 3px rgba(198,40,40,.12)}
.ld-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ld-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ld-err{color:var(--ld-danger);font-size:13.5px;font-weight:600;margin:0 0 12px;text-align:center;line-height:1.4}
.ld-err:empty{display:none}

/* footer bar. On a phone the whole bar is the brand cyan with navy on it, the
   way the reference's bar is one solid colour; on a wide screen the bar is
   navy and only the NEXT block is cyan. */
.ld-foot{display:flex;align-items:center;height:52px;background:var(--ld-navy);border-radius:0 0 12px 12px;
  color:#fff;font-family:Inter,Roboto,sans-serif;font-size:14px;font-weight:600;letter-spacing:.02em}
.ld-prev,.ld-next{display:inline-flex;align-items:center;gap:6px;height:52px;padding:0 24px;border:0;
  background:transparent;color:#fff;cursor:pointer;text-transform:uppercase;font:inherit;white-space:nowrap}
.ld-prev{opacity:.92;border-radius:0 0 0 12px}
.ld-prev:hover{opacity:1;background:rgba(255,255,255,.12)}
.ld-foot .ld-next{margin-left:auto;background:var(--ld-cyan);color:var(--ld-navy);border-radius:0 0 12px 0;font-weight:800}
.ld-next:hover{background:var(--ld-cyan-deep)}
.ld-next[disabled]{cursor:progress}
.ld-next__steps{display:none}
.ld-next__arrow,.ld-prev__arrow{display:inline-flex;align-items:center}
.ld-next__arrow svg,.ld-prev__arrow svg{width:17px;height:17px;display:block}
.ld-next.is-busy .ld-next__arrow{display:none}
.ld-next.is-busy .ld-next__spin{display:inline-block !important;border-color:rgba(0,0,21,.3);border-top-color:var(--ld-navy)}
@media (max-width:640px){
  .ld-foot{background:var(--ld-cyan);color:var(--ld-navy);display:grid;grid-template-columns:58px 1fr 58px;
    font-weight:700;font-size:15px;letter-spacing:0}
  .ld-prev{grid-column:1;justify-content:center;padding:0;color:var(--ld-navy);opacity:1}
  .ld-prev:hover{background:rgba(0,0,21,.10)}
  .ld-prev__label,.ld-next__label{display:none}
  .ld-foot .ld-next{grid-column:2 / 4;display:grid;grid-template-columns:1fr 58px;padding:0;margin:0;
    background:transparent;color:var(--ld-navy);border-radius:0 0 12px 0}
  .ld-foot .ld-next:hover{background:rgba(0,0,21,.10)}
  .ld-next__steps{display:block;grid-column:1;text-align:center;text-transform:none;font-weight:800}
  .ld-next__arrow,.ld-next__spin{grid-column:2;justify-self:center}
  .ld-next svg,.ld-prev svg{width:22px;height:22px}
}

/* gate panel: the reference's disqualified card, white and centred */
.ld-gate{text-align:center;padding:14px 4px 6px;animation:ldIn .34s var(--ld-ease) both}
.ld-gate:focus{outline:none}
.ld-gate__h{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--ld-ink)}
.ld-gate__b{font-size:15px;color:#33364a;max-width:42ch;margin:0 auto 18px;font-weight:400}

/* buttons. Cyan is a ground, never ink: every cyan button carries navy text. */
.ld-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;
  border:0;border-radius:10px;background:var(--ld-cyan);color:var(--ld-navy);font-family:Inter,Roboto,sans-serif;font-size:15.5px;
  font-weight:800;cursor:pointer;text-decoration:none;text-transform:none;letter-spacing:0;line-height:1.2;
  transition:background .15s,transform .1s}
.ld-btn:hover{background:var(--ld-cyan-deep);color:var(--ld-navy)}
.ld-btn:active{transform:translateY(1px)}
.ld-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.ld-btn--wide{width:100%}
.ld-btn--ghost{background:#fff;color:var(--ld-navy);box-shadow:inset 0 0 0 1.75px var(--ld-navy)}
.ld-btn--ghost:hover{background:var(--ld-tint);color:var(--ld-navy)}
.ld-btn svg{width:16px;height:16px;flex:0 0 auto}

/* the booking stage, inline in the survey card and standalone on /booking */
.ld-stage{animation:ldIn .36s var(--ld-ease) both}
.ld-stage:focus{outline:none}
.ld-h--bk{margin-bottom:8px;font-size:17.5px}
.ld-bk__who{text-align:center;font-size:14px;color:var(--ld-mute);margin:0 0 12px}
.ld-bk__load{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ld-mute);font-size:14px;padding:14px 0}
.ld-spin{width:16px;height:16px;border:2px solid rgba(11,11,24,.14);border-top-color:var(--ld-navy);border-radius:50%;
  animation:ldSp .7s linear infinite;display:inline-block;flex:0 0 auto}
@keyframes ldSp{to{transform:rotate(360deg)}}
.ld-bk__grid{display:grid;gap:20px}
@media (min-width:700px){.ld-bk__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:28px}}
.ld-cal__head{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.ld-cal__month{font-weight:700;font-size:15px;color:var(--ld-ink)}
.ld-cal__nav{width:44px;height:44px;border-radius:50%;border:0;background:var(--ld-tint);color:var(--ld-navy);
  display:grid;place-items:center;cursor:pointer;padding:0}
.ld-cal__nav:hover{background:var(--ld-tint-2)}
.ld-cal__nav[disabled]{opacity:.35;cursor:default;background:var(--ld-tint)}
.ld-cal__nav svg{width:16px;height:16px;display:block}
.ld-cal__dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;font-weight:700;color:#33364a;margin:0 0 4px}
.ld-cal__days{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
/* seven 44px tap targets have to fit a 360px phone, so on a narrow screen the
   calendar bleeds out past the card's own padding rather than shrinking them */
@media (max-width:430px){.ld-cal{margin-inline:-12px}}
.ld-day{display:grid;place-items:center;height:48px}
.ld-day button{width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:rgba(11,11,24,.45);
  font:inherit;font-size:14.5px;font-weight:500;cursor:default;padding:0;transition:background .12s,color .12s}
.ld-day button.is-open{background:var(--ld-tint);color:var(--ld-navy);font-weight:800;cursor:pointer}
.ld-day button.is-open:hover{background:var(--ld-tint-2)}
.ld-day button.is-sel,.ld-day button.is-open.is-sel{background:var(--ld-navy);color:#fff}
.ld-day button.is-today:not(.is-sel){box-shadow:inset 0 0 0 1.5px rgba(11,11,24,.45)}
.ld-bk__tz{font-size:12.5px;color:var(--ld-mute);margin:10px 0 0;text-align:center;line-height:1.45}
.ld-bk__tz--warn{color:#7a4300;font-weight:700}
.ld-slots__h{font-weight:700;font-size:15px;margin:0 0 10px;text-align:center;color:var(--ld-ink)}
.ld-slots__list{display:grid;gap:8px;max-height:296px;overflow-y:auto;padding:2px;margin:0 0 14px;scrollbar-width:thin}
.ld-slot{height:48px;border:1.5px solid var(--ld-navy);border-radius:9px;background:#fff;color:var(--ld-navy);
  font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .12s,color .12s;padding:0}
.ld-slot:hover{background:var(--ld-tint)}
.ld-slot[aria-selected="true"]{background:var(--ld-navy);color:#fff}
.ld-slots__empty{padding:18px 12px;text-align:center;color:var(--ld-mute);font-size:14px;background:#f5f7f9;border-radius:9px}
.ld-bk__note{font-size:12.5px;color:var(--ld-mute);text-align:center;margin:12px 0 0;line-height:1.5}
.ld-bk__note a{color:var(--ld-navy);font-weight:700;text-decoration:underline}

/* /booking: the standalone card sits where the GoHighLevel calendar card was */
.ld--booking{max-width:760px;margin-bottom:36px}
.ld--booking .ld-card{border:1px solid rgba(11,11,24,.10);box-shadow:0 1px 3px rgba(11,11,24,.06),0 10px 28px rgba(11,11,24,.08)}
.ld--booking .ld-body{padding:28px 32px 30px}
@media (max-width:480px){.ld--booking .ld-body{padding:22px 18px 24px}}

@media (prefers-reduced-motion:reduce){
  .ld-q[data-on="true"],.ld-stage,.ld-gate{animation:none}
  .ld-bar i{transition:none}
  .ld-spin{animation-duration:1.6s}
}

/* ============================================================
   THE SHELL. Overrides on the reference GoHighLevel page's own
   element classes. This file loads last in the head, so an equal
   specificity match wins on source order.
   ============================================================ */

/* the FREE highlight in the headline. The reference colours the word and
   underlines it; neither neon can be ink on white, so the word keeps navy ink
   and takes a cyan highlighter band behind it instead. Navy on cyan measures
   about 14.8:1. */
.ld-free{
  color:#000015;
  background-image:linear-gradient(180deg,transparent 12%,#3ee8f8 12%,#3ee8f8 93%,transparent 93%);
  padding:0 .1em;border-radius:.08em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}

/* the header's right hand block, in place of the reference's Google rating */
.ld-hdrtel{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:#000015;
  background:rgba(62,232,248,.18);border-radius:11px;padding:.5rem .85rem;min-height:48px;min-width:0;
  font-family:Inter,Roboto,"Helvetica Neue",Arial,sans-serif}
.ld-hdrtel:hover{background:rgba(62,232,248,.34)}
.ld-hdrtel__ic{width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#000015;color:#fff;display:grid;place-items:center}
.ld-hdrtel__ic svg{width:17px;height:17px}
.ld-hdrtel__t b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:#000015;white-space:nowrap}
.ld-hdrtel__t small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#4a4e60;font-weight:700;line-height:1.5}
.ld-hdrarea{text-align:center}
.ld-hdrarea p{margin:0;font-family:Inter,Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px;
  font-weight:600;color:#4a4e60;line-height:1.45}

/* header layout, both the phone copy and the wide copy.

   The reference pulls its review link UP under the Google rating image with a
   negative margin (60px on the phone copy, 50px on the wide one). Our block in
   that slot is a single line, so the negative margin would drag it across the
   logo. Reset, with an id in the selector so it outranks the reference's. */
.hl_page-preview--content #sub-heading-ASArCv_GqM,
.hl_page-preview--content #sub-heading-4tR68Wt80c{margin-top:0}
.hl_page-preview--content .col-8EAiVjliyF{width:100%;padding:4px 5px}
.hl_page-preview--content .col-8EAiVjliyF > .horizontal.inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
.hl_page-preview--content .col-dfCa9EcgyH{width:100%;padding:0 5px 4px}
.hl_page-preview--content .section-fXjQAXxfvp{padding:14px 0 0}
.hl_page-preview--content .section-x8Lp_zm5Er{padding:18px 0}
.hl_page-preview--content .image-S0LkS_TQQy{margin:0}
.hl_page-preview--content .image-S0LkS_TQQy .image-container img{width:148px;height:auto;border-radius:9px}
.hl_page-preview--content .image-M8HT6ggG0S .image-container img{width:238px;height:auto;border-radius:11px}
.hl_page-preview--content .image-9dAT6pap8O,.hl_page-preview--content .image-Ev86mLRj6G{margin:0;width:auto;height:auto}
.hl_page-preview--content .col-9nXTsYpAta > .vertical.inner{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}
.hl_page-preview--content .section-x8Lp_zm5Er .c-column{min-width:0}
/* the wide header's two empty spacer columns. With four columns the phone
   block cannot shrink below its own text and overflows the page at 768. Two
   columns put the logo left and the phone right at every width. */
.hl_page-preview--content .col-lH8xLdfVEF,
.hl_page-preview--content .col-lZUHsPfa9P{display:none}
.hl_page-preview--content .image-M8HT6ggG0S .image-container img,
.hl_page-preview--content .image-S0LkS_TQQy .image-container img{max-width:100%}
.hl_page-preview--content .col-9nXTsYpAta .ld-hdrarea{text-align:right}

/* the trust band. Cyan to pink, the logo's own two neons, with navy on it. */
.hl_page-preview--content .row-deAkxB6nyi,
.hl_page-preview--content .section-f9W5-Nm_kN{
  background:linear-gradient(94deg,#3ee8f8 0%,#93aaf0 52%,#f867e1 100%);
}
.hl_page-preview--content .row-deAkxB6nyi{padding:11px 14px;border-radius:0}
.hl_page-preview--content .section-f9W5-Nm_kN{padding:9px 0}
.hl_page-preview--content .row-deAkxB6nyi .text-output *,
.hl_page-preview--content .section-f9W5-Nm_kN .text-output *{color:#000015}
/* the icon glyphs are Font Awesome content on a :first-child:before, set to
   white by the reference. Navy, to sit on the band. The four selectors match
   the reference rule's shape so this needs no !important. */
.hl_page-preview--content .row-deAkxB6nyi .text-output h2:first-child:before,
.hl_page-preview--content .row-deAkxB6nyi .text-output h3:first-child:before,
.hl_page-preview--content .section-f9W5-Nm_kN .text-output h2:first-child:before,
.hl_page-preview--content .section-f9W5-Nm_kN .text-output h3:first-child:before{color:#000015}
/* the reference's first item carried a five pointed star. Liquid has no rating,
   so the star becomes a tick, which claims nothing. */
.hl_page-preview--content .sub-heading-8XOBpaSGgQ.text-output h2:first-child:before,
.hl_page-preview--content .sub-heading-AF2-hqTs8u.text-output h2:first-child:before{content:"\f058"}
.hl_page-preview--content .row-deAkxB6nyi .c-column{padding:2px 5px}
.hl_page-preview--content .section-f9W5-Nm_kN .c-column{padding:4px 5px}

/* the headline */
.hl_page-preview--content .section-5uWSBnBaDM{padding:16px 0 4px}
.hl_page-preview--content .section-mJ9vD8jIsM{padding:26px 0 2px}
.hl_page-preview--content .heading-qSNwUyzE-9 h1,
.hl_page-preview--content .heading-z46x24LzTz h1{color:#0b0b18;line-height:1.22;letter-spacing:-.015em}

/* the survey sits straight under the headline */
.hl_page-preview--content .section-TV43z6NX-v{padding:14px 0 0}

/* footers */
.hl_page-preview--content .section-969wDbwjN_,
.hl_page-preview--content .section-CdQrm52PSq{padding:22px 0}
.hl_page-preview--content .image-M0V49n-yKG .image-container img,
.hl_page-preview--content .image-JS0L3cRyng .image-container img{width:168px;height:auto;border-radius:9px}
.hl_page-preview--content .sub-heading-qf7TVNlBQL h2,
.hl_page-preview--content .sub-heading-_9LnUd3L8V h2{color:#4a4e60;font-weight:600}

/* /booking: the reference's WAIT heading */
.hl_page-preview--content .heading-7GnCDe1R_xj h1,
.hl_page-preview--content .heading-YpyNPQylr58 h1{color:#0b0b18;line-height:1.24;letter-spacing:-.015em}
.hl_page-preview--content .section-dKebsi7jMX{padding:14px 0 2px}
.hl_page-preview--content .section-fZguj8rBQ3{padding:24px 0 2px}

/* ---- the thank you page ---- */
/* the hero's links are the theme's blue on a near black photograph, which
   measures 4.18:1 at 1440. Cyan on navy measures about 14.8:1. */
.hl_page-preview--content .section-UZm87i0x2 a,
.hl_page-preview--content .section-UZm87i0x2 a *{color:#3ee8f8;text-decoration:underline;font-weight:700}
/* the hero photograph is laid over the section at half opacity, so the section
   colour underneath decides whether the white headline is readable. Navy. */
.hl_page-preview--content .section-UZm87i0x2{background-color:#000015;padding:56px 0 52px}
/* the reference's round logo is pulled up 23px and down 43px so it overlaps
   the hero. Ours is a navy plate that would merge into the navy hero and lose
   its top edge to the page, so it sits on the white above it instead. */
.hl_page-preview--content .row-HI4H70hBop{margin-top:0;padding-top:16px;padding-bottom:10px}
.hl_page-preview--content .image--q5N2lFU3I{margin-top:0;margin-bottom:0}
.hl_page-preview--content .image--q5N2lFU3I .image-container img{width:240px;height:auto;border-radius:11px;margin-inline:auto}
/* the two galleries. Every slot is one of the client's own square photographs. */
.hl_page-preview--content .section-5k4FOU2fKN .c-image .image-container img,
.hl_page-preview--content .section-N6LYdPWzQD .c-image .image-container img{
  width:100%;max-width:330px;height:auto;aspect-ratio:1/1;object-fit:cover;
  border-radius:12px;box-shadow:0 6px 22px rgba(11,11,24,.16)}
.hl_page-preview--content .section-5k4FOU2fKN .c-image,
.hl_page-preview--content .section-N6LYdPWzQD .c-image{margin:0}
.hl_page-preview--content .section-5k4FOU2fKN{padding:8px 0 20px}
/* the phone gallery is one column of seven full width photographs in the
   reference, which is most of a 3,400px page. Two up, with the heading and the
   last photograph spanning the row. */
.hl_page-preview--content .col-zuKHF1Rz0q > .inner{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-items:start}
.hl_page-preview--content .col-zuKHF1Rz0q > .inner > .c-heading,
.hl_page-preview--content .col-zuKHF1Rz0q > .inner > .image-09j5fvxxea{grid-column:1 / -1}
.hl_page-preview--content .section-5k4FOU2fKN .c-image .image-container img{max-width:100%}
/* the contact strip takes the same band gradient from the theme variables, so
   its text has to be navy for the same reason the trust band's is */
.hl_page-preview--content .section-2yUo2D2arf{background:linear-gradient(94deg,#3ee8f8 0%,#93aaf0 52%,#f867e1 100%);padding:16px 0}
.hl_page-preview--content .section-2yUo2D2arf .text-output *{color:#000015}
.hl_page-preview--content .section-2yUo2D2arf a{color:#000015;text-decoration:underline;font-weight:700}
.hl_page-preview--content .section-2yUo2D2arf .text-output p:first-child:before{color:#000015}

/* ============================================================
   SETTER TOOL. Staff facing, denser than the funnel on purpose.
   ============================================================ */
.set-body{margin:0;background:#f4f6f8;color:#14161f;font-family:Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
.set-body *,.set-body *::before,.set-body *::after{box-sizing:border-box}
.set-body [hidden]{display:none !important}
.set-body h1,.set-body h2,.set-body h3,.set-body p,.set-body ul,.set-body dl,.set-body dd{margin:0}
.set-body ul{padding:0;list-style:none}
.set-body a{color:inherit}
.set-body button,.set-body input,.set-body textarea{font:inherit;color:inherit}
.set-wrap{width:min(880px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.set-hdr{background:#fff;border-bottom:1px solid #e2e6ec;position:sticky;top:0;z-index:40}
.set-hdr__in{display:flex;align-items:center;gap:1rem;min-height:70px}
.set-hdr__logo{width:150px;height:auto;border-radius:9px;display:block}
.set-hdr__t{margin-left:auto;font-family:Montserrat,Inter,sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#000015;text-align:right}
.set-mono{display:block;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:#4a4e60;margin:0 0 .5rem}
.set__top{padding:1.75rem 0 1.25rem}
.set__top h1{font-family:Montserrat,Inter,sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:800;line-height:1.1;margin:0 0 .4rem;color:#14161f}
.set__top p{font-size:15px;color:#4a4e60}
.set-tabs{display:flex;gap:.25rem;padding:.25rem;margin-bottom:1.25rem;background:#e4e8ee;border-radius:10px}
.set-tab{flex:1 1 0;padding:.7rem .8rem;border:0;border-radius:8px;background:transparent;cursor:pointer;font-weight:700;
  font-size:15px;color:#4a4e60;min-height:46px;transition:background .15s,color .15s}
.set-tab:hover{color:#14161f}
.set-tab[aria-selected="true"]{background:#fff;color:#14161f;box-shadow:0 1px 2px rgba(11,11,24,.10)}
.set-sum{position:sticky;top:70px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .55rem;
  background:#fff;border:1px solid #e2e6ec;border-radius:9px;padding:.65rem .85rem;margin-bottom:1.25rem;font-size:14px;font-weight:700}
.set-sum__b--empty{color:#4a4e60;font-weight:400}
.set-sum__sep{color:#4a4e60;font-weight:400}
.set{border-top:1px solid #e2e6ec;padding-block:1.4rem}
.set--last{border-bottom:1px solid #e2e6ec}
.set__h{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.set__n{width:26px;height:26px;flex:0 0 auto;border-radius:50%;background:#000015;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.set__h h2{font-size:17px;font-weight:700;letter-spacing:-.01em}
.set__b{display:flex;flex-direction:column;gap:.75rem}
.set__b .ld-f{margin:0}
.set__b .ld-f label,.set-newc .ld-f label{display:block;font-weight:700;font-size:14px;margin:0 0 .35rem;color:#14161f}
.set__b .ld-f input,.set__b .ld-f textarea{border-color:#c6ccd6;border-radius:9px;font-size:16px}
.set__b .ld-f input:focus,.set__b .ld-f textarea:focus{border-color:#000015;box-shadow:0 0 0 3px rgba(62,232,248,.32)}
.set__b .ld-err{text-align:left;margin:0}
.set-hint{font-weight:400;color:#4a4e60}
.set__note{font-size:13.5px;color:#4a4e60}
.set__tz{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-left:3px solid #3ee8f8;background:#fff;
  font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#14161f;line-height:1.45}
.set-results{display:grid;gap:.4rem}
.set-res{display:grid;gap:.1rem;text-align:left;width:100%;cursor:pointer;padding:.7rem .85rem;border:1.5px solid #e2e6ec;
  border-radius:9px;background:#fff;transition:border-color .15s,background .15s}
.set-res:hover,.set-res:focus-visible{border-color:#000015;background:rgba(62,232,248,.12)}
.set-res__n{font-weight:700;font-size:15px}
.set-res__m{font-size:13px;color:#4a4e60}
.set-chosen{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:9px;background:rgba(62,232,248,.16);box-shadow:inset 0 0 0 1.75px #000015}
.set-chosen__t{display:grid;gap:.1rem;min-width:0;flex:1 1 auto}
.set-chosen__t strong{font-size:15px}
.set-chosen__t span{font-size:13px;color:#4a4e60}
.set-lnk{background:none;border:0;padding:.4rem 0;cursor:pointer;color:#14161f;font-weight:700;font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.set-lnk:hover{color:#000015}
.set-lnk--block{align-self:flex-start}
.set-newc{display:grid;gap:.75rem;padding:.9rem;background:#fff;border:1px solid #e2e6ec;border-radius:9px}
.set-newc .ld-f{margin:0}
.set-newc .ld-f input{border-color:#c6ccd6;border-radius:9px;font-size:16px}
.set-types{display:grid;gap:.6rem}
@media (min-width:560px){.set-types{grid-template-columns:1fr 1fr}}
.set-type{display:flex;align-items:center;gap:.8rem;cursor:pointer;text-align:left;padding:.9rem 1rem;border:1.5px solid #e2e6ec;
  border-radius:9px;background:#fff;min-height:64px;transition:border-color .15s,background .15s}
.set-type:hover{border-color:#000015}
.set-type[aria-pressed="true"]{border-color:#000015;background:rgba(62,232,248,.16);box-shadow:inset 0 0 0 1px #000015}
.set-type__ic{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:#eef1f5;color:#000015}
.set-type[aria-pressed="true"] .set-type__ic{background:#000015;color:#fff}
.set-type__ic svg{width:20px;height:20px}
.set-type__t{font-weight:700;font-size:15px;line-height:1.25}
.set-type__t small{display:block;font-weight:400;font-size:13px;color:#4a4e60;margin-top:.1rem}
.set-days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}
.set-day{flex:0 0 auto;min-width:78px;padding:.7rem .5rem;border:1.5px solid #e2e6ec;border-radius:9px;background:#fff;cursor:pointer;text-align:center;
  transition:border-color .15s,background .15s}
.set-day:hover{border-color:#000015}
.set-day[aria-pressed="true"]{border-color:#000015;background:rgba(62,232,248,.16);box-shadow:inset 0 0 0 1px #000015}
.set-day .dow{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#4a4e60}
.set-day .dnum{display:block;font-size:20px;font-weight:700;line-height:1.2}
.set-day .dmon{display:block;font-size:12px;color:#4a4e60}
.set-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.5rem}
.set-slot{padding:.8rem .5rem;border:1.5px solid #e2e6ec;border-radius:9px;background:#fff;cursor:pointer;font-weight:700;min-height:48px;
  transition:border-color .15s,background .15s}
.set-slot:hover{border-color:#000015}
.set-slot[aria-pressed="true"]{border-color:#000015;background:#000015;color:#fff}
.set-done{border:1px solid #e2e6ec;border-radius:12px;background:#fff;padding:clamp(1.5rem,5vw,2.25rem);text-align:center;
  display:flex;flex-direction:column;gap:1rem;align-items:center;margin-top:1rem}
.set-done:focus{outline:none}
.set-done__ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(62,232,248,.22);color:#000015}
.set-done__ic svg{width:26px;height:26px}
.set-done h2{font-size:24px;font-weight:800;font-family:Montserrat,Inter,sans-serif}
.set-done__dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem .9rem;text-align:left;width:100%;max-width:24rem}
.set-done__dl dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#4a4e60;padding-top:.15rem;font-weight:700}
.set-done__dl dd{font-weight:600;font-size:15px}
.set-ftr{padding-block:2rem;font-size:13.5px;color:#4a4e60}
.set-ftr__in{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between}

/* client brief */
.cb{display:flex;flex-direction:column;gap:1.1rem}
.cb__hd{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;justify-content:space-between;padding:1rem 1.15rem;background:rgba(62,232,248,.16);border-radius:12px}
.cb__hd h2{font-size:18px;font-weight:800;font-family:Montserrat,Inter,sans-serif}
.cb__hd p{font-size:14px;color:#35394a;margin-top:.15rem}
.cb__tel{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;background:#000015;color:#fff;padding:.65rem .95rem;border-radius:9px;font-weight:700;font-size:15px;white-space:nowrap;min-height:44px}
.cb__tel svg{width:15px;height:15px}
.cb__rules{display:grid;gap:.6rem}
@media (min-width:720px){.cb__rules{grid-template-columns:repeat(3,1fr)}}
.cbr{padding:.8rem .9rem;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.75px rgba(11,11,24,.45)}
.cbr__t{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#000015;margin-bottom:.3rem}
.cbr p{font-size:13.5px;color:#33364a;line-height:1.45}
.cb__grid{display:grid;gap:.85rem}
@media (min-width:820px){.cb__grid{grid-template-columns:1fr 1fr}.cbs--wide{grid-column:1 / -1}}
.cbs{padding:1rem 1.15rem;background:#fff;border:1px solid #e2e6ec;border-radius:12px}
.cbs h3{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#4a4e60;margin-bottom:.7rem}
.cbs__note{font-size:13.5px;color:#4a4e60;line-height:1.5;margin-top:.75rem;padding-top:.7rem;border-top:1px solid #e2e6ec}
.cbs__note b{color:#14161f}
.kvl{display:grid;gap:.5rem}
.kvl li{display:grid;gap:.05rem .9rem;font-size:14px;line-height:1.5}
@media (min-width:480px){.kvl li{grid-template-columns:6.5rem 1fr}}
.kvl b{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#4a4e60;font-weight:800;padding-top:.25rem}
.kvl span{color:#33364a}
.kvl--no b{color:#a51b14}
.tl{display:grid;gap:.42rem}
.tl li{position:relative;padding-left:1.5rem;font-size:14px;color:#33364a;line-height:1.5}
.tl li::before{position:absolute;left:0;top:.05em;width:1rem;text-align:center;font-weight:700;font-size:14px}
.tl .yes::before{content:"\2713";color:#1e6b22}
.tl .no::before{content:"\00d7";color:#a51b14;font-size:17px;line-height:1.15}
