/* Brightline Studio / website designers kit (PRO-WEB). Dark studio look: near-black ground, warm off-white text, one yellow
   accent (#F9C00A). Outfit display headings, Manrope text, Instrument Serif italics for <em> accents, yellow <mark> highlight.
   Own CSS only (no page-builder styles). Shared left edge: .hdr and every .wrap use base.css --max + --gutter. */
:root{--container:1280px;--max:var(--container);--gutter:clamp(18px,4vw,56px);--y:#F9C00A;--y2:#D6A509;--on-y:#121212;--r:22px;--r-sm:14px;--r-pill:999px;
  --strip-h:34px;--hdr-row:76px;--header-h:calc(var(--strip-h) + var(--hdr-row));--sec:clamp(4.5rem,9vw,8rem);
  --panel:var(--bg2);--card2:var(--bg3);--hair:1px solid rgba(var(--ink-rgb),.09);--hair2:1px solid rgba(var(--ink-rgb),.16)}
@media (max-width:1180px){:root{--hdr-row:68px}}
@media (max-width:760px){:root{--strip-h:30px;--hdr-row:62px}}
html,body{background:var(--bg);color:var(--cream)}
body{font-family:var(--sans);font-weight:400;font-size:clamp(1rem,.97rem + .15vw,1.06rem);line-height:1.65;letter-spacing:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;line-height:1.05}
em{font-family:var(--display);font-style:italic;font-weight:400;color:var(--acc-ink);letter-spacing:-.005em}
mark{background:var(--y);color:var(--on-y);padding:0 .14em .02em;border-radius:.14em;font-family:var(--display);font-style:italic;font-weight:400;box-decoration-break:clone;-webkit-box-decoration-break:clone}
strong{font-weight:700}
::selection{background:var(--y);color:var(--on-y)}
:focus-visible{outline:2px solid var(--y);outline-offset:3px}
.sec,.ws-sec{padding:var(--sec) 0;position:relative}
.ws-sec + .ws-sec{padding-top:calc(var(--sec) * .7)}

/* ---------- type helpers ---------- */
.ws-eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--acc-ink);margin:0 0 1rem}
.ws-eyebrow--c{text-align:center}
.ws-eyebrow--muted{color:var(--muted)}
.ws-eyebrow--line{display:flex;align-items:center;gap:.8rem}
.ws-eyebrow--line::before{content:"";width:28px;height:1px;background:var(--y)}
.ws-h1{font-size:clamp(2.75rem,6.4vw,5.75rem);line-height:.98;letter-spacing:-.035em;margin:0;text-wrap:balance}
.ws-h1--l{font-size:clamp(2.6rem,5.4vw,5rem)}
.ws-h1--c{text-align:center;margin-inline:auto;max-width:15ch}
.ws-h2{font-size:clamp(2.2rem,4.6vw,4.1rem);line-height:1.02;letter-spacing:-.03em;margin:0;text-wrap:balance}
.ws-h2--c{text-align:center;margin-inline:auto}
.ws-h2--xl{font-size:clamp(2.4rem,5vw,4.6rem)}
.ws-h3{font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.02em;margin:0 0 .8rem}
.ws-lead,.ws-hero-lead{color:var(--muted);font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.65;max-width:38rem;margin:1.2rem 0 0}
.ws-lead--c,.ws-hero-lead--c{text-align:center;margin-inline:auto}
p.ws-sub{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.2;margin:1rem 0 0;text-align:center}
p.ws-sub--sm{font-size:clamp(1.15rem,1.8vw,1.5rem)}
p.ws-sub--l{text-align:left}
.ws-head{margin:0 0 clamp(2rem,4vw,3.5rem)}
.ws-head--center{text-align:center;max-width:52rem;margin-inline:auto}
.ws-head--split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:end}
.ws-head--split .ws-lead{margin-top:0}
.ws-head-side{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.ws-num{display:inline-grid;place-items:center;min-width:2.3rem;height:2.3rem;padding:0 .5rem;border-radius:10px;border:1px solid rgba(249,192,10,.45);color:var(--acc-ink);font-family:var(--serif);font-size:.78rem;font-weight:600;letter-spacing:.02em}
.ws-num--fill{background:var(--y);border-color:var(--y);color:var(--on-y)}
.ws-num--ring{border-radius:50%;width:2.6rem;height:2.6rem;min-width:2.6rem}
.ws-tag{display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.38rem .8rem;border-radius:var(--r-pill);background:rgba(18,18,18,.72);color:#F2F2EE;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ws-tag--plain{background:transparent;color:inherit;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.ws-stars{display:inline-flex;gap:2px;color:var(--y)}

/* ---------- buttons ---------- */
.ws-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.ws-btns--c{justify-content:center}
.ws-btn,.btn,.btn--gold{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:50px;padding:.8rem 1.45rem;border-radius:var(--r-pill);border:1px solid var(--y);background:var(--y);color:var(--on-y);font-family:var(--sans);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.1;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease),box-shadow .3s;box-shadow:0 10px 30px -14px rgba(249,192,10,.6)}
.btn::before{content:none}
.ws-btn .i,.btn .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.ws-btn:hover,.btn:hover,.ws-btn:focus-visible{background:#FFD23F;border-color:#FFD23F;color:var(--on-y);transform:translateY(-2px)}
.ws-btn:hover .i{transform:translate(2px,-2px)}
.ws-btn--ghost,.btn--ghost{background:transparent;color:var(--cream);border-color:rgba(var(--ink-rgb),.55);box-shadow:none}
.ws-btn--ghost:hover,.btn--ghost:hover{background:var(--cream);border-color:var(--cream);color:var(--bg)}
.ws-btn--dark{background:#121212;border-color:#121212;color:#F2F2EE;box-shadow:none}
.ws-btn--dark:hover{background:#2A2A28;border-color:#2A2A28;color:#fff}
.ws-btn--sm{min-height:42px;padding:.55rem 1.05rem;font-size:.7rem}
.btn--block{width:100%}
.ws-textlink{display:inline-flex;align-items:center;gap:.7rem;margin:1.2rem 0 0;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cream)}
.ws-arrow{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--cream);color:var(--bg);transition:transform .4s var(--ease),background .3s}
.ws-arrow .i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}
.ws-arrow--sm{width:38px;height:38px}
.ws-arrow--y{background:var(--y);color:var(--on-y);width:38px;height:38px}
a:hover > .ws-arrow,a:hover .ws-arrow{transform:rotate(45deg);background:var(--y);color:var(--on-y)}

/* ---------- header: yellow info strip + dark bar ---------- */
.site-header.ws-header,.site-header.ws-header.is-solid{height:var(--header-h);background:rgba(var(--bg-rgb),.9);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:var(--hair);box-shadow:none}
.site-header.ws-header::before{content:none;display:none}
.ws-strip{height:var(--strip-h);background:var(--y);color:var(--on-y);overflow:hidden;display:flex;align-items:center}
.ws-strip-track{display:flex;width:max-content;animation:wsMarq 38s linear infinite}
.ws-strip-set{display:flex;align-items:center;flex:none}
.ws-strip a,.ws-strip b{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--on-y)}
.ws-strip a{padding:0 1.4rem}
.ws-strip a:hover{text-decoration:underline}
.ws-strip b{font-weight:400;font-size:.7rem}
.ws-strip:hover .ws-strip-track{animation-play-state:paused}
.ws-hdr-main{height:var(--hdr-row)}
.ws-hdr-main .hdr{gap:1.5rem}
.site-header .logo{height:var(--logo-h);width:auto;max-width:min(200px,46vw);object-fit:contain;object-position:left center}
:root{--logo-h:50px}
@media (max-width:1180px){:root{--logo-h:44px}}
@media (max-width:520px){:root{--logo-h:38px}}
.theme-dark .site-header .logo--dark,.site-footer .logo--dark{opacity:1!important;visibility:visible!important}
.theme-dark .site-header .logo--light,.site-footer .logo--light{opacity:0!important;visibility:hidden!important}
.theme-light .site-header .logo--light{opacity:1!important;visibility:visible!important}
.theme-light .site-header .logo--dark{opacity:0!important;visibility:hidden!important}
.ws-nav{margin-left:auto}
.ws-nav > ul{display:flex;align-items:center;gap:clamp(.9rem,1.6vw,1.8rem)}
.site-header .ws-nav a,.ws-subbtn{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:.86rem;font-weight:600;letter-spacing:0;text-transform:none;color:rgba(var(--ink-rgb),.86)!important;transition:color .25s}
.site-header .ws-nav a::after{content:none}
.site-header .ws-nav > ul > li > a:hover,.ws-subbtn:hover,.site-header .ws-nav > ul > li > a[aria-current],.ws-subbtn[aria-current]{color:var(--acc-ink)!important}
.ws-subbtn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .4s var(--ease)}
.has-sub{position:relative}
.has-sub .ws-sub,ul.ws-sub{position:absolute;top:calc(100% + 6px);left:-20px;z-index:40;width:340px;margin:0;padding:8px;list-style:none;display:flex;flex-direction:column;gap:2px;background:var(--panel);border:var(--hair2);border-radius:18px;box-shadow:0 30px 60px -24px rgba(var(--shadow-rgb),.7);opacity:0;visibility:hidden;translate:0 8px;transition:opacity .3s,translate .4s var(--ease),visibility .3s;text-align:left;font-size:15px;line-height:1.3;text-shadow:none}
.has-sub:hover .ws-sub,.has-sub:focus-within .ws-sub,.has-sub.is-open .ws-sub{opacity:1;visibility:visible;translate:0 0}
.has-sub--end .ws-sub{left:auto;right:-20px}
.has-sub:hover .ws-subbtn svg,.has-sub.is-open .ws-subbtn svg{transform:rotate(180deg)}
.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.site-header .ws-sub a,.site-header:not(.is-solid) .ws-sub a{display:flex!important;align-items:center;gap:12px;width:100%;min-height:0;padding:10px 12px;border-radius:10px;color:var(--cream)!important;transition:background .25s;text-align:left;text-shadow:none!important;font-size:15px;line-height:1.3;font-weight:400}
.ws-sub-ic{flex:none;width:42px;height:42px;border-radius:11px;background:var(--y);color:var(--on-y);display:flex;align-items:center;justify-content:center}
.ws-sub-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ws-sub-txt{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0;flex:1;text-align:left}
.site-header .ws-sub a .ws-sub-txt b,.ws-sub-txt b{display:block;font-family:var(--serif);font-size:15px;font-weight:600;line-height:1.3;color:var(--cream);text-align:left;text-shadow:none;width:100%}
.site-header .ws-sub a .ws-sub-txt > span,.ws-sub-txt > span{display:block;font-family:var(--sans);font-size:12px;font-weight:500;line-height:1.35;color:var(--muted);text-align:left;text-shadow:none;width:100%}
.site-header .ws-sub a:hover,.site-header .ws-sub a[aria-current]{background:rgba(var(--ink-rgb),.06)}
.site-header .ws-sub a:hover b,.site-header .ws-sub a[aria-current] b{color:var(--acc-ink)}
.hdr-actions{gap:.6rem}
.theme-toggle,.burger{width:44px;height:44px;border-radius:50%;border:var(--hair2)!important;background:transparent!important;color:var(--cream)!important}
.theme-toggle:hover,.burger:hover{border-color:var(--y)!important}
.site-header .tdn-lang-btn,.site-header [data-tdn-lang] button{color:var(--cream)!important}
.hdr-cta{box-shadow:none}
.hdr-cta.is-footer-book-visible{opacity:1;pointer-events:auto}
@media (max-width:1180px){.ws-nav{display:none}}
@media (max-width:1180px){.site-header .hdr-cta{order:-1}}
@media (max-width:560px){.ws-hdr-main .hdr{gap:.6rem}}


/* ---------- mobile menu ---------- */
.mnav-bg{background:radial-gradient(90% 50% at 85% 0%,rgba(249,192,10,.12),transparent 60%),var(--bg)}
.mnav-inner{padding-top:calc(var(--header-h) + 1.4rem)}
.ws-mlist{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.ws-mlist > li > a{display:block;padding:.55rem 0;border-bottom:var(--hair)}
.ws-mlist .mnav-l{font-family:var(--serif);font-size:clamp(1.5rem,6vw,2.1rem);font-weight:600;letter-spacing:-.02em;color:var(--cream)}
.ws-mlist a[aria-current] .mnav-l{color:var(--acc-ink)}
.ws-mlist .mnav-gl{margin:.9rem 0 .3rem;font-family:var(--sans);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--acc-ink)}
.ws-mlist .mnav-grp ul{list-style:none;margin:0 0 .4rem;padding:0;display:grid;grid-template-columns:1fr;gap:6px}
.ws-mlist .mnav-grp a{display:flex;align-items:center;gap:12px;padding:10px 12px;border:var(--hair);border-radius:12px;background:var(--panel);font-size:15px;line-height:1.3;font-weight:400;text-align:left;text-shadow:none;min-height:0}
.ws-mlist .mnav-grp a .ws-sub-txt{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0;flex:1;text-align:left}
.ws-mlist .mnav-grp a .ws-sub-txt b{display:block;font-family:var(--serif);font-size:15px;font-weight:600;line-height:1.3;color:var(--cream);text-align:left;text-shadow:none;width:100%}
.ws-mlist .mnav-grp a .ws-sub-txt > span{display:block;font-size:12px;font-weight:500;color:var(--muted);line-height:1.35;text-align:left;text-shadow:none;width:100%}
.ws-mlist .mnav-grp a[aria-current]{border-color:var(--y);background:rgba(var(--ink-rgb),.06)}
.ws-mlist .mnav-grp a:hover{background:rgba(var(--ink-rgb),.06)}
.mnav-foot .ws-btn{width:100%}
.mnav-info{display:grid;gap:.6rem;margin-top:1.2rem;font-size:.9rem;color:var(--muted)}
.mnav-info a,.mnav-info p{display:flex;align-items:center;gap:.6rem;margin:0}
.mnav-info svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--y);stroke-width:1.8}

/* ---------- footer ---------- */
.ws-chatbtn{position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:90;display:flex;align-items:center;gap:.6rem}
.ws-chatbtn-l{padding:.55rem .95rem;border-radius:var(--r-pill);background:var(--bg2);border:var(--hair2);color:var(--cream);font-size:.78rem;font-weight:600;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.ws-chatbtn-i{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--y);color:var(--on-y);box-shadow:0 14px 30px -10px rgba(249,192,10,.55);transition:transform .3s var(--ease)}
.ws-chatbtn-i svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.ws-chatbtn:hover .ws-chatbtn-i{transform:scale(1.07)}
@media (max-width:760px){.ws-chatbtn-l{display:none}.ws-chatbtn-i{width:50px;height:50px}}
.site-footer.ws-footer{background:var(--foot);color:#F2F2EE;padding:clamp(4rem,8vw,6.5rem) 0 0;border-top:var(--hair);overflow:hidden;--cream:#F2F2EE;--muted:#A6A69F;--ink-rgb:242,242,238;--acc-ink:#F9C00A}
.ws-ft-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(1.8rem,4vw,4rem)}
.ws-ft-brand .logo{height:56px;width:auto}
.ft-blurb{margin:1.2rem 0 0;max-width:26rem;color:#A6A69F;font-size:.92rem}
.ws-footer .ft-h{margin:0 0 1rem;font-family:var(--sans);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--y)}
.ws-footer .ft-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.92rem}
.ws-footer .ft-list a{color:#D8D8D2;transition:color .25s}
.ws-footer .ft-list a:hover{color:var(--y)}
.ws-footer .ft-list--plain li{color:#A6A69F}
.ws-footer .social{margin-top:1rem}
.ws-word{margin:clamp(3rem,7vw,5.5rem) 0 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:clamp(.6rem,1.4vw,1.2rem) 0}
.ws-word-track{display:flex;width:max-content;animation:wsMarq 60s linear infinite}
.ws-word-set{display:flex;align-items:center;flex:none}
.ws-word-b,.ws-word-em{font-size:clamp(3.6rem,11vw,10rem);line-height:1;letter-spacing:-.04em;white-space:nowrap;padding:0 .25em}
.ws-word-b{font-family:var(--serif);font-weight:600;color:#F2F2EE}
.ws-word-em{font-family:var(--display);font-style:italic;color:var(--y)}
.ws-word-set b{color:var(--y);font-size:clamp(1.4rem,3vw,2.6rem);font-weight:400}
.ws-footer .ft-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding:1.6rem 0 2rem;font-size:.82rem;color:#A6A69F}
.ws-footer .ft-bottom p{margin:0}
.ws-footer .ft-bottom a{color:#D8D8D2}
.ws-footer .ft-bottom a:hover{color:var(--y)}
.ws-footer .tdn-pp-stack{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center}
.ws-footer .tdn-pp-stack p{margin:0}
.ws-top{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
@media (max-width:960px){.ws-ft-grid{grid-template-columns:1fr 1fr}.ws-ft-brand{grid-column:1/-1}}
@media (max-width:520px){.ws-ft-grid{grid-template-columns:1fr}.ws-footer .ft-bottom{flex-direction:column;align-items:flex-start;padding-right:4.5rem;padding-bottom:4.5rem}.ws-footer .ft-bottom .tdn-pp-stack,.ws-footer .ft-bottom .ws-top{align-self:flex-end;text-align:right}.ws-footer .tdn-pp-stack{flex-direction:column;align-items:flex-end;justify-content:flex-end}.ws-footer .tdn-pp-stack>.tdn-pp-in,.ws-footer .tdn-pp-stack[data-align]>.tdn-pp-in{justify-content:flex-end;text-align:right}}
@keyframes wsMarq{to{transform:translate3d(-50%,0,0)}}
[data-ws-marquee].is-paused{animation-play-state:paused}
@keyframes wsMarq3{to{transform:translate3d(-33.3333%,0,0)}}
.ws-strip-track,.ws-word-track{animation-name:wsMarq3}
@keyframes wsMarqR{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media (prefers-reduced-motion:reduce){[data-ws-marquee]{animation:none!important}}

/* ---------- hero backgrounds (grid + glow) ---------- */
.ws-hero,.ws-phero{position:relative;overflow:hidden;isolation:isolate;padding:calc(var(--header-h) + clamp(3rem,7vw,5.5rem)) 0 clamp(3.5rem,7vw,6rem)}
.ws-hero-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(var(--ink-rgb),.045) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--ink-rgb),.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent);mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent)}
.ws-hero-glow{position:absolute;z-index:-1;left:50%;top:18%;width:min(900px,90vw);aspect-ratio:2/1;translate:-50% 0;background:radial-gradient(closest-side,rgba(249,192,10,.16),transparent);filter:blur(10px);pointer-events:none}
.ws-hero-in{text-align:center}
.ws-chip{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.6rem;padding:.35rem .9rem .35rem .35rem;border-radius:var(--r-pill);border:var(--hair2);background:rgba(var(--ink-rgb),.04);font-size:.78rem;font-weight:600;color:var(--cream)}
.ws-chip-b{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--r-pill);background:var(--y);color:var(--on-y);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ws-hero .ws-h1{max-width:15ch;margin-inline:auto}
.ws-hero-row{display:flex;justify-content:center;align-items:center;gap:1.5rem 2.5rem;flex-wrap:wrap;margin-top:1.6rem}
.ws-hero-row .ws-hero-lead{margin:0;max-width:30rem;text-align:left;font-size:1rem}
.ws-hero-row .ws-btns{margin:0}
.ws-hero-stage{position:relative;margin:clamp(2.5rem,5vw,4rem) auto 0;max-width:1100px}
.ws-scroll-hint{display:block;width:22px;height:34px;margin:2.2rem auto 0;border:1.5px solid rgba(var(--ink-rgb),.35);border-radius:12px;position:relative}
.ws-scroll-hint i{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--y);animation:wsHint 1.8s ease-in-out infinite}
@keyframes wsHint{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(10px)}}

/* ---------- devices (CSS frames) ---------- */
.ws-dev{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0;isolation:isolate}
.ws-dev-screen{overflow:hidden;background:#0c0c0c}
.ws-dev-screen img,.ws-scr{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.ws-dev-desk{position:relative;z-index:1;width:46%;display:flex;flex-direction:column;align-items:center}
.ws-dev-desk .ws-dev-screen{width:100%;aspect-ratio:16/10;border:clamp(5px,.7vw,9px) solid #1d1d1d;border-radius:12px;box-shadow:0 30px 60px -25px rgba(0,0,0,.7)}
.ws-dev-stand{width:18%;height:clamp(18px,3vw,40px);background:linear-gradient(#cfcfcf,#9a9a9a);clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}
.ws-dev-stand::after{content:"";display:block}
.ws-dev-lap{position:relative;z-index:2;width:44%;margin-left:-6%;display:flex;flex-direction:column;align-items:center}
.ws-dev-lap .ws-dev-screen{width:84%;aspect-ratio:16/10;border:clamp(4px,.6vw,8px) solid #1d1d1d;border-bottom-width:clamp(6px,.9vw,12px);border-radius:10px 10px 0 0}
.ws-dev-base{display:block;width:100%;height:clamp(7px,1vw,13px);border-radius:0 0 14px 14px;background:linear-gradient(#d9d9d9,#a7a7a7);box-shadow:0 18px 30px -16px rgba(0,0,0,.7)}
.ws-dev-tab{position:relative;z-index:3;width:20%;margin-left:-5%}
.ws-dev-tab .ws-dev-screen{aspect-ratio:3/4;border:clamp(4px,.6vw,8px) solid #1d1d1d;border-radius:14px;box-shadow:0 24px 40px -20px rgba(0,0,0,.7)}
.ws-dev-phone{position:relative;z-index:4;width:11%;margin-left:-3%}
.ws-dev-phone .ws-dev-screen{aspect-ratio:9/19;border:clamp(3px,.45vw,6px) solid #1d1d1d;border-radius:clamp(10px,1.4vw,20px);box-shadow:0 24px 40px -18px rgba(0,0,0,.75)}
.ws-dev:not(:has(.ws-dev-desk)) .ws-dev-lap{width:70%;margin-left:0}
.ws-dev:not(:has(.ws-dev-desk)) .ws-dev-tab{width:26%}
.ws-dev:not(:has(.ws-dev-desk)) .ws-dev-phone{width:17%;margin-left:-9%}
.ws-dev:not(:has(.ws-dev-desk)):not(:has(.ws-dev-lap)) .ws-dev-tab{width:62%;margin-left:0}
.ws-dev:not(:has(.ws-dev-desk)):not(:has(.ws-dev-lap)) .ws-dev-tab .ws-dev-screen{aspect-ratio:4/3}
.ws-dev:not(:has(.ws-dev-desk)):not(:has(.ws-dev-lap)) .ws-dev-phone{width:24%;margin-left:-12%}
.ws-dev--hero{max-width:1000px;margin:0 auto}
/* floating cards around hero devices */
.ws-float{position:absolute;z-index:5;display:flex;align-items:center;gap:.7rem;padding:.7rem .95rem;border-radius:16px;background:rgba(var(--bg-rgb),.86);border:var(--hair2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 40px -20px rgba(0,0,0,.6);text-align:left;animation:wsBob 6s ease-in-out infinite}
.ws-float p{margin:0}
.ws-float-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--y);color:var(--on-y)}
.ws-float-ic .i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.ws-float-t{font-size:.84rem;font-weight:700;color:var(--cream)}
.ws-float-s{font-size:.72rem;color:var(--muted);line-height:1.3}
.ws-float-v{font-family:var(--serif);font-size:1.6rem;font-weight:600;letter-spacing:-.02em;color:var(--cream);line-height:1}
.ws-float--l{left:-2%;top:6%}
.ws-float--r{right:-2%;top:0;animation-delay:-2s}
.ws-float--r2{right:0;top:26%;animation-delay:-4s}
.ws-float--tl{left:-6%;top:10%}
.ws-float--br{right:-6%;bottom:16%;animation-delay:-3s}
.ws-faces{display:flex}
.ws-faces i{display:grid;place-items:center;width:26px;height:26px;margin-left:-6px;border-radius:50%;border:2px solid var(--bg);background:var(--y);color:var(--on-y);font-style:normal;font-size:.66rem;font-weight:800}
.ws-faces i:first-child{margin-left:0}.ws-faces i:nth-child(2){background:#F2F2EE}.ws-faces i:nth-child(3){background:#A6A69F}
@keyframes wsBob{50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.ws-float{animation:none}}
.ws-circle{position:absolute;left:4%;bottom:6%;z-index:5;width:clamp(86px,9vw,118px);aspect-ratio:1;border-radius:50%;background:var(--y);color:var(--on-y);display:grid;place-items:center}
.ws-circle svg{position:absolute;inset:0;width:100%;height:100%;animation:wsSpin 16s linear infinite}
.ws-circle text{font-size:9.4px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;fill:var(--on-y)}
.ws-circle > span{display:grid;place-items:center;width:38%;aspect-ratio:1;border-radius:50%;background:#121212;color:var(--y)}
.ws-circle .i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}
.ws-circle--sm{left:auto;right:-4%;bottom:-4%}
@keyframes wsSpin{to{transform:rotate(360deg)}}

/* ---------- logos strip (white band) ---------- */
.ws-logos{background:#FFFFFF;color:#121212;padding:1.6rem 0 1.8rem}
.theme-dark .ws-logos,.theme-light .ws-logos{background:#FFFFFF;color:#121212}
.ws-logos-l{margin:0 0 1rem;font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#55554F;display:flex;align-items:center;gap:1rem}
.ws-logos-l::after{content:"";flex:1;height:1px;background:#E2E2DC}
.ws-logos-rail{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ws-logos-rail:hover .ws-logos-track{animation-play-state:paused}
.ws-logos-track{display:flex;width:max-content;margin:0;padding:0;list-style:none;animation:wsMarq 130s linear infinite}
.ws-logo{flex:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:12.5vw;height:72px;padding:0 .85rem;border-right:1px solid #ECECE6;color:#3A3A36}
.ws-logo img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain;display:block}
.ws-logo--text{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-logo--text.ws-logo--0{font-family:var(--serif);font-weight:700;letter-spacing:-.02em}
.ws-logo--text.ws-logo--1{font-family:var(--display);font-style:italic;font-size:1.15rem}
.ws-logo--text.ws-logo--2{font-family:var(--sans);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}
.ws-logo--text.ws-logo--3{font-family:var(--serif);font-weight:300;letter-spacing:.04em}
.ws-logo--text.ws-logo--4{font-family:var(--sans);font-weight:700}
.ws-logo--text.ws-logo--5{font-family:var(--display);font-size:1.1rem}
@media (max-width:1100px){.ws-logo{width:25vw}}
@media (max-width:700px){.ws-logo{width:33.333vw;height:64px}.ws-logo img{max-height:36px}}

/* ---------- panels, photos ---------- */
.ws-panel{background:var(--panel);border:var(--hair);border-radius:clamp(22px,3vw,34px);padding:clamp(1.6rem,4.5vw,4.2rem)}
.ws-panel--glow{background:radial-gradient(60% 80% at 100% 0%,rgba(249,192,10,.12),transparent 60%),var(--panel)}
.ws-photo{position:relative;border-radius:var(--r);margin:0}
.ws-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--r);position:relative;z-index:1}
.ws-photo--offset{margin:0 14px 14px 0}
.ws-photo--offset::before{content:"";position:absolute;inset:14px -14px -14px 14px;border-radius:var(--r);background:var(--y);z-index:0}
.ws-photo--offset img{aspect-ratio:4/3.2}
.ws-photo--sm{max-width:420px;margin-top:2rem}
.ws-photo--sm img{aspect-ratio:16/10}
.ws-photo--hero img{aspect-ratio:4/4.6}
.ws-photo-cap{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;margin:0;display:flex;flex-direction:column;gap:.1rem;padding:.8rem 1rem;border-radius:14px;background:rgba(18,18,18,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#F2F2EE;font-size:.78rem}
.ws-photo-cap b{font-size:.92rem}
.ws-photo-cap span{color:#A6A69F}
.ws-photo-cap--in{right:auto}
.ws-pchip{position:absolute;z-index:2;left:1rem;bottom:1rem;margin:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:var(--r-pill);background:rgba(18,18,18,.8);color:#F2F2EE;font-size:.76rem;font-weight:600}
.ws-pchip i{width:8px;height:8px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 4px rgba(74,222,128,.2)}
.ws-note{position:absolute;z-index:2;right:-1rem;bottom:-1.4rem;margin:0;padding:1rem 1.3rem;border-radius:16px;background:var(--y);color:var(--on-y);rotate:-4deg;font-size:1.5rem;line-height:1.05;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.ws-note em{color:var(--on-y)}
.ws-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}

/* ---------- why ---------- */
.ws-why-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.ws-numcards{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ws-numcard{padding:1.2rem 1.2rem 1.3rem;border-radius:var(--r-sm);border:var(--hair);background:radial-gradient(80% 100% at 100% 0%,rgba(249,192,10,.08),transparent 70%),var(--card2)}
.ws-numcard h3{margin:.9rem 0 .35rem;font-size:1.08rem;letter-spacing:-.01em}
.ws-numcard p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.5}

/* ---------- ribbon ---------- */
.ws-ribbon-sec{padding:clamp(2.5rem,5vw,4rem) 0;overflow:hidden}
.ws-ribbon{background:var(--y);color:var(--on-y);rotate:-2.2deg;margin:0 -2%;padding:clamp(.7rem,1.4vw,1.1rem) 0;overflow:hidden;box-shadow:0 20px 40px -24px rgba(0,0,0,.5)}
.is-flat .ws-ribbon{rotate:0deg}
.ws-ribbon-track{display:flex;width:max-content;animation:wsMarq 30s linear infinite}
.ws-ribbon-set{display:flex;align-items:center;flex:none}
.ws-ribbon-set span{font-family:var(--serif);font-weight:700;font-size:clamp(1.3rem,2.6vw,2.2rem);letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;padding:0 1.1rem}
.ws-ribbon-set b{font-size:clamp(1.2rem,2vw,1.8rem);font-weight:400}

/* ---------- services rows ---------- */
.ws-rows{list-style:none;margin:0;padding:0;border-top:var(--hair2)}
.ws-row{display:grid;grid-template-columns:3.5rem minmax(0,1.1fr) minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:clamp(1.1rem,2.2vw,1.7rem) 0;border-bottom:var(--hair2);transition:padding .4s var(--ease),background .3s}
.ws-row-n{font-size:.8rem;font-weight:700;color:var(--muted)}
.ws-row-t{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;transition:color .3s,transform .4s var(--ease)}
.ws-row-d{font-size:.92rem;color:var(--muted)}
.ws-row:hover .ws-row-t{color:var(--acc-ink);transform:translateX(8px)}

/* ---------- work rail (pinned horizontal scroll on desktop) ---------- */
.ws-work-pin{position:relative}
.ws-work.is-pinned .ws-work-pin{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.ws-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.ws-pills li{padding:.45rem .9rem;border-radius:var(--r-pill);border:var(--hair2);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ws-scroll-l{display:flex;align-items:center;gap:.8rem;margin:0;font-size:.74rem;color:var(--muted)}
.ws-scroll-l i{position:relative;width:120px;height:1px;background:rgba(var(--ink-rgb),.25)}
.ws-scroll-l i::after{content:"";position:absolute;left:0;top:-1px;height:3px;width:calc(var(--p,0) * 100%);min-width:12px;background:var(--y);border-radius:2px}
.ws-work-rail{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ws-work-rail::-webkit-scrollbar{display:none}
.ws-work.is-pinned .ws-work-rail{overflow:visible}
.ws-work-track{display:flex;gap:1.2rem;list-style:none;margin:0 auto;padding-bottom:.5rem;will-change:transform;max-width:none}
.ws-work.is-pinned .ws-work-track{padding-left:max(var(--gutter),calc((100vw - var(--max)) / 2));padding-right:var(--gutter);width:max-content}
.ws-wcard{flex:none;width:clamp(290px,36vw,480px)}
.ws-wcard a{display:block;border-radius:var(--r);background:var(--panel);border:var(--hair);overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.ws-wcard a:hover{border-color:rgba(249,192,10,.5);transform:translateY(-4px)}
.ws-wcard-m{padding:clamp(1.4rem,3vw,2.4rem) 1.4rem 1rem;background:radial-gradient(80% 80% at 50% 100%,rgba(249,192,10,.12),transparent 70%)}
.ws-wcard-f{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem 1.2rem;border-top:var(--hair)}
.ws-wcard-t{margin:0;font-family:var(--serif);font-size:1.2rem;font-weight:600;letter-spacing:-.015em}
.ws-wcard-s{margin:0;font-size:.78rem;color:var(--muted)}

/* ---------- process ---------- */
.ws-steps4{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ws-steps4 li{padding:1.2rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel)}
.ws-step-h{display:flex;align-items:center;gap:.7rem;margin:0 0 .5rem;font-family:var(--serif);font-size:1.12rem;font-weight:600}
.ws-steps4 p:last-child{margin:0;font-size:.88rem;color:var(--muted);line-height:1.5}
.ws-photo--note img{aspect-ratio:4/4.4}

/* ---------- gallery (bento) ---------- */
.ws-bento{list-style:none;margin:0;padding:0;display:grid;grid-auto-rows:clamp(220px,24vw,330px);gap:1rem}
.ws-bcard{position:relative;border-radius:var(--r);overflow:hidden;background:var(--card2)}
.ws-bcard:first-child{grid-row:span 2}
.ws-bcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ws-bcard:hover img{transform:scale(1.05)}
.ws-bcard-c{position:absolute;inset:auto 0 0 0;padding:clamp(1rem,2.4vw,1.8rem);background:linear-gradient(transparent,rgba(0,0,0,.82));color:#F2F2EE}
.ws-bcard-c h3{margin:.7rem 0 .2rem;font-size:clamp(1.2rem,2vw,1.6rem)}
.ws-bcard-c p:last-child{margin:0;font-size:.86rem;color:#D8D8D2}
.ws-bcard-c .ws-tag{background:var(--y);color:var(--on-y)}
.ws-bcard--cta a{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.2rem,2.6vw,2rem);background:var(--y);color:var(--on-y)}
.ws-bcard--cta h3{font-size:clamp(1.8rem,3.4vw,3rem);margin:0}
.ws-bcard--cta em{color:var(--on-y)}
.ws-bcard-ar{position:absolute;right:1.4rem;top:1.4rem;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#121212;color:var(--y);transition:transform .4s var(--ease)}
.ws-bcard-ar .i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.ws-bcard--cta a:hover .ws-bcard-ar{transform:rotate(45deg)}
.ws-bento{grid-template-columns:1.3fr 1fr 1fr}
.ws-bcard--cta{grid-column:span 2}

/* ---------- reviews ---------- */
.ws-rev-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(2rem,4vw,3rem)}
.ws-g-label{display:inline-flex;align-items:center;gap:.6rem;margin:0;font-size:.78rem;color:var(--muted)}
.ws-rev-g{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#4285F4;font-family:Arial,sans-serif;font-weight:700;font-size:.85rem;flex:none}
.ws-rev-rail{overflow:hidden;padding:.5rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ws-rev-track{display:flex;width:max-content;animation:wsMarq 70s linear infinite}
.ws-rev-track.is-rev{animation-name:wsMarqR}
.ws-rev-rail:hover .ws-rev-track{animation-play-state:paused}
.ws-rev-set{display:flex;gap:1rem;padding-right:1rem;flex:none}
.ws-rev{flex:none;width:clamp(280px,28vw,380px);margin:0;padding:1.4rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel);display:flex;flex-direction:column;gap:.9rem}
.ws-rev-top{display:flex;align-items:center;gap:.8rem}
.ws-rev-top > div{flex:1;min-width:0}
.ws-rev-av{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--y);color:var(--on-y);font-weight:800;flex:none}
.ws-rev-n{margin:0 0 .15rem;font-weight:700;font-size:.92rem}
.ws-rev-q{margin:0;font-size:.95rem;line-height:1.6;color:var(--cream)}
.ws-rev-s{font-size:.72rem;color:var(--muted);margin-top:auto}
.ws-rev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ws-rev-grid .ws-rev{width:auto}

/* ---------- FAQ accordion ---------- */
.ws-2col--faq{align-items:start}
.ws-acc{display:grid;gap:.7rem}
.ws-acc-i{border-radius:var(--r-sm);border:var(--hair);background:var(--panel);transition:border-color .3s,background .3s}
.ws-acc-i[open]{border-color:rgba(249,192,10,.45);background:radial-gradient(80% 120% at 100% 0%,rgba(249,192,10,.08),transparent 70%),var(--panel)}
.ws-acc-i summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.3rem;cursor:pointer;font-family:var(--serif);font-size:clamp(1.02rem,1.4vw,1.18rem);font-weight:600;letter-spacing:-.01em}
.ws-acc-i summary::-webkit-details-marker{display:none}
.ws-acc-x{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;border:var(--hair2);transition:transform .35s var(--ease),background .3s}
.ws-acc-x .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2}
.ws-acc-i[open] .ws-acc-x{transform:rotate(45deg);background:var(--y);color:var(--on-y);border-color:var(--y)}
.ws-acc-a{padding:0 1.3rem 1.2rem;color:var(--muted)}
.ws-acc-a p{margin:0}

/* ---------- quote panel + form card ---------- */
.ws-quote-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.ws-lines{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.7rem}
.ws-lines li{display:flex;align-items:center;gap:.8rem;font-size:.95rem}
.ws-lines li > span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(249,192,10,.12);color:var(--acc-ink);flex:none}
.ws-lines .i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.ws-lines a:hover{color:var(--acc-ink)}
.ws-sign{display:flex;align-items:center;gap:.6rem;margin:2rem 0 0;font-size:1.5rem}
.ws-swirl{fill:none;stroke:var(--y);stroke-width:1.6;stroke-linecap:round}
.ws-formcard{background:#FFFFFF;color:#121212;border-radius:var(--r);padding:clamp(1.4rem,3vw,2.4rem);box-shadow:0 40px 80px -40px rgba(0,0,0,.7);
  --cream:#121212;--muted:#55554F;--ink-rgb:18,18,18;--bg:#FFFFFF;--bg2:#F6F6F3;--bg3:#EDEDE8;--line-c:#DCDCD5;--acc-ink:#8A6A00}
.ws-formcard--dark{background:var(--panel);color:var(--cream);border:var(--hair);--cream:inherit;--muted:inherit}
.theme-dark .ws-formcard--dark{--cream:#F2F2EE;--muted:#A6A69F;--ink-rgb:242,242,238;--bg:#1B1B1A;--bg2:#242423;--bg3:#2A2A28;--line-c:#3A3A36;--acc-ink:#F9C00A}
.ws-formcard-t{margin:0 0 1.2rem;font-size:clamp(1.4rem,2.2vw,1.9rem)}
.ws-formcard .form{display:block}
.ws-formcard .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem;margin-bottom:1.2rem}
.ws-formcard .field{grid-column:1/-1;margin:0}
.ws-formcard .field--half{grid-column:auto}
.ws-formcard label{display:block;margin:0 0 .35rem;font-size:.74rem;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.ws-formcard input,.ws-formcard select,.ws-formcard textarea{width:100%;min-height:50px;padding:.75rem .95rem;border-radius:12px;border:1px solid var(--line-c);background:var(--bg2);color:var(--cream);font:inherit;font-size:.95rem;transition:border-color .25s,box-shadow .25s}
.ws-formcard textarea{min-height:120px;resize:vertical}
.ws-formcard input:focus,.ws-formcard select:focus,.ws-formcard textarea:focus{outline:none;border-color:#D6A509;box-shadow:0 0 0 3px rgba(249,192,10,.25)}
.ws-formcard .select{position:relative}
.ws-formcard .form-actions,.ws-formcard .form-success{grid-column:1/-1}
.ws-formcard .btn{width:100%;box-shadow:none}
.ws-formcard .form-legal{margin:.7rem 0 0;font-size:.76rem;color:var(--muted)}
.ws-formcard .ferr{color:#B42318;font-size:.76rem;margin:.3rem 0 0}
.ws-formcard .fs-title{font-size:1.4rem}
.ws-formcard .fs-ic{background:var(--y);color:var(--on-y)}

/* ---------- inner page heroes ---------- */
.ws-phero-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.ws-phero-copy .ws-btns{margin-top:2rem}
.ws-phero-media{position:relative;min-width:0}
.ws-phero-media .ws-photo--hero{max-width:520px;margin-left:auto}
.ws-ticks{list-style:none;margin:1.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.86rem;color:var(--muted)}
.ws-ticks li{display:flex;align-items:center;gap:.5rem}
.ws-ticks span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--y);color:var(--on-y)}
.ws-ticks .i{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.6}
.ws-dev--page{max-width:640px;margin-left:auto}
.ws-phero--center .ws-phero-in{text-align:center}
.ws-phero--center .ws-hero-lead{margin-inline:auto}
.ws-phero--center .ws-btns{justify-content:center}
.ws-search{display:flex;align-items:center;gap:.6rem;max-width:560px;margin:2rem auto 0;padding:.4rem .4rem .4rem 1.1rem;border-radius:var(--r-pill);border:var(--hair2);background:var(--panel)}
.ws-search > span .i{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8}
.ws-search input{flex:1;min-width:0;min-height:44px;border:0;background:transparent;color:var(--cream);font:inherit}
.ws-search input:focus{outline:none}
.ws-fchips{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.ws-fchips--r{justify-content:flex-start;margin:0}
.ws-fchips button{min-height:40px;padding:.45rem 1rem;border-radius:var(--r-pill);border:var(--hair2);background:transparent;color:var(--cream);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.ws-fchips button:hover{border-color:var(--y)}
.ws-fchips button.is-on{background:var(--y);border-color:var(--y);color:var(--on-y)}
.ws-hcards{list-style:none;margin:clamp(2.5rem,5vw,4rem) auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1000px;text-align:left}
.ws-hcard{padding:1.4rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel)}
.ws-hcard.is-hi{background:var(--y);color:var(--on-y);border-color:var(--y)}
.ws-hcard.is-hi p{color:rgba(18,18,18,.75)}
.ws-hcard.is-hi .ws-hcard-ic{background:#121212;color:var(--y)}
.ws-hcard-ic,.ws-fcard-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(249,192,10,.12);color:var(--acc-ink)}
.ws-hcard-ic .i,.ws-fcard-ic .i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ws-hcard h3{margin:1rem 0 .3rem;font-size:1.1rem}
.ws-hcard p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.ws-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:860px;margin:clamp(2.5rem,5vw,3.5rem) auto 0;padding:0}
.ws-facts > div{padding:1.2rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel)}
.ws-facts dt{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ws-facts dd{margin:.4rem 0 0;font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:600;letter-spacing:-.02em}

/* ---------- statement (words light up) ---------- */
.ws-statement-t{margin:0 auto;max-width:22em;text-align:center;font-family:var(--serif);font-size:clamp(1.9rem,4.4vw,3.9rem);font-weight:600;line-height:1.12;letter-spacing:-.03em}
.ws-statement-t .ws-w{color:rgba(var(--ink-rgb),.2);transition:color .4s}
.ws-statement-t .ws-w.is-on{color:var(--cream)}
.ws-statement-t em .ws-w.is-on{color:var(--acc-ink)}

/* ---------- story timeline ---------- */
.ws-2col--story{align-items:start}
.ws-story-intro{position:sticky;top:calc(var(--header-h) + 2rem)}
.ws-story-card{position:relative;margin-top:2rem;padding:1.4rem;border-radius:var(--r-sm);background:var(--y);color:var(--on-y);overflow:hidden}
.ws-story-card-t{margin:.5rem 0 0;font-family:var(--serif);font-size:1.4rem;font-weight:600;max-width:70%}
.ws-story-card-n{position:absolute;right:1rem;bottom:-1.4rem;font-family:var(--display);font-style:italic;font-size:7rem;line-height:1;opacity:.25}
.ws-tl{list-style:none;margin:0;padding:0 0 0 2.4rem;position:relative;display:grid;gap:1.2rem}
.ws-tl::before,.ws-tl::after{content:"";position:absolute;left:.85rem;top:0;width:2px;border-radius:2px}
.ws-tl::before{bottom:0;background:rgba(var(--ink-rgb),.12)}
.ws-tl::after{height:calc(var(--fill,0) * 100%);background:var(--y);transition:height .2s linear}
.ws-tl-i{position:relative;padding:1.3rem 1.4rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel);transition:border-color .4s,opacity .4s}
.ws-tl > .ws-tl-i{opacity:.55}
.ws-tl > .ws-tl-i.is-on,.ws-tl > .ws-tl-i.is-past{opacity:1}
.ws-tl > .ws-tl-i.is-on{border-color:rgba(249,192,10,.5)}
.ws-tl-n{position:absolute;left:-2.4rem;top:1.3rem;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--bg);border:2px solid rgba(var(--ink-rgb),.25);font-size:.62rem;font-weight:800}
.ws-tl-i.is-on .ws-tl-n,.ws-tl-i.is-past .ws-tl-n{background:var(--y);border-color:var(--y);color:var(--on-y)}
.ws-tl-tag{margin:0 0 .4rem;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--acc-ink)}
.ws-tl-i h3{margin:0 0 .4rem;font-size:1.3rem}
.ws-tl-i p:last-child,.ws-tl-i > p{margin:0;color:var(--muted);font-size:.94rem}
.ws-tl-chips{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ws-tl-chips li{padding:.3rem .7rem;border-radius:var(--r-pill);border:var(--hair2);font-size:.72rem;font-weight:700}

/* ---------- CTA panel ---------- */
.ws-cta{position:relative;overflow:hidden;padding:clamp(2.8rem,7vw,6rem) clamp(1.4rem,5vw,4rem);border-radius:clamp(22px,3vw,34px);border:var(--hair);text-align:center;background:radial-gradient(50% 70% at 100% 0%,rgba(249,192,10,.22),transparent 70%),radial-gradient(40% 60% at 0% 100%,rgba(249,192,10,.1),transparent 70%),var(--panel)}
.ws-cta .ws-h2{max-width:16ch}
.ws-cta-dot{position:absolute;right:clamp(1rem,3vw,2.2rem);top:clamp(1rem,3vw,2.2rem);display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--y);color:var(--on-y)}
.ws-cta-dot .i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2}

/* ---------- checklist (photo + step list) ---------- */
.ws-checklist .ws-2col{align-items:start}
.ws-pull{margin:2.4rem 0 0;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.2;max-width:24ch}
.ws-clist{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.7rem}
.ws-clist .ws-tl-i{display:flex;gap:1rem;align-items:flex-start;padding:1.05rem 1.2rem}
.ws-clist .ws-tl-i h3{font-size:1.08rem;margin:.45rem 0 .2rem}
.ws-clist .ws-tl-i.is-on{border-color:rgba(249,192,10,.55);background:radial-gradient(80% 120% at 100% 0%,rgba(249,192,10,.1),transparent 70%),var(--panel)}
.ws-clist .ws-tl-i.is-on .ws-num{background:var(--y);color:var(--on-y);border-color:var(--y)}
.ws-clist--tight .ws-tl-i h3{margin:.55rem 0 0}

/* ---------- feature cards ---------- */
.ws-fcards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ws-fcard{padding:1.4rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel);transition:border-color .3s,transform .4s var(--ease)}
.ws-fcard:hover{border-color:rgba(249,192,10,.45);transform:translateY(-4px)}
.ws-fcard-top{display:flex;align-items:center;justify-content:space-between}
.ws-fcard-n{font-size:.8rem;font-weight:700;color:var(--muted)}
.ws-fcard-n em{font-size:1.6rem;color:var(--acc-ink)}
.ws-fcard h3{margin:1.1rem 0 .35rem;font-size:1.12rem}
.ws-fcard p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.55}
.ws-note2{margin-top:2rem}

/* ---------- packages ---------- */
.ws-pk-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.ws-pk-media{position:sticky;top:calc(var(--header-h) + 2rem)}
.ws-pk-media .ws-photo img{aspect-ratio:4/5}
.ws-pk-list{display:grid;gap:1rem}
.ws-pk{padding:clamp(1.3rem,3vw,2rem);border-radius:var(--r);border:var(--hair);background:var(--panel)}
.ws-pk.is-hi{border-color:rgba(249,192,10,.55);background:radial-gradient(70% 90% at 100% 0%,rgba(249,192,10,.12),transparent 70%),var(--panel)}
.ws-pk-tag{display:flex;align-items:center;gap:.7rem;margin:0;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--acc-ink)}
.ws-pk-t{margin:1rem 0 .4rem;font-size:clamp(1.5rem,2.6vw,2.2rem)}
.ws-pk-best{margin:0;color:var(--muted);font-size:.92rem}
.ws-pk-best b{color:var(--cream)}
.ws-pk-ticks{list-style:none;margin:1.3rem 0;padding:1.3rem 0 0;border-top:var(--hair);display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ws-pk-ticks li{display:flex;gap:.6rem}
.ws-pk-ticks li > span{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:50%;background:var(--y);color:var(--on-y);margin-top:.1rem}
.ws-pk-ticks .i{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.6}
.ws-pk-ticks p{margin:0;font-size:.9rem;font-weight:700;line-height:1.35}
.ws-pk-ticks p + p{font-weight:400;font-size:.8rem;color:var(--muted);margin-top:.15rem}
.ws-pk-price{margin:0 0 1rem;font-family:var(--serif);font-size:1.2rem;font-weight:600}

/* ---------- yellow steps band ---------- */
.ws-ysteps{background:var(--y);color:var(--on-y);--acc-ink:#121212;--cream:#121212;--muted:rgba(18,18,18,.72);--ink-rgb:18,18,18}
.ws-ysteps em{color:#121212}
.ws-line-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;position:relative}
.ws-line-steps::before{content:"";position:absolute;left:8%;right:8%;top:28px;height:2px;background:rgba(18,18,18,.25)}
.ws-line-steps li{position:relative;text-align:center}
.ws-ls-n{position:relative;display:grid;place-items:center;width:56px;height:56px;margin:0 auto 1.2rem;border-radius:50%;background:#121212;color:var(--y);font-family:var(--serif);font-weight:600}
.ws-line-steps h3{margin:0 0 .4rem;font-size:1.3rem}
.ws-line-steps p{margin:0 auto;max-width:22rem;font-size:.92rem;color:rgba(18,18,18,.75)}

/* ---------- cases ---------- */
.ws-case-list{display:grid;gap:1.2rem}
.ws-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(1.4rem,3.5vw,3rem);border-radius:var(--r);border:var(--hair);background:var(--panel)}
.ws-case:nth-child(even) .ws-case-c{order:2}
.ws-case-k{display:flex;align-items:center;gap:.8rem;margin:0;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--acc-ink)}
.ws-case-k span{color:var(--muted)}
.ws-case h3{margin:.9rem 0 .6rem;font-size:clamp(1.7rem,3vw,2.6rem)}
.ws-case-c > p{color:var(--muted);margin:0}
.ws-mini{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ws-mini li{padding:.3rem .7rem;border-radius:var(--r-pill);border:var(--hair2);font-size:.72rem;font-weight:700}
.ws-case-m{padding:1rem;border-radius:var(--r-sm);background:radial-gradient(80% 80% at 50% 100%,rgba(249,192,10,.14),transparent 70%)}

/* ---------- projects grid ---------- */
.ws-pgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ws-pcard{border-radius:var(--r);border:var(--hair);background:var(--panel);overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.ws-pcard[hidden]{display:none}
.ws-pcard:hover{border-color:rgba(249,192,10,.45);transform:translateY(-4px)}
.ws-pcard-m{padding:1.6rem 1.2rem .8rem;background:radial-gradient(80% 80% at 50% 100%,rgba(249,192,10,.12),transparent 70%)}
.ws-pcard-f{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem 1.2rem;border-top:var(--hair)}
.ws-pcard-f .ws-tag{background:transparent;color:var(--acc-ink);padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.ws-pcard-t{margin:.3rem 0 0;font-family:var(--serif);font-size:1.15rem;font-weight:600}

/* ---------- insights ---------- */
.ws-feat-a{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1rem,2vw,1.4rem);border-radius:var(--r);border:var(--hair);background:var(--panel);margin-bottom:clamp(3rem,6vw,5rem)}
.ws-feat-im,.ws-post-im{position:relative;border-radius:var(--r-sm);overflow:hidden}
.ws-feat-im img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1s var(--ease)}
.ws-feat-im .ws-tag,.ws-post-im .ws-tag{position:absolute;z-index:2;left:1rem;top:1rem}
.ws-feat-a:hover img,.ws-post-card a:hover img{transform:scale(1.04)}
.ws-feat-c p{color:var(--muted)}
.ws-feat-c .ws-eyebrow{color:var(--acc-ink)}
.ws-posts-head{margin-bottom:2rem}
.ws-count{margin:0;color:var(--muted);font-size:.86rem;text-align:right}
.ws-post-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.ws-post-card[hidden]{display:none}
.ws-post-card a{display:flex;flex-direction:column;height:100%;border-radius:var(--r);border:var(--hair);background:var(--panel);overflow:hidden;transition:border-color .3s}
.ws-post-card a:hover{border-color:rgba(249,192,10,.45)}
.ws-post-im{border-radius:0}
.ws-post-im img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1s var(--ease)}
.ws-post-c{display:flex;flex-direction:column;flex:1;padding:1.2rem 1.3rem 1.3rem}
.ws-post-c h3{margin:0 0 .5rem;font-size:1.2rem;line-height:1.2}
.ws-post-c > p{margin:0 0 1rem;font-size:.88rem;color:var(--muted)}
.ws-post-meta{display:flex;justify-content:space-between;align-items:center;margin:auto 0 0!important;font-size:.76rem;color:var(--muted)}
.ws-post-more{display:inline-flex;align-items:center;gap:.35rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--acc-ink)}
.ws-post-more .i{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4}
.ws-empty{margin:2rem 0 0;color:var(--muted);text-align:center}
/* single post */
.ws-postpage{padding:calc(var(--header-h) + clamp(2.5rem,5vw,4rem)) 0 var(--sec)}
.ws-post-grid2{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.ws-art-t{font-size:clamp(2.1rem,4.4vw,3.8rem);letter-spacing:-.03em;line-height:1.04;margin:0;text-wrap:balance}
.ws-art-meta{margin:1rem 0 1.8rem;font-size:.86rem;color:var(--muted)}
.ws-art-meta a{color:var(--acc-ink)}
.ws-art-im img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r)}
.ws-prose{margin-top:2rem;font-size:1.05rem;line-height:1.75;max-width:44rem}
.ws-prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:2.2rem 0 .8rem}
.ws-prose h3{font-size:1.25rem;margin:1.8rem 0 .6rem}
.ws-prose ul{padding-left:1.2rem;margin:0 0 1.2rem}
.ws-prose li{margin:.35rem 0}
.ws-prose li::marker{color:var(--y)}
.ws-share{margin-top:2.6rem;padding-top:1.6rem;border-top:var(--hair2)}
.ws-share ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.ws-share a,.ws-share button{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .95rem;border-radius:var(--r-pill);border:var(--hair2);background:transparent;color:var(--cream);font-size:.78rem;font-weight:700;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.ws-share a:hover,.ws-share button:hover{background:var(--y);color:var(--on-y);border-color:var(--y)}
.ws-side{position:sticky;top:calc(var(--header-h) + 1.5rem);display:grid;gap:1.4rem;padding:1.4rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel)}
.ws-side-search{display:flex;gap:.5rem}
.ws-side-search input{flex:1;min-width:0;min-height:42px;padding:.5rem .8rem;border-radius:10px;border:var(--hair2);background:var(--bg);color:var(--cream);font:inherit}
.ws-side-h{margin:0;font-family:var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--acc-ink)}
.ws-side-list{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.ws-side-list a{display:block;padding:.6rem 0;border-bottom:var(--hair);font-size:.92rem;line-height:1.4}
.ws-side-list a:hover{color:var(--acc-ink)}

/* ---------- case study challenge (browser frame) ---------- */
.ws-browser{border-radius:var(--r-sm);overflow:hidden;border:var(--hair2);background:var(--bg3);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ws-browser-bar{display:flex;align-items:center;gap:.4rem;margin:0;padding:.7rem .9rem;background:var(--bg2);border-bottom:var(--hair);font-size:.72rem;color:var(--muted)}
.ws-browser-bar i{width:10px;height:10px;border-radius:50%;background:rgba(var(--ink-rgb),.2)}
.ws-browser-bar i:first-child{background:#FF5F57}.ws-browser-bar i:nth-child(2){background:#FEBC2E}.ws-browser-bar i:nth-child(3){background:#28C840}
.ws-browser-bar span{margin-left:.6rem}
.ws-browser img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;filter:grayscale(.6) contrast(.9)}

/* ---------- yellow panel ---------- */
.ws-ypanel{padding:clamp(2.4rem,6vw,5rem) clamp(1.2rem,4vw,4rem);border-radius:clamp(22px,3vw,34px);background:var(--y);color:var(--on-y);text-align:center;--acc-ink:#121212;--cream:#121212;--muted:rgba(18,18,18,.74);--ink-rgb:18,18,18}
.ws-ypanel em{color:#121212}
.ws-ypanel .ws-eyebrow{color:#121212}
.ws-dev--y{max-width:620px;margin:2.4rem auto 0}
.ws-ylabel{margin:2rem 0 .8rem;font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.ws-ychips{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:760px}
.ws-ychips li{display:flex;align-items:center;gap:.5rem;padding:.5rem .95rem .5rem .5rem;border-radius:var(--r-pill);background:#121212;color:#F2F2EE;font-size:.82rem;font-weight:700}
.ws-ychips span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--y);color:#121212;font-size:.64rem;font-weight:800}

/* ---------- compare (light band) ---------- */
.ws-sec--light{background:#F6F6F3;color:#121212;--cream:#121212;--muted:#55554F;--ink-rgb:18,18,18;--panel:#FFFFFF;--bg2:#FFFFFF;--acc-ink:#8A6A00}
.theme-light .ws-sec--light{background:#EDEDE8}
.ws-cmp{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ws-cmp-c{padding:clamp(1.4rem,3vw,2.2rem);border-radius:var(--r);background:#121212;color:#F2F2EE}
.ws-cmp-c .ws-eyebrow{color:#A6A69F}
.ws-cmp-c h3{margin:0 0 1.2rem;font-size:clamp(1.4rem,2.4vw,2rem)}
.ws-cmp-c ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ws-cmp-c li{display:flex;gap:1rem;padding:.8rem 1rem;border-radius:12px;background:rgba(255,255,255,.06);font-size:.92rem}
.ws-cmp-c li span{font-family:var(--serif);font-weight:700;min-width:3.2rem}
.ws-cmp-f{margin:1.2rem 0 0;font-family:var(--display);font-style:italic;font-size:1.3rem}
.ws-cmp-c.is-y{background:var(--y);color:#121212}
.ws-cmp-c.is-y .ws-eyebrow{color:#121212}
.ws-cmp-c.is-y li{background:rgba(18,18,18,.08)}

/* ---------- booking / contact / channels ---------- */
.ws-book-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.ws-book-list{padding:clamp(1.4rem,3vw,2.2rem);border-radius:var(--r);border:var(--hair);background:var(--panel)}
.ws-book-list h3{margin:0 0 1.2rem;font-size:1.4rem}
.ws-book-list ul{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.8rem}
.ws-book-list li{display:flex;gap:.7rem;align-items:center}
.ws-book-list li span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--y);color:var(--on-y);flex:none}
.ws-book-list .i{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.6}
.ws-book-list > p{margin:0;font-size:.8rem;color:var(--muted)}
.ws-2col--contact{align-items:start}
.ws-roman{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.4rem}
.ws-roman li{display:flex;gap:1.2rem}
.ws-roman li > span{font-family:var(--display);font-style:italic;font-size:2rem;line-height:1;color:var(--acc-ink);min-width:2.4rem}
.ws-roman h3{margin:0 0 .3rem;font-size:1.15rem}
.ws-roman p{margin:0;color:var(--muted);font-size:.92rem}
.ws-ch{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ws-ch li{padding:1.3rem;border-radius:var(--r-sm);border:var(--hair);background:var(--panel)}
.ws-ch h3{margin:1rem 0 .3rem;font-size:1.05rem}
.ws-ch p{margin:0;font-size:.86rem;color:var(--muted)}

/* ---------- chat phone (24/7 desk hero) ---------- */
.ws-chatphone{max-width:340px;margin-left:auto;border-radius:36px;border:8px solid #1d1d1d;background:#0F1A14;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7);color:#F2F2EE}
.ws-chat-top{display:flex;align-items:center;gap:.7rem;padding:1rem;background:#1F2C26}
.ws-chat-top b{display:block;font-size:.9rem}
.ws-chat-top small{font-size:.72rem;color:#4ADE80}
.ws-chat{list-style:none;margin:0;padding:1rem;display:grid;gap:.6rem;min-height:330px;align-content:start}
.ws-chat li{max-width:84%;padding:.6rem .8rem .4rem;border-radius:14px;font-size:.84rem;line-height:1.45}
.ws-chat li small{display:block;text-align:right;font-size:.62rem;opacity:.6;margin-top:.2rem}
.ws-chat .is-them{background:#1F2C26;justify-self:start;border-top-left-radius:4px}
.ws-chat .is-me{background:#005C4B;justify-self:end;border-top-right-radius:4px}
.ws-chat-chips{display:flex;gap:.3rem;margin-top:.5rem}
.ws-chat-chips i{font-style:normal;padding:.25rem .6rem;border-radius:var(--r-pill);background:var(--y);color:#121212;font-size:.7rem;font-weight:700}
.ws-chat-in{margin:0 .8rem .9rem;padding:.7rem 1rem;border-radius:var(--r-pill);background:#1F2C26;font-size:.8rem;color:#A6A69F}

/* ---------- thank you + 404 ---------- */
.ws-thanks{min-height:min(86vh,820px);display:flex;align-items:center}
.ws-thanks-ic{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 1.6rem;border-radius:50%;background:var(--y);color:var(--on-y)}
.ws-thanks-ic .i{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.4}
.nf{position:relative;min-height:100vh;display:flex;align-items:center;padding:calc(var(--header-h) + 3rem) 0 4rem;overflow:hidden}
.nf .hero-media{position:absolute;inset:0;z-index:-2}
.nf .hero-media img{width:100%;height:100%;object-fit:cover}
.nf .hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,18,18,.92),rgba(18,18,18,.55))}
.nf-inner{color:#F2F2EE}
.nf .eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--y)}
.nf .display{font-family:var(--serif);font-size:clamp(2.6rem,6vw,5rem);font-weight:600;letter-spacing:-.03em;line-height:1;max-width:14ch;color:#F2F2EE}
.nf .display em{color:var(--y)}
.nf .hero-lead{max-width:34rem;color:#D8D8D2;margin:1.2rem 0 0}
.nf .btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.nf .btn--ghost{color:#F2F2EE;border-color:rgba(255,255,255,.6)}
.btn svg,.btn .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- light theme refinements ---------- */
.theme-light{--panel:#FFFFFF;--card2:#F6F6F3}
.theme-light .ws-panel,.theme-light .ws-fcard,.theme-light .ws-numcard,.theme-light .ws-rev,.theme-light .ws-acc-i,.theme-light .ws-pk,.theme-light .ws-case,.theme-light .ws-pcard,.theme-light .ws-post-card a,.theme-light .ws-wcard a,.theme-light .ws-steps4 li,.theme-light .ws-tl-i,.theme-light .ws-hcard:not(.is-hi),.theme-light .ws-ch li,.theme-light .ws-facts > div,.theme-light .ws-book-list,.theme-light .ws-side,.theme-light .ws-feat-a{box-shadow:0 1px 2px rgba(18,18,18,.04),0 14px 34px -22px rgba(18,18,18,.28)}
.theme-light .ws-numcard{background:#F6F6F3}
.theme-light .ws-float{background:rgba(255,255,255,.92)}
.theme-light .ws-dev-screen{background:#EDEDE8}
.theme-light .ws-logos{border-block:1px solid #E2E2DC}
.theme-light .site-header.ws-header{background:rgba(246,246,243,.92)}
.theme-light .ws-formcard{border:1px solid #E2E2DC;box-shadow:0 30px 60px -36px rgba(18,18,18,.35)}
.theme-light .ws-hero-glow{background:radial-gradient(closest-side,rgba(249,192,10,.28),transparent)}
.theme-light .ws-btn--ghost{border-color:rgba(18,18,18,.4)}
.theme-light .ws-arrow{background:#121212;color:#F9C00A}
.theme-light ul.ws-sub,.theme-light .has-sub .ws-sub{box-shadow:0 30px 60px -26px rgba(var(--shadow-rgb),.3)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .ws-fcards,.ws-ch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ws-post-grid,.ws-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ws-float--tl{left:-2%}.ws-float--br{right:-2%}
}
@media (max-width:900px){
  .ws-head--split,.ws-2col,.ws-why-grid,.ws-quote-grid,.ws-phero-split,.ws-pk-grid,.ws-case,.ws-feat-a,.ws-book-grid,.ws-post-grid2{grid-template-columns:minmax(0,1fr)}
  .ws-head--split{align-items:start;gap:1rem}
  .ws-case:nth-child(even) .ws-case-c{order:0}
  .ws-pk-media,.ws-story-intro,.ws-side{position:static}
  .ws-pk-media .ws-photo img{aspect-ratio:16/10}
  .ws-phero-media .ws-photo--hero{margin:0 auto;max-width:440px}
  .ws-dev--page{margin:0 auto}
  .ws-chatphone{margin:0 auto}
  .ws-rev-grid{grid-template-columns:minmax(0,1fr)}
  .ws-hcards,.ws-facts{grid-template-columns:minmax(0,1fr)}
  .ws-cmp{grid-template-columns:minmax(0,1fr)}
  .ws-line-steps{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .ws-line-steps::before{display:none}
  .ws-bento{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(220px,46vw,320px)}
  .ws-bcard:first-child{grid-column:1/-1;grid-row:auto}
  .ws-bcard--cta{grid-column:1/-1}
  .ws-work-track{padding-left:var(--gutter);padding-right:var(--gutter);scroll-snap-type:x mandatory}
  .ws-wcard{scroll-snap-align:start;width:min(82vw,420px)}
  .ws-work-rail{scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter)}
  .ws-photo--sm{max-width:none}
  .ws-note{right:.5rem}
  .ws-circle--sm{right:0;bottom:-1rem}
}
@media (max-width:760px){
  .ws-h1{font-size:clamp(2.5rem,11vw,3.4rem);letter-spacing:-.03em}
  .ws-h2{font-size:clamp(2rem,9vw,2.6rem)}
  .ws-hero-row{flex-direction:column;align-items:center}
  .ws-hero-row .ws-hero-lead{text-align:center}
  .ws-hero-row .ws-btns,.ws-phero--center .ws-btns{justify-content:center}
  .ws-float--l{left:0;top:-8%}
  .ws-float--r{right:0;top:-10%}
  .ws-float--r2{display:none}
  .ws-float{padding:.5rem .7rem;border-radius:12px;animation:none}
  .ws-float-v{font-size:1.15rem}
  .ws-float-ic{width:28px;height:28px}
  .ws-circle{width:76px;left:0;bottom:-10%}
  .ws-circle text{font-size:10px}
  .ws-hero-stage{margin-top:4.5rem}
  .ws-dev-desk{width:56%}.ws-dev-lap{width:50%;margin-left:-14%}.ws-dev-tab{width:24%;margin-left:-8%}.ws-dev-phone{width:15%;margin-left:-6%}
  .ws-numcards,.ws-steps4,.ws-pk-ticks{grid-template-columns:minmax(0,1fr)}
  .ws-row{grid-template-columns:2.2rem minmax(0,1fr) auto;gap:.8rem}
  .ws-row-d{grid-column:2/3;grid-row:2;font-size:.84rem}
  .ws-row .ws-arrow{grid-row:1/3;grid-column:3;width:40px;height:40px}
  .ws-fcards,.ws-ch,.ws-post-grid,.ws-pgrid{grid-template-columns:minmax(0,1fr)}
  .ws-bento{grid-template-columns:minmax(0,1fr)}
  .ws-bcard,.ws-bcard--cta,.ws-bcard:first-child{grid-column:1/-1}
  .ws-formcard .fgrid{grid-template-columns:minmax(0,1fr)}
  .ws-formcard .field--half{grid-column:1/-1}
  .ws-panel{padding:1.4rem 1.1rem;border-radius:22px}
  .ws-why-grid,.ws-quote-grid{gap:2rem}
  .ws-photo--offset{margin:0 10px 10px 0}
  .ws-photo--offset::before{inset:10px -10px -10px 10px}
  .ws-tl{padding-left:2.1rem}
  .ws-tl-n{left:-2.1rem}
  .ws-story-card-n{font-size:5rem}
  .ws-statement-t{font-size:clamp(1.7rem,7.6vw,2.4rem)}
  .ws-cta-dot{width:46px;height:46px}
  .ws-search{flex-wrap:nowrap}
  .ws-search .ws-btn{padding:.5rem .8rem}
  .ws-ribbon{rotate:-3deg}
  .ws-sign{font-size:1.25rem}
  .ws-count{text-align:left}
  .ws-ticks{flex-direction:column;gap:.55rem}
  .ws-pills{display:none}
  .ws-art-t{font-size:clamp(1.9rem,8.4vw,2.6rem)}
}
@media (max-width:760px){
  .ws-hero .ws-circle{display:none}
  .ws-dev--hero .ws-dev-tab{display:none}
  .ws-dev--hero .ws-dev-desk{width:64%}
  .ws-dev--hero .ws-dev-lap{width:52%;margin-left:-16%}
  .ws-dev--hero .ws-dev-phone{width:18%;margin-left:-7%}
  .ws-hero-stage{margin-top:5.2rem}
  .ws-hero .ws-float--l{top:-4.4rem}
  .ws-hero .ws-float--r{top:-4.4rem}
}
/* fixes after QA round 1 */
.ws-side{grid-template-columns:minmax(0,1fr)}
.ws-side-search{min-width:0}
.ws-side-search input{width:100%}
.ws-side-search .ws-btn{flex:none}
.ws-dev--page{max-width:none}
.ws-dev--page .ws-dev-desk{width:58%}
.ws-dev--page .ws-dev-lap{width:50%;margin-left:-12%}
.ws-dev--page .ws-dev-tab{width:22%;margin-left:-9%}
.ws-dev--page .ws-dev-phone{width:14%;margin-left:-6%}
.ws-dev--page:not(:has(.ws-dev-desk)) .ws-dev-lap{width:78%;margin-left:0}
.ws-dev--page:not(:has(.ws-dev-desk)) .ws-dev-phone{width:20%;margin-left:-10%}
.ws-dev--page:not(:has(.ws-dev-tab)) .ws-dev-desk{width:64%}
.ws-dev--page:not(:has(.ws-dev-tab)) .ws-dev-lap{width:56%}
.ws-dev--page:not(:has(.ws-dev-tab)) .ws-dev-phone{width:16%}
.ws-phero--center{padding-bottom:clamp(2.5rem,5vw,4rem)}
.nf .hero-media{overflow:hidden}
.nf .hero-media img{transform:none;max-width:100%}
@media (max-width:760px){
  .ws-dev--page .ws-dev-desk{width:66%}
  .ws-dev--page .ws-dev-lap{width:56%;margin-left:-18%}
  .ws-dev--page .ws-dev-phone{width:18%;margin-left:-8%}
  .ws-dev--page:not(:has(.ws-dev-desk)) .ws-dev-lap{width:82%;margin-left:0}
  .ws-dev--page:not(:has(.ws-dev-desk)) .ws-dev-phone{width:24%;margin-left:-12%}
}

/* The Digital Nomad: client logo portfolio grid */
.ws-clients{padding:64px 0}
.ws-client-grid{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px}
.ws-client,.ws-client--nolink{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:148px;padding:18px 12px;border-radius:18px;background:var(--bg2);border:1px solid rgba(var(--ink-rgb),.08);text-align:center;color:inherit;text-decoration:none;height:100%}
.ws-client:hover{background:var(--bg3)}
.ws-client-logo,.ws-client img{max-width:96px;max-height:72px;width:auto;height:auto;object-fit:contain}
.ws-client-name{font-size:13px;line-height:1.3;font-weight:600}
@media(max-width:520px){
  .ws-client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}


/* Portfolio logos: smooth infinite carousel, light rail in both themes, no links. */
.ws-clients--carousel{padding:64px 0 0}
.ws-clients--carousel .wrap{margin-bottom:1.6rem}
.ws-client-rail{
  --client-gap:16px;--client-n:8;
  background:#F4F4F0;color:#121212;
  padding:1.35rem 0;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.ws-client-track{display:flex;width:max-content;animation:wsMarq 90s linear infinite}
.ws-client-set{display:flex;gap:var(--client-gap);margin:0;padding:0 var(--client-gap) 0 0;list-style:none}
.ws-clients--carousel .ws-client-item{flex:none;list-style:none}
.ws-clients--carousel .ws-client,
.ws-clients--carousel .ws-client--nolink{
  width:calc((100vw - (var(--client-n) * var(--client-gap))) / var(--client-n));
  min-height:136px;height:auto;box-sizing:border-box;
  padding:16px 10px 14px;border-radius:16px;
  background:#fff;border:1px solid #E2E2DC;color:#121212;
  gap:8px;
}
.ws-clients--carousel .ws-client:hover{background:#fff}
.ws-clients--carousel .ws-client-logo,
.ws-clients--carousel .ws-client img{
  max-width:100%;max-height:72px;width:auto;height:auto;
  object-fit:contain;object-position:center;
}
.ws-clients--carousel .ws-client-name{color:#121212;font-size:12px;line-height:1.3;font-weight:600}
.ws-client-rail:hover .ws-client-track,
.ws-client-rail:focus-within .ws-client-track{animation-play-state:paused}
@media (max-width:1024px){
  .ws-client-rail{--client-n:4;--client-gap:14px}
}
@media (max-width:600px){
  .ws-client-rail{--client-n:3;--client-gap:12px}
  .ws-clients--carousel .ws-client,
  .ws-clients--carousel .ws-client--nolink{min-height:120px;padding:12px 8px 10px}
  .ws-clients--carousel .ws-client-logo,
  .ws-clients--carousel .ws-client img{max-height:58px}
}
@media (prefers-reduced-motion:reduce){
  .ws-client-rail{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .ws-client-track{animation:none}
}

/* Home hero chip: one line on small phones. Desktop copy unchanged. */
.ws-chip-b{white-space:nowrap;flex-shrink:0}
@media (max-width:480px){
  .ws-chip{gap:.5rem;padding:.3rem .7rem .3rem .3rem;flex-wrap:nowrap;white-space:nowrap;max-width:100%}
  .ws-chip-b{letter-spacing:.06em;padding:.22rem .5rem}
  .ws-chip-more{display:none}
}

