/* Round 38 (6 Nov): sitewide fixes */
/* Text is black or white only, never grey */
:root{--muted:#111111;--soft:#111111;--on-dark:#FFFFFF}
.ri,.ri.on{opacity:1!important}
.prose,.prose2{color:#111}
.mksec li{color:#fff!important}

/* About: Our standard merged with the moving image strips, fits one screen */
.stdm{background:#fff;padding-block:clamp(48px,4.4vw,80px)}
.stdm .ppl-g{align-items:center}
.stdm .tx{gap:18px}
.stdm .tx>p{color:#111;line-height:1.7;max-width:540px}
.stdm .h2{margin-top:6px}
.stdl{display:flex;flex-direction:column;width:100%;margin-top:6px;border-top:1px solid var(--line)}
.stdl article{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.stdl .n{font-size:13px;letter-spacing:.12em;color:var(--red);padding-top:4px}
.stdl h3{font-weight:400;font-size:clamp(17px,1.1vw,20px);text-transform:uppercase;letter-spacing:.02em;line-height:1.3;color:#111}
.stdl p{font-size:15px;line-height:1.6;color:#111;margin-top:6px}
.stdm .ppl-cols{height:min(calc(100svh - var(--hh) - 120px),720px);min-height:520px}
@media (max-width:900px){.stdm .ppl-cols{height:440px;min-height:0}}

/* About: founder photo a little larger */
.fnd .pic.kb{max-width:480px}

/* Our approach: category pills in green outline */
.fs li{border-color:var(--green)!important;color:#111}

/* Inner-page testimonial slider */
.qsl{display:grid;width:100%;max-width:880px;margin-inline:auto;touch-action:pan-y}
.qs{grid-area:1/1;display:flex;flex-direction:column;align-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .9s var(--out,ease),transform .9s var(--out,ease),visibility 0s .9s}
.qs.on{opacity:1;visibility:visible;transform:none;transition:opacity .9s var(--out,ease) .15s,transform .9s var(--out,ease) .15s,visibility 0s}
.qx .qband .qs blockquote{font-size:clamp(17px,1.3vw,23px);line-height:1.6;max-width:860px;color:#111;text-align:center}
.qs cite{margin-top:28px;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#111;position:relative;padding-top:22px;text-align:center}
.qs cite::before{content:"";position:absolute;left:50%;top:0;width:40px;height:1px;margin-left:-20px;background:var(--green)}
.qs cite b{font-weight:500}
.qctl{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:36px}
.qarr{width:44px;height:44px;border-radius:50%;border:1px solid rgba(17,17,17,.2);background:none;color:#111;display:grid;place-items:center;cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.qarr:hover{border-color:var(--green);background:var(--green);color:#fff}
.qarr svg{width:18px;height:18px}
.qdots{display:flex;gap:8px}
.qdots button{width:32px;height:14px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.qdots button::before,.qdots button i{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:rgba(17,17,17,.18)}
.qdots button i{background:var(--red);transform:scaleX(0);transform-origin:left}
.qdots button.done i{transform:scaleX(1)}
.qdots button.on i{transform:scaleX(1)}
.qdots button.on.run i{transform:scaleX(0);animation:qfill var(--qdur,8s) linear forwards}
.qband.hold .qdots button.on.run i{animation-play-state:paused}
@keyframes qfill{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.qs,.qs.on{transition:none}}

/* Testimonial cards (home and about): smaller */
@media (min-width:901px){
.tst .tsl{--cw:min(900px,64vw);min-height:340px}
.tst .tc{grid-template-columns:auto minmax(0,1fr)}
.tst .tc .tx{padding:clamp(24px,2.4vw,40px) clamp(24px,2.8vw,48px)}
.tst .tc .tx::before{font-size:60px;height:24px}
.tst .tc blockquote{font-size:clamp(14px,.95vw,16px);line-height:1.62}
.tst .tc .who{margin-top:18px;padding-top:16px}
}

/* Typography: no stranded words, balanced titles, even spacing under intro titles */
p,li,blockquote,.lead,.hsub{text-wrap:pretty}
h1,h2,h3,.ovt{text-wrap:balance}
.brd{display:none}
@media (min-width:901px){.brd{display:inline}}
.ovt{max-width:none!important;margin-bottom:0!important}
.ov .tx .ovt+p.first{margin-top:0!important}
@media (min-width:901px){.phero h1 .ln>span{white-space:nowrap}.phero h1{max-width:none}}

/* Packages: four options incl. Hostesses Only */
@media (min-width:1001px){.pkg2 .pk2s{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1001px) and (max-width:1300px){.pkg2 .pk2s{grid-template-columns:repeat(2,1fr)}}
.pkg2 .pk2 .pop{top:clamp(22px,2vw,32px);right:clamp(22px,2vw,32px)}
@media (min-width:1101px){.pkts{grid-template-columns:repeat(4,1fr)!important}}

/* Services: "Seven ways" rows a little larger */
#slist .si{padding:clamp(22px,2vw,34px) 0}
#slist .si h3{font-size:clamp(24px,2.35vw,42px)}
#slist .si p{font-size:clamp(16px,1.12vw,19px)}
#slist .si .n{font-size:13px}
@media (max-width:700px){.qarr{display:none}.qdots button{width:24px}.qctl{margin-top:24px}.qx .qband .qs blockquote{font-size:17px}}

/* Round 41: labels on dark backgrounds back to white */
.fnd,.ctab,.std,.cdet2,.enq,.roles-sec,footer,.svc,.mk .tx,.pk2.hl,.qg,.iband{--muted:#fff;--soft:#fff}
.crumb.dk a,.crumb.dk span{color:#111}
.fcard{--muted:#111;--soft:#111}

/* About: Our standard points open on hover or tap */
.stdl article{cursor:pointer}
.stdl article>div{position:relative;padding-right:36px}
.stdl h3{margin:0}
.stdl article>div::after{content:"";position:absolute;right:4px;top:4px;width:14px;height:14px;background:linear-gradient(#111,#111) center/14px 1.2px no-repeat,linear-gradient(#111,#111) center/1.2px 14px no-repeat;transition:transform .5s var(--out,ease)}
.stdl article.open>div::after{transform:rotate(45deg)}
.stdl p{max-height:0;opacity:0;overflow:hidden;margin-top:0!important;transition:max-height .6s var(--out,ease),opacity .4s,margin-top .6s var(--out,ease)}
.stdl article.open p{max-height:160px;opacity:1;margin-top:8px!important}
@media (hover:hover) and (pointer:fine){.stdl article:hover p{max-height:160px;opacity:1;margin-top:8px!important}.stdl article:hover>div::after{transform:rotate(45deg)}}
