/* Profer site styles: shared by every page */
/* =========================================================
   PROFER HOMEPAGE v4 — conversion pass
   Funnel: hero (what + CTA) → problem → proof → antonyms →
   how it works → human → services → industries → pros →
   objections (FAQ) → final CTA. Sticky CTA on phones.
   One primary action everywhere: Find a Pro (solid pink).
   Column: 80% desktop / 90% phone (--pf-page).
   ========================================================= */
:root{
  --plum:#231e2b;
  --plum-2:#2e2838;
  --pink:#ff6f7f;
  --pink-ink:var(--pink); /* accent is always Profer brand pink */
  --ink:#231e2b;
  --text:#433d4d;
  --quiet:#6b6476;
  --rule:#dedad5;
  --stone:#f1f0ed;
  --paper:#fefdfb;
  --lilac:#a77bb3;
  --on-dark:#f4f1f7;
  --on-dark-2:#c4bccf;
  --line-dark:#3d3549;

  --pf-page:80%;
  --sans:"Manrope","Helvetica Neue",Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
  --display:"Schibsted Grotesk","Manrope",Arial,sans-serif;

  --t-xs:clamp(.8125rem,.72vw,1rem); --t-sm:clamp(1rem,.88vw,1.1875rem); --t-md:clamp(1.0625rem,.95vw,1.3125rem); --t-lg:clamp(1.25rem,1.2vw,1.625rem);
  --t-h2:clamp(2rem,3vw,4.25rem);
  --t-head:clamp(3.75rem,7.4vw,10.5rem);
}
@media (max-width:767px){:root{--pf-page:90%}}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:20px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{font-family:var(--sans);font-size:var(--t-md);line-height:1.65;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:6px}
.wrap{width:var(--pf-page);max-width:1760px;margin-inline:auto}
.d{color:var(--pink)}
.p{color:var(--pink);display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 34px;border-radius:999px;font-weight:700;font-size:var(--t-sm);border:1.5px solid transparent;transition:background-color .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn svg{width:14px;height:14px;transition:transform .2s}
.btn:hover svg{transform:translate(2px,-2px)}
.btn--pink{background:var(--pink);color:var(--plum)}
.btn--pink:hover{background:var(--pink);box-shadow:0 0 0 5px rgba(255,111,127,.28)}
.btn--ghost-light{color:#fff;border-color:#fff;background:transparent}
.btn--ghost-light:hover{background:#fff;color:var(--plum)}
.btn--outline-pink{color:var(--pink-ink);border-color:var(--pink);background:transparent}
.btn--outline-pink:hover{background:var(--pink);color:var(--plum)}
.btn--long{min-width:clamp(240px,18vw,320px);justify-content:center;padding:0 30px}
.btn--line{color:var(--ink);border-color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.go{display:inline-flex;align-items:center;gap:10px;font-size:var(--t-sm);font-weight:700;color:var(--pink-ink);margin-top:14px}
.go svg{width:14px;height:14px;transition:transform .2s}
.go:hover svg{transform:translate(2px,-2px)}
.actions{margin-top:36px;display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
.micro{font-size:var(--t-xs);color:var(--quiet)}

/* ---------- ENTRY: headword left, content right ---------- */
.entry{padding:clamp(88px,10vw,140px) 0}
.entry--stone{background:var(--stone)}
.entry__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,100px);align-items:start}
.hw{position:sticky;top:56px}
.hw__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin-bottom:26px}
.hw__label::before{content:"/";color:var(--pink);margin-right:12px}
.hw__word{font-family:var(--display);font-size:var(--t-head);font-weight:600;line-height:.88;letter-spacing:-.055em;color:var(--ink);white-space:nowrap}
/* signature: the full stop is a true circle, like the pro·fer dot and the logo dots */
.hw__word .d,.hw__word.stack > span:last-child{position:relative}
.hw__word .d{display:inline-block;width:.15em;height:.15em;border-radius:50%;background:var(--pink);color:transparent;overflow:hidden;line-height:0;margin-left:.04em;vertical-align:baseline}
.hw__ipa{color:var(--pink-ink);font-size:var(--t-sm);margin-right:4px}
.entry--dark .hw__ipa,.cta .hw__ipa{color:var(--pink)}
.hw__pos{margin-top:24px;font-size:var(--t-sm);color:var(--quiet);display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.hw__pos i{color:var(--ink)}
.hw__pos .b{width:6px;height:6px;border-radius:50%;background:var(--pink)}
.body h2{text-wrap:balance;font-size:var(--t-h2);font-weight:500;line-height:1.05;letter-spacing:-.05em;color:var(--ink);max-width:19ch}
.lede{font-size:var(--t-md);line-height:1.65;color:var(--text);max-width:34em;margin-top:22px}
.lede + .lede{margin-top:16px}
.hw .eg{margin-top:clamp(32px,3vw,56px);max-width:none;font-size:var(--t-md);text-wrap:balance}
.eg{font-family:var(--serif);font-style:italic;font-size:var(--t-lg);line-height:1.45;color:var(--ink);margin-top:28px;max-width:30em}
.eg b{font-family:var(--sans);font-style:normal;font-weight:700;font-size:var(--t-sm);color:var(--pink-ink);margin-right:6px}
@media (max-width:900px){
  .entry__grid{grid-template-columns:1fr;gap:36px}
  .hw{position:static}
  :root{--t-head:clamp(3.5rem,16vw,5.25rem)}
}

/* list */
.list{list-style:none;margin-top:40px;border-top:1px solid var(--rule)}
.list li{padding:24px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:28px;align-items:baseline}
.list h3{font-size:var(--t-lg);font-weight:600;letter-spacing:-.035em;color:var(--ink);line-height:1.2}
.list p{font-size:var(--t-sm)}
.list--num{counter-reset:n}
.list--num li{grid-template-columns:44px minmax(0,1fr)}
.list--num li{align-items:start;position:relative;grid-template-columns:clamp(64px,5.4vw,96px) minmax(0,1fr)!important}
/* big sense numbers: headword font + the round pink full stop */
.list--num li::before{counter-increment:n;content:counter(n);font-family:var(--display);font-weight:400;font-variant-numeric:tabular-nums;font-size:clamp(2.75rem,3.6vw,4.25rem);line-height:.8;letter-spacing:-.05em;color:var(--ink);padding-top:2px}
.list--num li::after{content:"";position:absolute;top:calc(24px + clamp(2.75rem,3.6vw,4.25rem) * .6);left:calc(clamp(2.75rem,3.6vw,4.25rem) * .62);width:calc(clamp(2.75rem,3.6vw,4.25rem) * .15);aspect-ratio:1/1;border-radius:50%;background:var(--pink)}
.entry--dark .list--num li::before{color:var(--on-dark)}
/* sorted: pink slash numbers, like the section labels */
#how .list--num li{grid-template-columns:clamp(84px,6.6vw,120px) minmax(0,1fr)!important;align-items:baseline}
#how .list--num li::before,#how .list--num li::after{display:none}
#how .sn{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,2.2vw,2.5rem);line-height:1;letter-spacing:-.03em;color:var(--ink)}
#how .sn i{font-style:normal;color:var(--pink);margin-right:.08em}
.list--num h3{margin-bottom:4px}
@media (max-width:600px){.list li{grid-template-columns:1fr;gap:6px}.list--num li{grid-template-columns:36px 1fr}}

/* ticks */
.ticks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;margin-top:40px}
.ticks li{position:relative;padding-left:32px}
.ticks li::before{content:"";position:absolute;left:3px;top:2px;width:9px;height:17px;border-right:4px solid var(--pink);border-bottom:4px solid var(--pink);border-radius:0 0 3px 0;transform:rotate(40deg)}
.ticks h3{font-size:var(--t-md);font-weight:700;color:var(--ink);margin-bottom:4px;letter-spacing:-.01em}
.ticks p{font-size:var(--t-sm)}
@media (max-width:600px){.ticks{grid-template-columns:1fr;gap:24px}}

/* =========================================================
   HEADER (logo icon opens the dropdown)
   ========================================================= */
.hdr{position:absolute;inset:0 0 auto;z-index:30;padding:24px 0}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between}
.hdr__menu{position:relative}
.hdr__logo{display:block;background:none;border:0;padding:0;cursor:pointer;border-radius:50%;transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.hdr__logo svg{width:64px;height:64px;display:block}
.hdr__logo:hover{transform:scale(1.06)}
.hdr__logo[aria-expanded="true"]{transform:rotate(-8deg) scale(1.04)}
.drop{position:absolute;top:calc(100% + 14px);left:0;width:min(320px,90vw);background:var(--plum-2);border:1px solid var(--line-dark);border-radius:20px;padding:14px 14px 18px;box-shadow:0 30px 70px rgba(15,12,20,.45);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility 0s .22s;z-index:40}
.drop.open{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s}
.drop::before{content:"";position:absolute;top:-7px;left:26px;width:12px;height:12px;background:var(--plum-2);border-left:1px solid var(--line-dark);border-top:1px solid var(--line-dark);transform:rotate(45deg)}
.drop ul{list-style:none}
.drop li a{display:flex;align-items:baseline;justify-content:space-between;padding:12px 14px;border-radius:12px;font-size:1.5rem;font-weight:500;letter-spacing:-.04em;color:var(--on-dark);transition:background-color .15s,color .15s}
.drop li a::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--pink);opacity:0;transition:opacity .15s}
.drop li a:hover,.drop li a:focus-visible{background:rgba(255,255,255,.05);color:var(--pink)}
.drop li a:hover::after,.drop li a[aria-current="page"]::after{opacity:1}
.drop li a[aria-current="page"]{color:var(--pink)}
.drop__cta{margin:12px 0 0;width:100%}
.drop__foot{margin:14px 14px 0;padding-top:14px;border-top:1px solid var(--line-dark);font-size:var(--t-xs);color:var(--on-dark-2)}
.drop__foot span{color:var(--pink)}
.nav{display:flex;align-items:center;gap:28px}
.nav a{color:var(--on-dark);font-size:var(--t-sm);font-weight:500;transition:color .2s}
.nav a:hover{color:var(--pink)}
.nav .nav__tag{font-size:var(--t-xs);font-weight:700}
.nav__tag span{color:var(--pink)}
.nav .nav__cta{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;color:var(--pink);font-weight:700;padding-bottom:10px;border-bottom:1px solid var(--on-dark);min-width:150px}
.nav__cta svg{width:14px;height:14px;color:var(--on-dark)}
@media (max-width:991px){
  .nav > a:not(.nav__cta){display:none}
  .nav .nav__cta{min-width:0;font-size:var(--t-xs)}
}

/* =========================================================
   HERO
   ========================================================= */
.hero{background:var(--plum);color:var(--on-dark);padding:clamp(150px,11vw,210px) 0 clamp(90px,7vw,140px)}
.hero__kicker{font-size:clamp(1.125rem,1.1vw,1.5rem);margin-bottom:clamp(24px,2vw,40px)}
.hero__kicker::before{content:"/";color:var(--pink);margin-right:12px}
.hero__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,5vw,80px);align-items:start}
.word{font-weight:800;font-size:clamp(5rem,12.6vw,17.5rem);line-height:.9;letter-spacing:-.06em;color:#faf7f2;display:flex;align-items:center}
.word i{width:.15em;height:.15em;border-radius:50%;background:var(--pink);margin:0 .06em;transform:translateY(.05em);animation:drop .9s cubic-bezier(.3,1.5,.5,1) .25s both}
@keyframes drop{from{transform:translateY(-1.4em);opacity:0}to{transform:translateY(.05em);opacity:1}}
.phon{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:clamp(28px,2.2vw,44px);font-size:clamp(1.25rem,1.9vw,2.5rem)}
.phon .ipa{color:var(--pink)}
.phon .b{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--pink);margin:0 10px 0 6px;vertical-align:middle}
.def__label{font-size:clamp(1rem,.95vw,1.25rem);margin-bottom:clamp(24px,2vw,40px)}
.def__label::before{content:"/";color:var(--pink);margin-right:12px}
.def__label b{color:var(--pink);font-weight:400;margin-left:8px}
.def h1{font-weight:400;font-size:clamp(1.875rem,2.7vw,3.75rem);line-height:1.1;letter-spacing:-.035em;margin-bottom:28px;text-wrap:balance}
.def h1 .d{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:var(--pink);color:transparent;overflow:hidden;line-height:0;margin-left:.05em}
.senses{list-style:none;counter-reset:sense;display:grid;gap:clamp(14px,1.1vw,22px);max-width:36em}
.senses li{counter-increment:sense;position:relative;padding-left:1.7em;font-size:clamp(1rem,1.02vw,1.375rem);line-height:1.65;color:var(--on-dark-2)}
.senses li::before{content:counter(sense) ".";position:absolute;left:0;color:var(--pink);font-weight:600}
.senses b{color:var(--pink);font-weight:600}
.senses i{color:var(--on-dark)}
.hero__btns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(32px,2.6vw,52px);max-width:36em}
.hero__btns .btn{min-height:clamp(52px,3.6vw,68px);padding:0 20px;font-size:clamp(1rem,.95vw,1.25rem)}
.hero__left .offer__line{margin-top:clamp(48px,4.4vw,90px);font-size:clamp(1.375rem,2.25vw,3.25rem);max-width:none;text-wrap:balance}
.def p{font-size:var(--t-sm);line-height:1.7;max-width:26em;color:var(--on-dark-2)}
.def .point{color:var(--pink);font-weight:700;margin-top:14px}

/* the offer: what you actually get */
.offer__line{font-size:clamp(1.75rem,3vw,2.625rem);line-height:1.12;letter-spacing:-.04em;font-weight:500;color:var(--on-dark)}
.offer__line span{color:var(--pink)}
.assure{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:20px;max-width:none;font-size:clamp(.8125rem,.8vw,1rem);color:var(--on-dark-2)}
.assure li{display:flex;align-items:center;gap:8px}
.assure li::before{content:"";width:6px;height:10px;border-right:1.5px solid var(--pink);border-bottom:1.5px solid var(--pink);transform:rotate(40deg) translateY(-2px)}
@media (max-width:991px){
  .hero{padding:136px 0 80px}
  .hero__grid{grid-template-columns:1fr;gap:40px}
  .hero__left .offer__line{margin-top:44px;font-size:clamp(1.3rem,5.3vw,2.5rem)}
}
@media (max-width:575px){.hero__btns{grid-template-columns:1fr}}

/* =========================================================
   SECTION BITS
   ========================================================= */
.quote{margin-top:40px;padding:32px 0 0;border-top:1px solid var(--rule);font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.3;color:var(--ink);max-width:24em}
.quote .d{font-style:normal}

/* character images */
.hero-fig{margin-top:40px;max-width:360px;display:grid;grid-template-columns:1fr}
.hero-fig img,.hero-fig::after{grid-area:1/1}
.hero-fig figcaption{grid-area:2/1}
.hero-fig img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 22%;border-radius:50%;background:var(--rule)}
/* the image is the word, the dot is its full stop */
.hero-fig::after{content:"";width:11%;aspect-ratio:1/1;border-radius:50%;background:var(--pink);align-self:end;justify-self:end;transform:translate(85%,-8%)}
.hero-fig figcaption{margin-top:12px;font-family:var(--serif);font-style:italic;font-size:var(--t-sm);color:var(--quiet)}
.hero-fig figcaption i{font-family:var(--sans);font-style:normal;font-weight:700;color:var(--pink-ink);margin-right:4px}
.entry--dark .hero-fig figcaption{color:var(--on-dark-2)}
.hero-fig--wide{max-width:360px}
.hero-fig--ring{max-width:380px}
.hero-fig--ring img{border:clamp(10px,.9vw,16px) solid var(--plum);box-sizing:border-box}
.hero-fig--ring::after{display:none}
.hero-fig--ring-dark img{border-color:#4a4157}
.pi{color:var(--pink)}
.body h2.h2--wide{max-width:24ch}
.body h2.h2--full{max-width:none}
.lede--lg{font-size:var(--t-lg);line-height:1.5}
.hw:has(.hero-fig){position:static}
@media (max-width:900px){.hero-fig,.hero-fig--wide{max-width:300px;margin-top:28px}}

/* antonyms */
.entry--dark{background:var(--plum);color:var(--on-dark)}
.entry--dark .hw__label,.entry--dark .hw__word,.entry--dark .hw__pos i,.entry--dark .body h2{color:var(--on-dark)}
.entry--dark .hw__pos{color:var(--on-dark-2)}
.entry--dark .list,.entry--dark .list li{border-color:var(--line-dark)}
.strike{position:relative;display:inline-block;color:var(--on-dark)}
.strike::after{content:"";position:absolute;left:-4px;right:-4px;top:52%;height:3px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.6,0,.2,1)}
.seen .strike::after{transform:scaleX(1)}
.seen li:nth-child(2) .strike::after{transition-delay:.25s}
.seen li:nth-child(3) .strike::after{transition-delay:.5s}
.entry--dark .list p{font-family:var(--serif);font-style:italic;font-size:var(--t-lg);line-height:1.45;color:var(--on-dark)}
.entry--dark .note{margin-top:28px;font-size:var(--t-sm);color:var(--on-dark-2);max-width:none}
.entry--dark .body h2{max-width:none}

/* human card */
.human{position:relative;background:var(--pink);color:var(--plum);border-radius:24px;padding:clamp(32px,4vw,48px);max-width:460px}
.human__word{font-size:clamp(4rem,8vw,6.5rem);font-weight:600;letter-spacing:-.065em;line-height:.9}
.human__pos{margin-top:16px;font-size:var(--t-sm)}
.human__pos i{font-weight:600}
.human__list{list-style:none;margin-top:28px;padding-top:22px;border-top:1px solid rgba(35,30,43,.2);display:grid;gap:10px;font-weight:600;font-size:var(--t-sm)}
.human__list li{display:flex;gap:12px;align-items:baseline}
.human__list li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--plum);transform:translateY(-1px)}
.hw--card{position:sticky;top:56px}
@media (max-width:900px){.hw--card{position:static}}

.sig{margin-top:30px;padding-top:22px;border-top:1px solid var(--rule)}
.sig__name{font-size:1.75rem;font-weight:600;letter-spacing:-.05em;color:var(--ink);line-height:1}
.sig__name span:last-child{font-size:var(--t-sm);font-weight:500;letter-spacing:0;color:var(--quiet);margin-left:6px}
.sig__mail{margin-top:10px;font-size:var(--t-sm);color:var(--quiet)}
.sig__mail a{color:var(--ink);font-weight:700;border-bottom:1px solid var(--pink);margin-right:8px}

/* services */
.svc li{grid-template-columns:44px minmax(0,1fr)}
.svc li p{font-size:var(--t-md);max-width:32em}
.svc li p.svc__name{font-size:clamp(2rem,3.2vw,2.75rem);font-weight:500;letter-spacing:-.06em;color:var(--ink);line-height:1}
.svc li p.svc__who{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--quiet);margin:12px 0 6px}
.svc__price{display:inline-block;font-size:var(--t-xs);font-weight:700;color:var(--plum);background:rgba(255,111,127,.18);border-radius:999px;padding:3px 10px;margin-left:10px;vertical-align:middle;letter-spacing:0;text-transform:none}
.extras{margin-top:24px;font-size:var(--t-sm);max-width:40em}
.extras b{color:var(--ink)}
.stack > span{display:block}
.stack > span:last-child{color:var(--pink)}
.stack > span:last-child .d{background:var(--pink)}

/* industries */
.ind{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.ind div{padding:18px 0;border-bottom:1px solid var(--rule)}
.ind div:nth-child(odd){padding-right:28px}
.ind dt{display:flex;gap:12px;align-items:baseline;font-weight:700;color:var(--ink)}
.ind dt::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--lilac);transform:translateY(-1px)}
.ind dd{font-size:var(--t-sm);color:var(--text);padding-left:20px;margin-top:4px}
@media (max-width:600px){.ind{grid-template-columns:1fr}.ind div:nth-child(odd){padding-right:0}}

/* human: one-line heading on desktop */
#human .body h2{max-width:none;white-space:nowrap;font-size:min(var(--t-h2),3.05vw)}
#human .body h2 .p{display:inline}
@media (max-width:900px){#human .body h2{white-space:normal;font-size:var(--t-h2)}}

/* services: one-line heading, slash numbers, pro·name, price on the right */
.body h2.h2--line{max-width:none;white-space:nowrap;font-size:min(var(--t-h2),3.05vw)}
@media (max-width:900px){.body h2.h2--line{white-space:normal;font-size:var(--t-h2)}}
#services .list--num li{grid-template-columns:clamp(84px,6.6vw,120px) minmax(0,1fr)!important;align-items:baseline}
#services .list--num li::before,#services .list--num li::after{display:none}
#services .sn{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,2.2vw,2.5rem);line-height:1;letter-spacing:-.03em;color:var(--ink)}
#services .sn i{font-style:normal;color:var(--pink);margin-right:.08em}
.svc__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.svc li .svc__head p.svc__name{font-family:var(--display);font-weight:600;letter-spacing:-.05em}
.svc__name .mid{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--pink);margin:0 .06em;vertical-align:.2em}
.svc__head .svc__price{margin-left:0;font-size:var(--t-xs);padding:5px 14px}
#services .extras{max-width:none}
@media (min-width:1400px){#services .extras{white-space:nowrap;font-size:min(var(--t-sm),.98vw)}}

/* categories: four across, each opens a pop-up */
.cats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.2vw,22px);margin-top:clamp(48px,4vw,72px)}
.cat{width:100%;height:100%;min-height:clamp(190px,14vw,250px);display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;padding:clamp(22px,1.8vw,32px);background:var(--paper);border:1.5px solid transparent;border-radius:22px;cursor:pointer;font:inherit;color:var(--text);position:relative;transition:border-color .2s,transform .25s cubic-bezier(.3,1.3,.5,1),box-shadow .25s}
.cat:hover{border-color:var(--lilac);transform:translateY(-4px);box-shadow:0 18px 40px rgba(35,30,43,.08)}
.cat__name{font-family:var(--display);font-weight:600;font-size:clamp(1.375rem,1.6vw,1.875rem);line-height:1.05;letter-spacing:-.04em;color:var(--ink);display:flex;align-items:baseline;gap:10px}
.cat__name::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--lilac);transform:translateY(-.1em)}
.cat__line{font-size:var(--t-sm);line-height:1.55;padding-right:36px}
.cat__more{position:absolute;right:clamp(18px,1.4vw,26px);bottom:clamp(18px,1.4vw,26px);width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);transition:background-color .2s,border-color .2s}
.cat__more::before,.cat__more::after{content:"";position:absolute;left:10px;right:10px;top:15px;height:1.5px;background:var(--ink)}
.cat__more::after{transform:rotate(90deg)}
.cat:hover .cat__more{background:var(--pink);border-color:var(--pink)}
.cats__foot{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;margin-top:clamp(32px,3vw,52px)}
.cats__foot p{font-size:var(--t-md);color:var(--text);max-width:40em}
.pop__word--cat{font-size:clamp(2.5rem,5.5vw,4rem)}
.pop__check{margin-top:26px;font-size:var(--t-sm)}
.pop__check b{color:var(--ink)}
@media (max-width:1100px){.cats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cats{grid-template-columns:1fr}.cat{min-height:0;padding-bottom:64px}}

/* categories on a dark band */
.entry--pinkband{background:var(--plum);color:var(--on-dark)}
#industries .hw__label{color:var(--on-dark)}
#industries .hw__label::before{color:var(--pink)}
#industries .hw__word{color:var(--on-dark)}
#industries .hw__word .d{background:var(--pink)}
#industries .hw__ipa{color:var(--pink)}
#industries .hw__pos{color:var(--on-dark-2)}
#industries .hw__pos i{color:var(--on-dark)}
#industries .hw__pos .b{background:var(--pink)}
#industries .body h2{color:var(--on-dark)}
#industries .body h2 .pi{color:var(--pink)}
#industries .lede{color:var(--on-dark-2)}
#industries .cats > li{container-type:inline-size}
#industries .cat{background:var(--paper);padding:8.5cqi;gap:4cqi;min-height:0;justify-content:space-between}
#industries .cat:hover{border-color:var(--pink)}
#industries .cat__name::before{display:none}
#industries .cat__name{display:block;font-size:clamp(1.125rem,9.2cqi,2.25rem)}
#industries .cat__name .cat__sl{font-style:normal;color:var(--pink);margin-right:.18em;font-weight:400}
#industries .cat__name .d{color:var(--pink)}
#industries .cat__row{display:flex;align-items:flex-end;gap:4cqi;width:100%;margin-top:auto}
#industries .cat__line{flex:1;font-size:clamp(.875rem,6cqi,1.4rem);line-height:1.5;padding-right:0;color:var(--text)}
#industries .cat__more{position:relative;right:auto;bottom:auto;flex:none;width:clamp(28px,12cqi,50px);height:clamp(28px,12cqi,50px);margin-bottom:.15em}
#industries .cat__more::before,#industries .cat__more::after{left:28%;right:28%;top:calc(50% - .75px)}
#industries .cats__foot p{color:var(--on-dark-2)}
#industries .cats__foot .btn{color:#fff;border-color:#fff}
#industries .cats__foot .btn:hover{background:#fff;color:var(--plum)}
#industries :focus-visible{outline-color:var(--pink)}

/* service pop-ups */
.svc__acts{display:flex;align-items:center;gap:10px 26px;flex-wrap:wrap;margin-top:16px}
.svc__acts .go{margin-top:0}
.more{display:inline-flex;align-items:center;gap:10px;background:none;border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;padding:9px 18px;font:700 var(--t-xs)/1 var(--sans);cursor:pointer;transition:background-color .2s,color .2s}
.more:hover{background:var(--ink);color:var(--paper)}
.more__pm{position:relative;width:10px;height:10px}
.more__pm::before,.more__pm::after{content:"";position:absolute;left:0;right:0;top:4px;height:1.5px;background:currentColor}
.more__pm::after{transform:rotate(90deg)}
dialog.pop{border:0;padding:0;margin:auto;width:min(720px,92vw);max-height:88vh;border-radius:28px;background:var(--paper);color:var(--text);box-shadow:0 40px 100px rgba(15,12,20,.45);overflow:hidden}
dialog.pop::backdrop{background:rgba(35,30,43,.62);backdrop-filter:blur(3px)}
dialog.pop[open]{animation:popIn .32s cubic-bezier(.2,.9,.3,1.15)}
dialog.pop[open]::backdrop{animation:fadeIn .25s ease}
@keyframes popIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.pop__in{max-height:88vh;overflow:auto;padding:clamp(28px,5vw,52px)}
.pop__top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.pop__word{font-family:var(--display);font-weight:600;font-size:clamp(3rem,7vw,4.75rem);line-height:.9;letter-spacing:-.055em;color:var(--ink)}
.pop__word .mid{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--pink);margin:0 .06em;vertical-align:.2em}
.pop__word .d{display:inline-block;width:.15em;height:.15em;border-radius:50%;background:var(--pink);color:transparent;overflow:hidden;line-height:0;margin-left:.04em}
.pop__pos{margin-top:14px;font-size:var(--t-sm);color:var(--quiet)}
.pop__pos i{color:var(--ink)}
.pop__pos .hw__ipa{margin-right:6px}
.pop__x{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--rule);background:var(--paper);cursor:pointer;position:relative;transition:border-color .2s,transform .3s}
.pop__x:hover{border-color:var(--pink);transform:rotate(90deg)}
.pop__x::before,.pop__x::after{content:"";position:absolute;left:12px;right:12px;top:20px;height:1.5px;background:var(--ink);transform:rotate(45deg)}
.pop__x::after{transform:rotate(-45deg)}
.pop__lede{margin-top:26px;font-size:var(--t-lg);line-height:1.5;color:var(--ink);max-width:30em}
.pop h3{margin-top:34px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
.pop h3::before{content:"/";color:var(--pink);margin-right:10px}
.pop .ticks{margin-top:32px;gap:16px 32px}
.pop .ticks li{font-size:var(--t-sm)}
.steps3{list-style:none;counter-reset:s;margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps3 li{counter-increment:s;font-size:var(--t-sm)}
.steps3 li::before{display:none}
.steps3 .sn{display:block;font-family:var(--display);font-weight:400;font-size:clamp(2rem,2.6vw,2.75rem);line-height:1;letter-spacing:-.03em;color:var(--ink);margin-bottom:14px}
.steps3 .sn i{font-style:normal;color:var(--pink);margin-right:.08em}
.steps3 b{display:block;color:var(--ink);font-size:var(--t-md);margin-bottom:2px}
.tiers{list-style:none;margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tier{background:var(--stone);border-radius:20px;padding:22px 20px;display:flex;flex-direction:column}
.tier--mid{background:var(--plum);color:var(--on-dark-2)}
.tier small{font-size:var(--t-xs);font-weight:700;color:var(--pink-ink)}
.tier--mid small{color:var(--pink)}
.tier b{display:block;margin-top:8px;font-size:var(--t-md);color:var(--ink);letter-spacing:-.02em;line-height:1.25}
.tier--mid b{color:var(--on-dark)}
.tier .price{margin-top:18px;font-size:2rem;font-weight:500;letter-spacing:-.04em;color:var(--pink-ink);line-height:1}
.tier--mid .price{color:var(--pink)}
.tier .price span{font-size:var(--t-xs);font-weight:600;letter-spacing:0;margin-left:4px}
.tier p{margin-top:12px;font-size:.9375rem;line-height:1.55}
.pop__note{margin-top:16px;font-size:var(--t-sm);color:var(--quiet)}
.pop__note b{color:var(--ink)}
.pop .actions{margin-top:34px;padding-top:26px;border-top:1px solid var(--rule)}
@media (max-width:640px){
  dialog.pop{width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0;border-radius:28px 28px 0 0}
  dialog.pop[open]{animation:sheetUp .35s cubic-bezier(.2,.9,.3,1)}
  @keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
  .pop__in{max-height:92vh}
  .steps3,.tiers{grid-template-columns:1fr}
}

/* faq */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;padding:22px 0;font-size:var(--t-lg);font-weight:500;letter-spacing:-.025em;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--pink-ink)}
.pm{flex:none;width:16px;height:16px;position:relative;margin-top:8px}
.pm::before,.pm::after{content:"";position:absolute;left:0;right:0;top:7px;height:1.5px;background:var(--pink);transition:transform .3s}
.pm::after{transform:rotate(90deg)}
details[open] .pm::after{transform:rotate(0)}
.faq details p{padding:0 50px 24px 0;max-width:38em}

/* final CTA */
.cta{background:var(--plum);color:var(--on-dark);padding:clamp(100px,12vw,150px) 0 90px}
.cta__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,100px);align-items:start}
.cta .hw__word{color:var(--on-dark)}
.cta .hw__pos{color:var(--on-dark-2)}
.cta .hw__pos i{color:var(--on-dark)}
.cta h2{font-size:min(var(--t-h2),3.05vw);font-weight:500;line-height:1.05;letter-spacing:-.05em;white-space:nowrap;color:var(--on-dark)}
.cta h2 .pi{color:var(--pink)}
.cta .hw__label{color:var(--on-dark)}
.cta .lede{color:var(--on-dark-2);max-width:none}
.cta .cta__btns{max-width:none}
.cta .assure--stack{flex-direction:column;gap:12px;margin-top:clamp(28px,2.4vw,40px);font-size:var(--t-sm)}
.cta{padding:clamp(88px,10vw,140px) 0 clamp(80px,8vw,120px)}
@media (max-width:900px){.cta h2{white-space:normal;font-size:var(--t-h2)}}
.cta .micro{color:var(--on-dark-2)}
@media (max-width:900px){.cta__grid{grid-template-columns:1fr;gap:36px}}

/* footer */
.ftr{background:var(--plum);color:var(--on-dark-2);padding:0 0 36px}
.ftr__top{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,100px);padding-top:56px;border-top:1px solid var(--line-dark)}
.ftr__brand p{font-size:1.375rem;color:var(--on-dark);letter-spacing:-.03em;margin-top:16px}
.ftr__brand p span{color:var(--pink)}
.ftr__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.ftr h3{font-size:var(--t-sm);color:var(--pink);font-weight:700;margin-bottom:10px}
.ftr ul{list-style:none;display:grid;gap:3px;font-size:var(--t-sm);line-height:1.5}
.ftr ul a{color:#fff}
.ftr a:hover{color:var(--pink)}
.ftr__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:56px;font-size:var(--t-xs)}
@media (max-width:900px){.ftr__top{grid-template-columns:1fr}}
@media (max-width:480px){.ftr__cols{grid-template-columns:1fr 1fr}}

/* sticky CTA (phones only) */
.stick{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 20px;background:var(--plum);color:var(--on-dark);border:1px solid var(--line-dark);border-radius:999px;box-shadow:0 16px 40px rgba(15,12,20,.35);transform:translateY(140%);transition:transform .35s cubic-bezier(.3,1.2,.5,1)}
.stick.show{transform:none}
.stick p{font-size:var(--t-xs);line-height:1.3}
.stick p b{display:block;font-size:var(--t-sm);color:var(--on-dark)}
.stick .btn{min-height:46px;padding:0 22px}
@media (max-width:767px){.stick{display:flex}body{padding-bottom:84px}}

/* ===== ABOUT PAGE ===== */
.hw__word--long{font-size:min(var(--t-head),5.8vw,8.2rem)}
@media (max-width:900px){.hw__word--long{font-size:min(var(--t-head),13vw)}}
.word--about{font-size:clamp(4rem,10.2vw,14rem)}
.pull{margin-top:40px;padding-top:30px;border-top:1px solid var(--rule);font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.3;color:var(--ink);text-wrap:balance}
.entry--dark .pull{border-color:var(--line-dark);color:var(--on-dark)}
.closer{margin-top:26px;font-size:var(--t-lg);font-weight:600;color:var(--ink);letter-spacing:-.02em}
.entry--dark .closer{color:var(--on-dark)}
.entry--dark .lede{color:var(--on-dark-2)}
.entry--dark .body h2 .pi{color:var(--pink)}
.story-lines{margin-top:26px;display:grid;gap:12px}
.story-lines p{font-size:var(--t-lg);line-height:1.5;color:var(--on-dark)}
.story-lines p.big{font-family:var(--display);font-size:clamp(1.75rem,2.6vw,2.75rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;color:var(--pink)}
.crosses{list-style:none;margin-top:32px;border-top:1px solid var(--rule)}
.crosses li{position:relative;padding:16px 0 16px 38px;border-bottom:1px solid var(--rule);font-size:var(--t-md);color:var(--ink)}
.crosses li::before,.crosses li::after{content:"";position:absolute;left:4px;top:calc(50% - 2px);width:18px;height:3.5px;border-radius:2px;background:var(--pink);transform:rotate(45deg)}
.crosses li::after{transform:rotate(-45deg)}
.slashlist{list-style:none;margin-top:36px;border-top:1px solid var(--rule)}
.slashlist li{display:grid;grid-template-columns:clamp(84px,6.6vw,120px) minmax(0,1fr);gap:28px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--rule)}
.slashlist .sn{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,2.2vw,2.5rem);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.slashlist .sn i{font-style:normal;color:var(--pink);margin-right:.08em}
.slashlist h3{font-size:var(--t-lg);font-weight:600;letter-spacing:-.035em;color:var(--ink);line-height:1.2;margin-bottom:4px}
.slashlist p{font-size:var(--t-sm)}
.entry--dark .ticks h3{color:var(--on-dark)}
.entry--dark .ticks p{color:var(--on-dark-2)}
.smallprint{margin-top:32px;font-size:var(--t-sm);color:var(--on-dark-2);font-style:italic}
.tk-fig{position:relative}
.tk-ph{display:none}
.tk-fig.no-img img{display:none}
.tk-fig.no-img .tk-ph{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;width:100%;border-radius:50%;background:var(--plum);border:clamp(10px,.9vw,16px) solid var(--plum);font-family:var(--display);font-weight:600;font-size:clamp(4rem,7vw,7rem);letter-spacing:-.05em;color:var(--on-dark)}
.tk-ph .d{color:var(--pink)}
.tk-meet{margin-top:16px;font-family:var(--display);font-size:var(--t-lg);font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.tk-meet span{display:block;font-family:var(--sans);font-size:var(--t-sm);font-weight:500;letter-spacing:0;color:var(--quiet)}
.doors{list-style:none;margin-top:36px;border-top:1px solid var(--rule)}
.doors li{display:grid;grid-template-columns:clamp(84px,6.6vw,120px) minmax(0,1fr);gap:28px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--rule)}
.doors .sn{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,2.2vw,2.5rem);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.doors .sn i{font-style:normal;color:var(--pink);margin-right:.08em}
.doors .svc__name{font-family:var(--display);font-weight:600;font-size:clamp(2rem,3.2vw,2.75rem);letter-spacing:-.05em;line-height:1;color:var(--ink)}
.doors .svc__name .mid{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--pink);margin:0 .06em;vertical-align:.2em}
.doors h3{margin-top:12px;font-size:var(--t-lg);font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.25}
.doors p{margin-top:6px;font-size:var(--t-sm);max-width:40em}
.doors .go{margin-top:12px}
@media (max-width:600px){.slashlist li,.doors li{grid-template-columns:1fr;gap:8px}}

/* ===== HOW IT WORKS + SERVICES ===== */
.prices{list-style:none;margin-top:36px;border-top:1px solid var(--rule)}
.prices li{display:grid;grid-template-columns:minmax(120px,.5fr) minmax(0,1.5fr);gap:28px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule)}
.prices__who{font-family:var(--display);font-weight:600;font-size:var(--t-lg);letter-spacing:-.03em;color:var(--ink)}
.prices__what{font-size:var(--t-md)}
.prices__what b{color:var(--ink)}
.faq__still{margin-top:26px;font-size:var(--t-sm)}
.faq__still a{color:var(--ink);font-weight:700;border-bottom:1px solid var(--pink)}
.svc-title{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,2vw,2rem);letter-spacing:-.05em;color:var(--ink);margin-bottom:18px}
.svc-title .mid{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--pink);margin:0 .06em;vertical-align:.2em}
.svc-title .svc__price{margin:0;font-family:var(--sans);letter-spacing:0;font-size:var(--t-xs);padding:5px 14px}
.entry--dark .svc-title{color:var(--on-dark)}
.entry--dark .slashlist,.entry--dark .slashlist li{border-color:var(--line-dark)}
.entry--dark .slashlist h3,.entry--dark .slashlist .sn{color:var(--on-dark)}
.entry--dark .slashlist p{color:var(--on-dark-2)}
.slashlist + .ticks{margin-top:40px}
.tiers--page{margin-top:clamp(40px,4vw,64px);gap:clamp(14px,1.2vw,22px)}
.tiers--page .tier{padding:clamp(26px,2.2vw,38px);background:var(--paper)}
.tiers--page .tier--mid{background:var(--plum)}
.tiers--page .tier b{font-size:var(--t-lg)}
.tiers--page .tier .price{font-size:clamp(2.25rem,3vw,3rem)}
.tiers--page .tier > p:not(.price){font-size:var(--t-sm)}
.tier__list{list-style:none;margin:20px 0 0;padding-top:18px;border-top:1px solid var(--rule);display:grid;gap:10px;flex:1}
.tier--mid .tier__list{border-color:var(--line-dark)}
.tier__list li{position:relative;padding-left:26px;font-size:var(--t-sm);line-height:1.5}
.tier__list li::before{content:"";position:absolute;left:2px;top:3px;width:7px;height:13px;border-right:3px solid var(--pink);border-bottom:3px solid var(--pink);transform:rotate(40deg)}
.tier__btn{margin-top:26px;width:100%}
.tier--mid .tier__list li{color:var(--on-dark-2)}
.addons{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,100px);margin-top:clamp(56px,5vw,80px);padding-top:clamp(40px,4vw,56px);border-top:1px solid var(--rule)}
.addons__title{font-family:var(--display);font-weight:600;font-size:clamp(1.75rem,2.6vw,2.5rem);letter-spacing:-.05em;color:var(--ink);line-height:1}
.addons p{margin-top:10px;font-size:var(--t-md)}
.addons .ticks{margin-top:0}
.which{list-style:none;margin-top:36px;border-top:1px solid var(--rule)}
.which li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--rule)}
.which__q{font-family:var(--serif);font-style:italic;font-size:clamp(1.375rem,2vw,1.875rem);line-height:1.2;color:var(--ink)}
.which__a{font-size:var(--t-md)}
.which__a b{font-family:var(--display);color:var(--ink);letter-spacing:-.02em}
.which__a .mid{display:inline-block;width:.22em;height:.22em;border-radius:50%;background:var(--pink);margin:0 .05em;vertical-align:.18em}
.which .go{margin-top:10px}
@media (max-width:1100px){.tiers--page{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.addons{grid-template-columns:1fr;gap:24px}}
@media (max-width:640px){.tiers--page{grid-template-columns:1fr}.prices li,.which li{grid-template-columns:1fr;gap:6px}}
.entry--dark .svc__price{background:var(--pink);color:var(--plum)}
.cta h2.h2--wrap{white-space:normal;font-size:var(--t-h2);text-wrap:balance}

/* =========================================================
   LEGAL PAGES (terms-of-use.html, privacy-policy.html)
   Dictionary hero, sticky contents on desktop, chips on phones.
   ========================================================= */
.hero--legal{padding-bottom:clamp(72px,6vw,120px)}
.word--legal{font-size:clamp(4.25rem,9.6vw,13.5rem);font-family:var(--display);font-weight:600;letter-spacing:-.055em}
.word--legal i{animation:none;transform:translateY(.05em)}
.word--legal i.end{margin-right:0}
.def .def__sub{display:block;color:var(--pink);font-size:.62em;margin-top:.35em;letter-spacing:-.025em}
.def .def__text{max-width:34em;font-size:clamp(1rem,1.02vw,1.375rem);line-height:1.65}
.def .def__text a{color:var(--on-dark);text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:4px}
.def__date{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(24px,2vw,36px);padding:8px 18px;border:1.5px solid var(--line-dark);border-radius:999px;font-size:var(--t-xs);color:var(--on-dark-2)}
.def__date::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink)}

.legal{padding:clamp(72px,8vw,128px) 0 clamp(88px,9vw,150px)}
.legal__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(40px,6vw,110px);align-items:start}
.legal__toc{position:sticky;top:40px}
.legal__toc .hw__label{margin-bottom:20px}
.legal__toc ol{list-style:none;border-top:1px solid var(--rule)}
.legal__toc li{border-bottom:1px solid var(--rule)}
.legal__toc a{display:grid;grid-template-columns:2.2em 1fr;gap:6px;padding:12px 0;font-size:var(--t-sm);font-weight:500;line-height:1.35;color:var(--quiet);transition:color .2s}
.legal__toc a b{font-family:var(--display);font-weight:600;color:var(--ink);transition:color .2s}
.legal__toc a b.dot{width:7px;height:7px;border-radius:50%;background:var(--pink);align-self:center}
@media (max-width:900px){.legal__toc a b.dot{flex:none}}
.legal__toc a:hover,.legal__toc a.is-on{color:var(--ink)}
.legal__toc a:hover b,.legal__toc a.is-on b{color:var(--pink)}
.legal__toc a.is-on{font-weight:700}
.legal__mail{margin-top:28px;font-size:var(--t-xs);color:var(--quiet);line-height:1.6}
.legal__mail a{display:inline-block;color:var(--ink);font-weight:700;border-bottom:1.5px solid var(--pink)}

.legal__main{min-width:0;max-width:58rem}
.legal__sum{background:var(--stone);border-radius:24px;padding:clamp(28px,3.2vw,52px)}
.legal__sum h2{font-family:var(--display);font-weight:600;font-size:clamp(1.75rem,2.4vw,2.75rem);letter-spacing:-.05em;line-height:1;color:var(--ink);margin-bottom:clamp(20px,2vw,30px)}
.legal__sum ul{list-style:none;display:grid;gap:14px}
.legal__sum li{position:relative;padding-left:30px;font-size:var(--t-sm);line-height:1.6}
.legal__sum li::before{content:"";position:absolute;left:4px;top:.32em;width:7px;height:12px;border-right:3px solid var(--pink);border-bottom:3px solid var(--pink);transform:rotate(40deg)}
.legal__sum strong{color:var(--ink)}
.legal .pf-legal__note{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--serif);font-style:italic;font-size:var(--t-sm);color:var(--quiet)}

.pf-legal__body{counter-reset:none}
.pf-legal__part{scroll-margin-top:28px;margin-top:clamp(64px,7vw,110px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--ink);font-family:var(--display);font-weight:600;font-size:clamp(2.25rem,3.6vw,4.5rem);line-height:1;letter-spacing:-.055em;color:var(--ink);text-wrap:balance}
.pf-legal__part::after{content:"";display:inline-block;width:.15em;height:.15em;border-radius:50%;background:var(--pink);margin-left:.05em}
.pf-legal__part span{display:block;margin-bottom:18px;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.pf-legal__part span::before{content:"/";color:var(--pink);margin-right:12px}
.pf-legal__body h3{display:grid;grid-template-columns:clamp(2.6rem,3.4vw,3.6rem) minmax(0,1fr);column-gap:.5rem;align-items:baseline;margin:clamp(36px,3.4vw,52px) 0 14px;font-size:var(--t-lg);font-weight:600;line-height:1.25;letter-spacing:-.03em;color:var(--ink)}
.pf-legal__body h3 b{font-family:var(--display);font-weight:500;font-variant-numeric:tabular-nums;font-size:1.15em;letter-spacing:-.04em;color:var(--pink)}
.pf-legal__body h3 b::before{content:"/";font-weight:400;margin-right:.08em}
.pf-legal__body > p,.pf-legal__body > ol,.pf-legal__body > dl{margin-left:calc(clamp(2.6rem,3.4vw,3.6rem) + .5rem)}
.pf-legal__body p{font-size:var(--t-sm);line-height:1.75;margin-bottom:14px;max-width:40em}
.pf-legal__body p strong{color:var(--ink)}
.pf-legal__body a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:1.5px;text-underline-offset:4px}
.pf-legal__body a:hover{color:var(--pink)}
.pf-legal__body p:has(> .pf-legal__num){padding-left:3em;text-indent:-3em}
.pf-legal__num{display:inline-block;min-width:3em;text-indent:0;font-weight:700;font-variant-numeric:tabular-nums;color:var(--pink)}
.pf-legal__list{padding-left:1.6em;margin-bottom:16px;max-width:40em}
.pf-legal__list li{font-size:var(--t-sm);line-height:1.7;margin-bottom:8px;padding-left:.4em}
.pf-legal__list li::marker{font-weight:700;color:var(--pink)}
.pf-legal__defs{display:grid;grid-template-columns:max-content minmax(0,1fr);margin-bottom:18px;border-top:1px solid var(--rule);max-width:40em}
.pf-legal__defs dt,.pf-legal__defs dd{padding:12px 0;border-bottom:1px solid var(--rule);font-size:var(--t-sm);line-height:1.6}
.pf-legal__defs dt{font-family:var(--display);font-weight:600;letter-spacing:-.02em;color:var(--pink);padding-right:28px}
.pf-legal__body h3.pf-legal__kent{margin-top:clamp(56px,5vw,80px)}
.pf-legal__kent + p{background:var(--plum);color:var(--on-dark-2);border-radius:20px;padding:clamp(22px,2.4vw,34px);font-family:var(--serif);font-style:italic;font-size:var(--t-md)}

@media (max-width:900px){
  .legal__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .legal__toc,.legal__main{min-width:0}
  .legal__toc{position:static}
  .legal__toc ol{display:flex;gap:8px;overflow-x:auto;border:0;padding-bottom:6px;scrollbar-width:none;margin-inline:calc((100vw - 100%) / -2);padding-inline:calc((100vw - 100%) / 2)}
  .legal__toc ol::-webkit-scrollbar{display:none}
  .legal__toc li{border:0;flex:none}
  .legal__toc a{display:flex;gap:8px;padding:9px 16px;border:1.5px solid var(--rule);border-radius:999px;white-space:nowrap;font-size:.9375rem}
  .legal__mail{display:none}
  .legal__main{max-width:none}
}
@media (max-width:575px){
  .pf-legal__body > p,.pf-legal__body > ol,.pf-legal__body > dl{margin-left:0}
  .pf-legal__body h3{grid-template-columns:max-content minmax(0,1fr);column-gap:12px}
  .pf-legal__defs{grid-template-columns:1fr}
  .pf-legal__defs dt{border-bottom:0;padding-bottom:0}
  .pf-legal__defs dd{padding-top:2px}
}
@media print{
  .hdr,.legal__toc,.cta,.ftr,.stick{display:none!important}
  .hero--legal{background:none;color:#000;padding:0 0 24px}
  .legal__grid{display:block}
}

/* =========================================================
   LOCAL PAGE (wellington-professional-services.html)
   ========================================================= */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;max-width:40em}
.chips li{padding:9px 18px;border:1.5px solid var(--rule);border-radius:999px;font-size:var(--t-sm);font-weight:600;color:var(--ink);line-height:1.3}
.chips li::before{content:"/";color:var(--pink);margin-right:8px;font-weight:400}
.entry--dark .chips li{border-color:var(--line-dark);color:var(--on-dark)}
.entry--stone .chips li{background:var(--paper);border-color:var(--paper)}
.regions{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:40px;border-top:1px solid var(--line-dark)}
.regions li{padding:22px 18px 22px 0;border-bottom:1px solid var(--line-dark)}
.regions b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(1.375rem,1.8vw,2rem);letter-spacing:-.045em;line-height:1.05;color:var(--on-dark)}
.regions b .d{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--pink);color:transparent;overflow:hidden;line-height:0;margin-left:.04em}
.regions span{display:block;margin-top:8px;font-size:var(--t-xs);color:var(--on-dark-2)}
@media (max-width:1600px){.regions{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.regions{grid-template-columns:1fr}}

/* services page: every service, grouped */
.svc-all{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,3vw,56px);margin-top:44px;border-top:1px solid var(--rule)}
.svc-all > div{padding:26px 0 28px;border-bottom:1px solid var(--rule)}
.svc-all h3{font-family:var(--display);font-weight:600;font-size:clamp(1.375rem,1.7vw,1.875rem);letter-spacing:-.045em;line-height:1.1;color:var(--ink)}
.svc-all h3 .d{display:inline-block;width:.17em;height:.17em;border-radius:50%;background:var(--pink);color:transparent;overflow:hidden;line-height:0;margin-left:.04em}
.svc-all ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;margin-top:14px;font-size:var(--t-sm);line-height:1.5}
.svc-all li:not(:last-child)::after{content:"/";color:var(--pink);margin:0 10px}
.svc-all .go{margin-top:16px}
@media (max-width:700px){.svc-all{grid-template-columns:1fr}}

/* =========================================================
   FORMS (form-client.html, form-pro.html, form-procure.html)
   Bootstrap Studio Smart Forms: set Smart Form on each <form>
   in the Options panel, recipient assist@profer.co.nz.
   ========================================================= */
.hero--form{padding-bottom:clamp(64px,5vw,100px)}
.word--form{font-family:var(--display);font-weight:600;font-size:clamp(4.25rem,9.6vw,13.5rem);letter-spacing:-.055em}
.word--form i{animation:none;transform:translateY(.05em)}
.formsec{padding:clamp(72px,8vw,128px) 0 clamp(88px,9vw,150px)}
.formsec .hw .slashlist{margin-top:clamp(32px,3vw,48px)}
.next{list-style:none;margin-top:clamp(36px,3vw,52px);border-top:1px solid var(--rule)}
.next li{display:grid;grid-template-columns:3em minmax(0,1fr);gap:4px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:var(--t-sm);line-height:1.55}
.next li b{font-family:var(--display);font-weight:500;color:var(--pink);letter-spacing:-.03em}
.next li b i{font-style:normal;font-weight:400}
.next strong{display:block;color:var(--ink);font-weight:700}
.formsec .hw .micro{margin-top:24px}
.formsec .hw .micro a{color:var(--ink);font-weight:700;border-bottom:1.5px solid var(--pink)}

.pf-form{max-width:46rem}
.pf-form fieldset{border:0;padding:0;margin:0 0 clamp(44px,4vw,64px);min-width:0}
.pf-form legend{display:flex;align-items:baseline;gap:14px;width:100%;padding:0 0 18px;margin-bottom:26px;border-bottom:1px solid var(--ink);font-family:var(--display);font-weight:600;font-size:clamp(1.625rem,2.2vw,2.5rem);letter-spacing:-.05em;line-height:1.05;color:var(--ink)}
.pf-form legend .n{font-weight:500;font-size:.62em;color:var(--pink);letter-spacing:-.03em}
.pf-form legend .n i{font-style:normal;font-weight:400}
.pf-form fieldset.consent{margin-bottom:0}
.pf-form legend .d{display:inline-block;width:.16em;height:.16em;border-radius:50%;background:var(--pink);color:transparent;overflow:hidden;line-height:0;margin-left:.04em}
.fld{margin-bottom:24px;min-width:0}
.fld-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.fld > label:not(.file),.fld__label{display:block;margin-bottom:9px;font-size:var(--t-sm);font-weight:700;color:var(--ink)}
.fld > label em,.fld__label em{font-style:normal;color:var(--pink);margin-left:3px}
.fld > label small,.fld__label small{font-weight:500;color:var(--quiet);margin-left:6px}
.fld__hint{margin-top:8px;font-size:var(--t-xs);color:var(--quiet);line-height:1.5}
.pf-form input[type=text],.pf-form input[type=email],.pf-form input[type=tel],.pf-form input[type=url],.pf-form input[type=date],.pf-form select,.pf-form textarea{display:block;width:100%;min-height:56px;padding:14px 18px;border:1.5px solid var(--rule);border-radius:14px;background:#fff;font:inherit;font-size:var(--t-sm);color:var(--ink);transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.pf-form textarea{min-height:150px;resize:vertical;line-height:1.6}
.pf-form select{padding-right:48px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23ff6f7f' stroke-width='1.8'/%3E%3C/svg%3E") right 20px center/12px no-repeat;cursor:pointer}
.pf-form input::placeholder,.pf-form textarea::placeholder{color:#a8a1b1}
.pf-form input:hover,.pf-form select:hover,.pf-form textarea:hover{border-color:#c9c3cf}
.pf-form input:focus,.pf-form select:focus,.pf-form textarea:focus{outline:0;border-color:var(--pink);box-shadow:0 0 0 4px rgba(255,111,127,.18)}
.pf-form .was-checked :invalid{border-color:#d9465a}

/* pill options (radio / checkbox) */
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opt{position:relative;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 20px;border:1.5px solid var(--rule);border-radius:999px;background:#fff;font-size:var(--t-sm);font-weight:600;color:var(--ink);transition:border-color .2s,background-color .2s,color .2s}
.opt span::before{content:"";width:16px;height:16px;flex:none;border:1.5px solid #c9c3cf;border-radius:50%;transition:all .2s}
.opt input[type=checkbox] + span::before{border-radius:5px}
.opt:hover span{border-color:#c9c3cf}
.opt input:checked + span{border-color:var(--pink);background:#fff4f5}
.opt input:checked + span::before{border-color:var(--pink);background:var(--pink);box-shadow:inset 0 0 0 3px #fff}
.opt input:focus-visible + span{box-shadow:0 0 0 4px rgba(255,111,127,.25)}

/* tier cards (procure) */
.tierpick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tierpick .opt span{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:4px 14px;height:100%;padding:20px 22px;border-radius:18px}
.tierpick .opt span::before{margin-top:4px;grid-row:span 3}
.tierpick small{font-size:var(--t-xs);font-weight:700;color:var(--pink)}
.tierpick b{font-family:var(--display);font-weight:600;font-size:var(--t-lg);letter-spacing:-.035em;line-height:1.15}
.tierpick em{font-style:normal;font-weight:500;font-size:var(--t-xs);color:var(--quiet)}

/* file upload */
.file{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border:1.5px dashed #c9c3cf;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s,background-color .2s}
.file:hover,.file:focus-within{border-color:var(--pink);background:#fff8f9}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.file__ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--stone);color:var(--pink);font-size:1.5rem;line-height:1}
.file__txt{font-size:var(--t-sm);color:var(--quiet);line-height:1.45;min-width:0;overflow-wrap:anywhere}
.file__txt b{display:block;color:var(--ink)}

/* referee block */
.ref{padding:22px 22px 2px;border-radius:18px;background:var(--stone);margin-bottom:14px}
.ref__t{font-family:var(--display);font-weight:600;letter-spacing:-.03em;color:var(--ink);margin-bottom:16px}
.ref .fld input{border-color:#fff}

/* consent + submit */
.chk{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:16px;font-size:var(--t-sm);line-height:1.55;cursor:pointer}
.chk input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:1px;border:1.5px solid #c9c3cf;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s}
.chk input:checked{border-color:var(--pink);background:var(--pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231e2b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.chk input:focus-visible{box-shadow:0 0 0 4px rgba(255,111,127,.25);outline:0}
.chk a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:3px}
.chk em{font-style:normal;color:var(--pink)}
.submit{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:30px;padding-top:30px;border-top:1px solid var(--rule)}
.submit .btn{min-width:clamp(240px,18vw,320px);cursor:pointer;font-family:inherit}
@media (max-width:640px){
  .fld-row,.tierpick{grid-template-columns:1fr}
  .submit .btn{width:100%}
  .pf-form legend{flex-wrap:wrap;gap:4px 12px}
}
.form__h{font-size:var(--t-h2);font-weight:500;line-height:1.05;letter-spacing:-.05em;color:var(--ink);text-wrap:balance;margin-bottom:clamp(36px,3.4vw,56px)}
.entry--stone .pf-form .opt span,.entry--stone .pf-form input[type=text],.entry--stone .pf-form input[type=email],.entry--stone .pf-form input[type=tel],.entry--stone .pf-form select,.entry--stone .pf-form textarea,.entry--stone .file{border-color:#e4e0da}
.entry--stone .file__ico{background:var(--paper)}

/* FAQ page: jump links in the hero */
.faqjump{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(28px,2.4vw,40px)}
.faqjump a{display:inline-flex;padding:9px 18px;border:1.5px solid var(--line-dark);border-radius:999px;font-size:var(--t-xs);font-weight:600;color:var(--on-dark);transition:border-color .2s,color .2s}
.faqjump a::before{content:"/";color:var(--pink);margin-right:8px;font-weight:400}
.faqjump a:hover{border-color:var(--pink);color:var(--pink)}

/* logo menu: a dictionary entry */
.drop{width:min(360px,90vw);padding:22px 16px 18px}
.drop__word{padding:0 12px;font-family:var(--display);font-weight:600;font-size:2.75rem;line-height:.95;letter-spacing:-.055em;color:var(--on-dark);display:flex;align-items:center}
.drop__word i{width:.15em;height:.15em;border-radius:50%;background:var(--pink);margin:0 .06em;transform:translateY(.05em)}
.drop__pos{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px 14px;margin-bottom:6px;border-bottom:1px solid var(--line-dark);font-size:var(--t-xs);color:var(--on-dark-2)}
.drop__pos span{color:var(--pink)}
.drop__pos i{width:5px;height:5px;border-radius:50%;background:var(--pink)}
.drop__senses{list-style:none;counter-reset:sense}
.drop__senses li{counter-increment:sense}
.drop .drop__senses li a{justify-content:normal;align-items:start;font-size:inherit;letter-spacing:0;display:grid;grid-template-columns:1.6em minmax(0,1fr);column-gap:4px;padding:10px 12px;border-radius:12px;color:var(--on-dark);transition:background-color .15s,color .15s}
.drop .drop__senses li a::after{display:none}
.drop__senses a::before{content:counter(sense) ".";grid-row:1;align-self:center;font-weight:600;font-size:var(--t-sm);color:var(--pink)}
.drop__senses small{grid-column:2}
.drop__senses b{font-size:1.375rem;font-weight:500;letter-spacing:-.035em;line-height:1.2}
.drop__senses small{font-family:var(--serif);font-style:italic;font-size:.9375rem;color:var(--on-dark-2);line-height:1.35}
.drop__senses a:hover,.drop__senses a:focus-visible{background:rgba(255,255,255,.05)}
.drop__senses a:hover b,.drop__senses a[aria-current="page"] b{color:var(--pink)}
.drop__senses a[aria-current="page"] b::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--pink);margin-left:8px;vertical-align:middle}

/* headword full stops drop in as each section arrives (off for reduced motion) */
@keyframes dotdrop{0%{transform:translateY(-1.6em);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}
html.dots .hw__word .d{opacity:0}
html.dots .hw.in .hw__word .d{animation:dotdrop .85s cubic-bezier(.3,1.5,.5,1) .15s both}
@media (prefers-reduced-motion:reduce){html.dots .hw__word .d{opacity:1;animation:none!important}}
