/* GWS — the four domain pages (wealth-structuring, residency-citizenship,
   banking-liquidity, investment-portfolio): a photograph behind the hero
   and the glass qualifier card, the services as numbered cards, the
   expert band, the program cards (residency only) and the closing call
   to action. */

/* ---- Hero ---------------------------------------------------------- */
/* One photograph runs behind the hero and most of the card, then fades
   into the cream. The picture keeps a fixed height (80vw, or 1300px on a
   phone) unless the block grows past it, so it does not rescale each time
   the card changes height between steps. */
.dp-top{--dp-photo:clamp(290px,74vw,460px);position:relative;isolation:isolate;background:var(--cream)}
.dp-top-bg{position:absolute;top:0;left:0;right:0;bottom:clamp(40px,6vw,90px);z-index:-1;overflow:hidden;background:var(--green)}
.dp-top-bg img{position:absolute;top:0;left:0;width:100%;height:max(100%,80vw);object-fit:cover;object-position:50% 45%}
.dp-top-bg::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(12,29,23,.62) 0%,rgba(12,29,23,.3) 55%,rgba(12,29,23,.1) 100%),
    linear-gradient(180deg,rgba(12,29,23,.45) 0%,rgba(12,29,23,.2) 45%,rgba(243,239,229,0) 72%,var(--cream) 100%)}
.dp-top .dp-hero{background:transparent}
.dp-top .dp-hero .lead{color:var(--cream)}
.dp-hero{padding-bottom:calc(clamp(32px,min(6vw,6vh),80px) + 150px)}
.dp-hero .heading{margin:20px 0 0;max-width:17ch;font-size:clamp(34px,min(4.6vw,7.4vh),64px);text-wrap:balance}
.dp-lead{max-width:56ch}

/* ---- The qualifier ---------------------------------------------------
   Lifted 150px into the hero so it reads as the first thing under the
   header, the way a booking widget would. On the domain pages it is
   glass over the photograph (below); on the home page it stays solid. */
.qf-section{display:flow-root;padding:0 0 clamp(56px,8vw,110px)}   /* flow-root: keeps the card's negative margin inside */
.qf{position:relative;z-index:2;max-width:1000px;margin:-150px auto 0;
  padding:clamp(22px,4vw,46px) clamp(18px,4vw,50px) clamp(22px,3.4vw,40px);
  background:#FBF9F4;color:var(--ink);border:1px solid rgba(41,45,43,.10);border-radius:4px;
  box-shadow:0 34px 70px -34px rgba(12,29,23,.55),0 2px 6px -3px rgba(12,29,23,.2)}
.qf-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.qf-kick{margin:0;display:flex;align-items:center;gap:10px}
.qf-kick::before{content:"";width:26px;height:2px;background:var(--signal)}
.ground-cream .qf .micro,.qf .micro{color:var(--warm-grey)}
.qf-count{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-grey);font-variant-numeric:tabular-nums}
.qf-bar{height:2px;background:rgba(41,45,43,.10);margin:0 0 clamp(22px,3vw,34px)}
.qf-bar span{display:block;height:100%;width:0;background:var(--green);transition:width .35s ease}

.qf-step{border:0;margin:0;padding:0;min-width:0}
.qf-step[hidden],.qf-done[hidden]{display:none}
/* until qualify.js has run, show the first question only */
.has-js .qf:not(.is-js) .qf-step ~ .qf-step,.has-js .qf:not(.is-js) .qf-done{display:none}
.qf-q{float:left;width:100%;padding:0;margin:0;
  font-family:var(--f-sans);font-weight:600;font-size:clamp(23px,2.5vw,32px);line-height:1.15;letter-spacing:-.015em;color:var(--ink)}
.qf-q:focus{outline:none}
.qf-q + *{clear:both}
.qf-help{margin:10px 0 22px;font-family:var(--f-serif);font-size:17px;line-height:1.5;color:var(--warm-grey);max-width:60ch}

/* tiles: the input is visually hidden; the label is the target */
.qf-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.qf-tiles--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.qf-tile{position:relative;display:block;cursor:pointer}
.qf-tile input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.qf-tile-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;
  min-height:64px;padding:18px 12px;text-align:center;background:#fff;border:1px solid var(--hairline-on-cream);
  border-radius:3px;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.qf-tile:hover .qf-tile-b{border-color:rgba(41,45,43,.45)}
.qf-tile input:checked + .qf-tile-b{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:rgba(159,199,232,.18)}
.qf-tile input:focus-visible + .qf-tile-b{outline:2px solid #5E8FB8;outline-offset:2px}
.qf-flag{width:48px;height:36px;display:block;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(41,45,43,.12)}
.qf-glyph{width:36px;height:36px;display:grid;place-items:center;color:#5E8FB8}
.qf-glyph svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.qf-l{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;color:var(--ink)}
/* text tiles: a statement, not a label */
.qf-tiles--text .qf-tile-b{align-items:flex-start;justify-content:flex-start;flex-direction:row;gap:12px;text-align:left;padding:16px 16px}
.qf-tiles--text .qf-l{font-size:15.5px;font-weight:500;letter-spacing:0;text-transform:none}
.qf-tiles--text .qf-tile-b::before{content:"";flex:none;width:14px;height:14px;margin-top:3px;border:1.5px solid rgba(41,45,43,.4);border-radius:50%}
.qf-tiles--text[data-kind="multi"] .qf-tile-b::before{border-radius:2px}
.qf-tiles--text .qf-tile input:checked + .qf-tile-b::before{background:var(--green);border-color:var(--green);box-shadow:inset 0 0 0 2px #fff}

.qf-extra{margin-top:18px;max-width:420px}
.qf-extra label{display:block;margin-bottom:8px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-grey)}
.qf select,.qf input[type=text],.qf input[type=email],.qf input[type=tel]{width:100%;font:inherit;font-size:16px;color:var(--ink);
  background:#fff;border:1px solid var(--hairline-on-cream);border-radius:3px;padding:12px 14px;outline:none;
  transition:border-color .15s ease}
.qf select:focus,.qf input:focus{border-color:var(--green)}
.qf input::placeholder{color:#A7A398}

.qf-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.qf-field label{display:block;margin-bottom:8px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-grey)}
.qf-legal{margin:16px 0 0;font-size:13.5px;line-height:1.5;color:var(--warm-grey)}
.qf-legal a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--signal)}
.qf-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.qf-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;min-height:48px}
.qf-back{font:inherit;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-grey);
  background:none;border:0;padding:10px 0;cursor:pointer}
.qf-back::before{content:"\2039";margin-right:8px;font-size:18px;line-height:0}
.qf-back:hover{color:var(--ink)}
.qf-next{margin-left:auto;font:inherit;font-size:15.5px;font-weight:600;letter-spacing:.01em;color:var(--cream);
  background:var(--green);border:1px solid var(--green);border-radius:0;padding:14px 26px;min-height:48px;cursor:pointer;
  transition:background-color .2s ease,opacity .2s ease}
.qf-next::after{content:" \2192"}
.qf-next:hover{background:var(--green-deep)}
.qf-next:disabled{opacity:.35;cursor:default}
.qf-next.is-send{background:var(--signal);border-color:var(--signal);color:var(--green-deep)}
.qf-back[hidden],.qf-next[hidden]{display:none}
.qf-back:focus-visible,.qf-next:focus-visible{outline:2px solid #5E8FB8;outline-offset:3px}

.qf-done .qf-q{float:none}
.qf-done .bkg-frame{margin-top:22px;max-width:none}
.qf-done .bkg-gate{padding:clamp(26px,4vw,44px) clamp(18px,3vw,32px)}
.qf-alt{margin:18px 0 0;font-size:15px;color:var(--ink)}
.qf-alt a{color:var(--ink);font-weight:600;text-underline-offset:3px;text-decoration-color:var(--signal)}
.qf-noscript{margin:0;font-size:15px}

/* the glass: frosted, lit from the top edge, over the photograph */
.dp-top .qf{border-radius:12px;border:1px solid rgba(255,255,255,.55);
  background:linear-gradient(150deg,rgba(252,250,245,.82) 0%,rgba(243,239,229,.7) 100%);
  -webkit-backdrop-filter:blur(26px) saturate(1.5);backdrop-filter:blur(26px) saturate(1.5);
  box-shadow:0 44px 90px -40px rgba(12,29,23,.65),0 2px 8px -4px rgba(12,29,23,.25),
    inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.2)}
.dp-top .qf-bar{background:rgba(41,45,43,.12)}
.dp-top .qf-tile-b{background:rgba(255,255,255,.55);border-color:rgba(41,45,43,.12);border-radius:8px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dp-top .qf-tile:hover .qf-tile-b{background:rgba(255,255,255,.8);border-color:rgba(41,45,43,.3)}
.dp-top .qf-tile input:checked + .qf-tile-b{background:rgba(159,199,232,.34)}
.dp-top .qf select,.dp-top .qf input[type=text],.dp-top .qf input[type=email],.dp-top .qf input[type=tel],.dp-top .qf-note textarea{
  background:rgba(255,255,255,.72);border-color:rgba(41,45,43,.14);border-radius:6px}
.dp-top .qf-next{border-radius:6px}
.dp-top .qf-done .bkg-frame{border-radius:8px;overflow:hidden}

/* ---- Services ---------------------------------------------------- */
.dp-services .heading{margin-top:16px;max-width:22ch}
/* numbered cards: three across for six services, two for four */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);margin-top:clamp(30px,4vw,52px)}
.svc-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
/* five (banking): two wide, then three, so no row is left half empty */
.svc-grid--5{grid-template-columns:repeat(6,minmax(0,1fr))}
.svc-grid--5 > .svc-card{grid-column:span 2}
.svc-grid--5 > .svc-card:nth-child(-n+2){grid-column:span 3}
.svc-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(24px,2.6vw,36px);
  background:#FBF9F4;border:1px solid rgba(41,45,43,.09);border-radius:10px;scroll-margin-top:110px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.svc-card:hover{transform:translateY(-3px);border-color:rgba(94,143,184,.45);box-shadow:0 24px 50px -30px rgba(12,29,23,.35)}
.svc-card:target{border-color:var(--signal);box-shadow:0 0 0 3px rgba(159,199,232,.35)}
.svc-n{display:flex;align-items:center;gap:14px;font-size:12.5px;font-weight:600;letter-spacing:.16em;color:#5E8FB8;font-variant-numeric:tabular-nums}
.svc-n::after{content:"";flex:1;height:1px;background:rgba(41,45,43,.12)}
.svc-card h3{margin:6px 0 0;font-family:var(--f-sans);font-weight:600;font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.svc-card p{margin:0;font-family:var(--f-serif);font-size:16.5px;line-height:1.6;color:#4A4F4C}
/* on green (residency): the same cards as dark glass */
.dp-services.ground-green .svc-card{background:rgba(243,239,229,.045);border-color:var(--hairline-on-green)}
.dp-services.ground-green .svc-card:hover{border-color:rgba(159,199,232,.5);box-shadow:0 24px 50px -30px rgba(0,0,0,.6)}
.dp-services.ground-green .svc-n{color:var(--signal)}
.dp-services.ground-green .svc-n::after{background:var(--hairline-on-green)}
.dp-services.ground-green .svc-card h3{color:var(--cream)}
.dp-services.ground-green .svc-card p{color:var(--sand)}

/* ---- The expert band ----------------------------------------------
   The page's photograph again, a line worth acting on, and the expert
   standing full-figure on the band's lower edge. */
.dp-band{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:clamp(400px,36vw,480px);
  margin-top:clamp(48px,6vw,84px);border-radius:10px;color:#fff;background:var(--green)}
.dp-band-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.dp-band::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(12,29,23,.9) 0%,rgba(12,29,23,.72) 45%,rgba(12,29,23,.25) 100%)}
.dp-band-copy{position:relative;z-index:1;max-width:min(620px,58%);padding:clamp(30px,4vw,60px)}
.dp-band-line{margin:0 0 30px;font-family:var(--f-sans);font-weight:500;font-size:clamp(24px,2.5vw,36px);line-height:1.18;letter-spacing:-.018em;text-wrap:balance}
.dp-band .dp-band-k{margin:0 0 8px;color:var(--signal)}
.dp-band-name{margin:0;font-weight:600;font-size:clamp(19px,1.6vw,22px)}
.dp-band-role{margin:5px 0 20px;font-size:14.5px;line-height:1.45;color:rgba(243,239,229,.78);max-width:46ch}
.dp-band .btn{padding:11px 18px;font-size:14.5px}
.dp-band .btn-cream{border-color:rgba(243,239,229,.7);color:var(--cream)}
.dp-band .btn-cream:hover{background:var(--cream);border-color:var(--cream);color:var(--green)}
.dp-band-person{position:absolute;z-index:1;right:clamp(16px,6vw,90px);bottom:0;width:auto;height:clamp(320px,32vw,440px);
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));pointer-events:none}

/* ---- The program cards (residency-citizenship) --------------------- */
.pt-section{padding-top:0}
.pt-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px}
.pt-head .heading{margin-top:16px}
.pt-head .accent{color:#5E8FB8}
.pt-lead{margin:18px 0 0;font-size:17px;line-height:1.55;color:var(--warm-grey);max-width:62ch}
.pt-tabs{display:inline-flex;border:1px solid var(--hairline-on-cream);border-radius:3px;padding:3px;background:#fff}
.pt-tab{font:inherit;font-size:14.5px;font-weight:600;padding:10px 18px;border:0;border-radius:2px;background:none;color:var(--warm-grey);cursor:pointer}
.pt-tab[aria-selected="true"]{background:var(--green);color:var(--cream)}
.pt-tab:focus-visible{outline:2px solid #5E8FB8;outline-offset:2px}
.pt-wrap{margin-top:clamp(26px,3.5vw,44px)}
.pt-panel[hidden]{display:none}
.pt-ctrl{display:flex;align-items:center;gap:14px}
.pt-arrows{display:flex;gap:8px}
.pt-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(41,45,43,.25);border-radius:6px;background:#fff;
  color:var(--ink);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}
.pt-arrow::before{content:"\2190";font-size:18px;line-height:1}
.pt-arrow--next::before{content:"\2192"}
.pt-arrow:hover:not(:disabled){background:var(--ink);color:var(--cream)}
.pt-arrow:disabled{opacity:.3;cursor:default}
.pt-arrow:focus-visible{outline:2px solid #5E8FB8;outline-offset:2px}

/* one row of picture cards, swiped or stepped with the arrows; the row
   runs on past the right edge of the page, so there is always more to see */
.pc-scroll{margin-right:calc(50% - 50vw)}
.pc-track{padding-right:var(--pad)!important;scroll-padding-left:0}
.pc-track{list-style:none;margin:0;padding:0 0 6px;display:flex;gap:clamp(12px,1.5vw,20px);overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none}
.pc-track::-webkit-scrollbar{display:none}
.pc{flex:0 0 clamp(260px,27vw,340px);scroll-snap-align:start}
.pc-link{position:relative;isolation:isolate;display:block;aspect-ratio:4 / 5;overflow:hidden;border-radius:10px;
  background:#2B3A44;color:#fff;text-decoration:none}
.pc-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.pc-link::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,20,26,.3) 0%,rgba(10,20,26,0) 24%,rgba(10,20,26,.38) 48%,rgba(10,20,26,.9) 100%)}
.pc-link:hover .pc-img{transform:scale(1.05)}
.pc-link:focus-visible{outline:3px solid #5E8FB8;outline-offset:3px}
.pc-pill{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:6px;
  background:#fff;color:#1E2522;font-size:13.5px;font-weight:500;line-height:1;box-shadow:0 4px 14px -6px rgba(0,0,0,.35)}
.pc-pill img{width:20px;height:15px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.pc-badge{position:absolute;top:56px;left:16px;padding:4px 9px;border-radius:4px;background:var(--signal);color:var(--green-deep);
  font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pc-go{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background-color .2s ease}
.pc-go::before{content:"\2192";font-size:17px;line-height:1}
.pc-link:hover .pc-go{background:rgba(255,255,255,.3)}
.pc-body{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:7px;padding:20px 20px 18px}
.pc-prog{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.pc-t{font-family:var(--f-sans);font-weight:500;font-size:clamp(22px,1.9vw,27px);line-height:1.16;letter-spacing:-.012em;
  text-shadow:0 1px 16px rgba(0,0,0,.3)}
.pc-best{font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.85)}
.pc-facts{display:flex;gap:14px;margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.24)}
.pc-facts span{display:flex;flex-direction:column;flex:1 1 0;min-width:0;font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.6)}
.pc-facts span:last-child{flex:1.5 1 0}
.pc-facts b{order:-1;margin-bottom:3px;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:0;text-transform:none;color:#fff}
@media (prefers-reduced-motion:reduce){.pc-img,.svc-card{transition:none}.pc-track{scroll-behavior:auto}}

.pt-note{margin:18px 0 0;font-size:13.5px;line-height:1.55;color:var(--warm-grey);max-width:80ch}
.pt-assess{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:clamp(30px,4vw,48px);
  padding:20px 24px;border-left:2px solid var(--signal);background:rgba(159,199,232,.22)}
.pt-assess p{margin:0;font-size:16px;line-height:1.5;color:var(--ink)}
.pt-assess .btn{background:var(--ink);border-color:var(--ink);color:var(--cream);padding:12px 20px;font-size:14.5px}
.pt-assess .btn:hover{background:var(--green);border-color:var(--green)}

/* ---- Responsive -------------------------------------------------- */
@media (max-width:1024px){
  .qf-tiles--6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-grid--5 > .svc-card,.svc-grid--5 > .svc-card:nth-child(-n+2){grid-column:auto}
  .svc-grid--5 > .svc-card:last-child{grid-column:1 / -1}
}
@media (max-width:820px){
  .dp-hero{padding-bottom:calc(40px + 110px)}
  .qf{margin-top:-110px}
  .qf-fields{grid-template-columns:1fr}
  .svc-card{scroll-margin-top:84px}
  /* phones and tablets: the photograph is a clear banner at the top (the
     bar floats on it), the words follow on green, and the card lifts
     across the seam as before. Behind the text it could only show a
     blurred, over-enlarged slice. */
  .dp-top{background:var(--green)}
  .dp-top-bg{bottom:auto;height:var(--dp-photo);background:none}
  .dp-top-bg img{height:100%}
  .dp-top-bg::after{background:linear-gradient(180deg,rgba(12,29,23,.5) 0%,rgba(12,29,23,0) 28%,rgba(12,29,23,0) 62%,var(--green) 100%)}
  .photo-top .dp-top .dp-hero{padding-top:calc(var(--dp-photo) - 18px)}
  .dp-top .qf-section{background:var(--cream)}
  /* on flat green the glass would turn murky: nearly solid here */
  .dp-top .qf{background:rgba(251,249,244,.97)}
  /* each picture held on its subject */
  .dp-top-bg img[src*="structuring"]{object-position:47% 62%}
  .dp-top-bg img[src*="residency"]{object-position:34% 50%}
  .dp-top-bg img[src*="banking"]{object-position:74% 55%}
  .dp-top-bg img[src*="investment"]{object-position:50% 45%}
  /* the band stacks: the words, then the expert standing under them */
  .dp-band{flex-direction:column;align-items:stretch;min-height:0}
  .dp-band::before{background:linear-gradient(180deg,rgba(12,29,23,.9) 0%,rgba(12,29,23,.7) 55%,rgba(12,29,23,.35) 100%)}
  .dp-band-copy{max-width:none;padding:30px 22px 0}
  .dp-band-person{position:relative;right:auto;align-self:flex-end;height:280px;margin:10px 6px 0 0}
}
@media (max-width:640px){
  .qf-tiles,.qf-tiles--6{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .qf-tiles--text{grid-template-columns:1fr}
  .qf-tile-b{padding:14px 10px;gap:10px}
  .qf-flag{width:40px;height:30px}
  .qf-help{margin-bottom:18px;font-size:16px}
  .qf-nav{position:sticky;bottom:0;margin:22px -18px -22px;padding:12px 18px;background:#FBF9F4;border-top:1px solid var(--hairline-on-cream)}
  .svc-grid,.svc-grid--4,.svc-grid--5{grid-template-columns:1fr}
  .svc-grid--5 > .svc-card,.svc-grid--5 > .svc-card:nth-child(-n+2){grid-column:auto}
  .pt-ctrl{width:100%}
  .pt-tabs{flex:1}
  .pt-tab{flex:1}
  .pt-arrows{display:none}
  .pc{flex-basis:78vw}
  .qf-nav{background:rgba(251,249,244,.92)}
}
@media (prefers-reduced-motion:reduce){.qf-bar span{transition:none}}

.dp-services.ground-green + .dp-closing{border-top:1px solid var(--hairline-on-green)}
/* the card starts 150px (phones 110px) above its section, and the bar
   floats over the top: land with the whole card in view */
.photo-top #qualify{scroll-margin-top:calc(110px + 150px)}
@media (max-width:820px){.photo-top #qualify{scroll-margin-top:calc(84px + 110px)}}
/* the qualifier already separates hero and services: no second band */
.dp-top + .dp-services,.dp-top + .pt-section{padding-top:clamp(24px,3vw,40px)}
/* phones: three icon tiles read better as three rows than as 2 + 1 */
@media (max-width:640px){
  .qf-tiles:not(.qf-tiles--6):not(.qf-tiles--text){grid-template-columns:1fr}
  .qf-tiles:not(.qf-tiles--6):not(.qf-tiles--text) .qf-tile-b{flex-direction:row;justify-content:flex-start;gap:14px;min-height:60px;padding:12px 16px}
}
.qf-nav.is-empty{visibility:hidden}
.qf.is-done .qf-nav{display:none}

/* the optional note */
.qf-note textarea{width:100%;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:#fff;
  border:1px solid var(--hairline-on-cream);border-radius:3px;padding:12px 14px;outline:none;resize:vertical;min-height:120px}
.qf-note textarea:focus{border-color:var(--green)}
.qf-note label{display:block;margin-bottom:8px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-grey)}
.qf-note textarea::placeholder{color:#A7A398}


/* the expert, and the way to talk to them, side by side */
.dp-expert-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
