/* POSNEW task 146 – public website (CMS). Task 150: every colour is a variable – themes and dark mode set them in the page head. */
:root{--w-primary:#2563eb;--w-primary-d:#1d4ed8;--w-on-primary:#fff;--w-link:#2563eb;--w-accent:#7c3aed;--w-navy:#0b1b3f;--w-text:#334155;--w-muted:#64748b;--w-line:#e2e8f0;--w-soft:#f8fafc;--w-blue-soft:#eff6ff;--w-primary-ink:#1e3a8a;--w-primary-line:#bfdbfe;--w-bg:#fff;--w-surface:#fff;--w-dark:#0b1b3f;--w-deep:#1e3a8a;--w-hero-a:#dbeafe;--w-hero-b:#ede9fe;--w-header:rgba(255,255,255,.92);--w-shadow-c:rgba(37,99,235,.28);--w-green:#16a34a;--w-radius:16px;--w-shadow:0 10px 30px rgba(15,23,42,.08);--w-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--w-hfont:var(--w-font)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ws{margin:0;font-family:var(--w-font);color:var(--w-text);background:var(--w-bg);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
.ws a{color:var(--w-link);text-decoration:none}.ws a:hover{color:var(--w-primary-d)}
.ws img{max-width:100%;height:auto}
.ws h1,.ws h2,.ws h3,.ws h4{font-family:var(--w-hfont);color:var(--w-navy);font-weight:800;line-height:1.2;letter-spacing:-.02em;margin:0 0 .5em}
.ws-container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.ws-skip{position:absolute;left:-999px;top:0;background:var(--w-surface);padding:8px 12px;z-index:200}.ws-skip:focus{left:8px}
.ws-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;transition:.15s;text-decoration:none!important;white-space:nowrap;line-height:1.2}
.ws-btn--primary{background:var(--w-primary);color:var(--w-on-primary)!important;box-shadow:0 6px 18px var(--w-shadow-c)}.ws-btn--primary:hover{background:var(--w-primary-d);transform:translateY(-1px)}
.ws-btn--ghost{background:var(--w-surface);color:var(--w-navy)!important;border-color:var(--w-line)}.ws-btn--ghost:hover{border-color:var(--w-primary-line);color:var(--w-primary)!important}
.ws-btn--light{background:rgba(255,255,255,.14);color:#fff!important;border-color:rgba(255,255,255,.35)}.ws-btn--light:hover{background:rgba(255,255,255,.24)}
.ws-btn--sm{padding:8px 14px;font-size:14px;border-radius:10px}
.ws-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--w-blue-soft);color:var(--w-primary-ink);font-size:13px;font-weight:700;border:1px solid var(--w-primary-line);text-decoration:none!important}
.ws-chip:hover{border-color:var(--w-primary)}.ws-chip.is-on{background:var(--w-primary);color:var(--w-on-primary);border-color:var(--w-primary)}
.ws-chip small{opacity:.7;font-weight:600}
.ws-label{display:inline-block;padding:2px 9px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ws-eyebrow{display:inline-block;font-size:13px;font-weight:800;color:var(--w-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}

/* header */
.ws-header{position:sticky;top:0;z-index:100;background:var(--w-header);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid transparent;transition:.2s}
.ws-header.is-scrolled{border-bottom-color:var(--w-line);box-shadow:0 4px 18px rgba(15,23,42,.06)}
.ws-header__in{display:flex;align-items:center;gap:20px;min-height:72px}
.ws-logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;color:var(--w-navy)!important;text-decoration:none!important}
.ws-logo img{height:42px;width:auto}
.ws-logo__mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--w-primary),var(--w-accent));color:var(--w-on-primary);display:inline-flex;align-items:center;justify-content:center;font-size:17px}
.ws-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.ws-nav a{color:var(--w-navy);font-weight:600;font-size:15px;padding:8px 12px;border-radius:10px}
.ws-nav a:hover,.ws-nav a.is-on{color:var(--w-primary);background:var(--w-blue-soft)}
.ws-nav__more{position:relative}
.ws-nav__more>button{background:none;border:0;font:inherit;font-weight:600;font-size:15px;color:var(--w-navy);padding:8px 12px;border-radius:10px;cursor:pointer}
.ws-nav__more>button:hover{background:var(--w-blue-soft);color:var(--w-primary)}
.ws-nav__drop{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;background:var(--w-surface);border:1px solid var(--w-line);border-radius:14px;box-shadow:var(--w-shadow);padding:8px;display:none}
.ws-nav__more.is-open .ws-nav__drop{display:block}
.ws-nav__drop a{display:flex;justify-content:space-between;gap:8px}
.ws-nav__cta{display:flex;gap:8px;margin-left:8px}
.ws-burger{display:none;margin-left:auto;background:none;border:1px solid var(--w-line);border-radius:10px;width:44px;height:44px;font-size:18px;color:var(--w-navy);cursor:pointer}
@media (max-width:991px){
 .ws-burger{display:inline-flex;align-items:center;justify-content:center}
 .ws-nav{position:fixed;inset:72px 0 auto 0;background:var(--w-surface);flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:2px;border-bottom:1px solid var(--w-line);box-shadow:var(--w-shadow);display:none;max-height:calc(100vh - 72px);overflow:auto}
 .ws-nav.is-open{display:flex}
 .ws-nav a,.ws-nav__more>button{padding:12px;text-align:left;width:100%}
 .ws-nav__drop{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 12px}
 .ws-nav__cta{margin:10px 0 0;flex-direction:column}
}

/* hero */
.ws-hero{position:relative;overflow:hidden;background:radial-gradient(1100px 500px at 85% -10%,var(--w-hero-a) 0%,transparent 60%),radial-gradient(900px 500px at -10% 110%,var(--w-hero-b) 0%,transparent 55%),var(--w-bg);padding:72px 0 64px}
.ws-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.ws-hero h1{font-size:clamp(32px,5vw,54px);margin-bottom:18px}
.ws-hero__text{font-size:18px;color:var(--w-muted);max-width:620px}
.ws-hero__text p{margin:0 0 12px}
.ws-hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ws-hero__img{border-radius:24px;box-shadow:0 30px 60px rgba(15,23,42,.18);width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--w-line)}
.ws-hero__trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:var(--w-muted);font-size:14px;font-weight:600}
.ws-hero__trust i{color:var(--w-green);margin-right:6px}
.ws-pagehero{background:linear-gradient(135deg,var(--w-dark) 0%,var(--w-deep) 60%,var(--w-primary) 100%);color:rgba(255,255,255,.86);padding:56px 0 48px}
.ws-pagehero h1{color:#fff;font-size:clamp(28px,4.4vw,46px);margin-bottom:10px}
.ws-pagehero p{font-size:18px;margin:0;max-width:760px;color:rgba(255,255,255,.86)}
.ws-pagehero .ws-label{margin-bottom:12px}
.ws-crumbs{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 14px;font-size:14px;color:rgba(255,255,255,.75)}
.ws-crumbs a{color:#fff}.ws-crumbs li+li:before{content:"›";margin-right:6px;opacity:.7}

/* sections */
.ws-section{padding:72px 0}
.ws-section--soft{background:var(--w-soft)}
.ws-head{max-width:760px;margin:0 auto 40px;text-align:center}
.ws-head h2{font-size:clamp(26px,3.6vw,40px)}
.ws-head p{color:var(--w-muted);font-size:17px;margin:0}
.ws-grid{display:grid;gap:20px}
.ws-grid--3{grid-template-columns:repeat(3,1fr)}.ws-grid--2{grid-template-columns:repeat(2,1fr)}.ws-grid--4{grid-template-columns:repeat(4,1fr)}
.ws-card{background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);padding:24px;transition:.2s;height:100%}
.ws-card:hover{box-shadow:var(--w-shadow);transform:translateY(-2px);border-color:var(--w-primary-line)}
.ws-card h3{font-size:19px;margin-bottom:8px}
.ws-card p{color:var(--w-muted);margin:0;font-size:15px}
.ws-icon{width:48px;height:48px;border-radius:14px;background:var(--w-blue-soft);color:var(--w-primary);display:inline-flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.ws-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.ws-split__sticky{position:sticky;top:96px}
.ws-split__sticky .ws-text{color:var(--w-muted);font-size:17px}
.ws-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:linear-gradient(135deg,var(--w-dark),var(--w-deep));border-radius:calc(var(--w-radius) + 8px);padding:36px;color:rgba(255,255,255,.82);text-align:center}
.ws-stats b{display:block;font-size:clamp(28px,4vw,42px);color:#fff;font-weight:900}
.ws-quote{position:relative}
.ws-quote__stars{color:#f59e0b;margin-bottom:10px}
.ws-quote__text{color:var(--w-text);font-size:15.5px}
.ws-quote__person{display:flex;align-items:center;gap:12px;margin-top:16px;font-weight:800;color:var(--w-navy)}
.ws-quote__person img,.ws-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--w-blue-soft);color:var(--w-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.ws-cta{background:linear-gradient(135deg,var(--w-deep),var(--w-accent));border-radius:calc(var(--w-radius) + 8px);padding:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;color:rgba(255,255,255,.88)}
.ws-cta h2{color:#fff;margin:0 0 6px;font-size:clamp(24px,3vw,34px)}
.ws-cta p{margin:0}
.ws-faq{max-width:860px;margin:0 auto}
.ws-faq details{background:var(--w-surface);border:1px solid var(--w-line);border-radius:14px;margin-bottom:10px;padding:0 20px}
.ws-faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;color:var(--w-navy);display:flex;justify-content:space-between;gap:12px}
.ws-faq summary::-webkit-details-marker{display:none}
.ws-faq summary:after{content:"+";font-size:22px;line-height:1;color:var(--w-primary)}
.ws-faq details[open] summary:after{content:"–"}
.ws-faq details p{margin:0 0 18px;color:var(--w-muted)}

/* blog cards */
.ws-post{display:flex;flex-direction:column;background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);overflow:hidden;transition:.2s;height:100%}
.ws-post:hover{box-shadow:var(--w-shadow);transform:translateY(-3px)}
.ws-post__img{display:block;aspect-ratio:16/9;background:var(--w-line) center/cover no-repeat}
.ws-post__body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.ws-post__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--w-muted)}
.ws-post h3{font-size:19px;margin:0}.ws-post h3 a{color:var(--w-navy)}.ws-post h3 a:hover{color:var(--w-primary)}
.ws-post p{margin:0;color:var(--w-muted);font-size:15px}
.ws-post__more{margin-top:auto;font-weight:700}
.ws-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:28px}
.ws-filter__chips{display:flex;flex-wrap:wrap;gap:8px}
.ws-search{display:flex;gap:8px;flex:0 1 380px}
.ws-search input{flex:1;border:1px solid var(--w-line);border-radius:12px;padding:11px 14px;font:inherit;min-width:0;background:var(--w-surface);color:var(--w-text)}
.ws-search input:focus,.ws-form input:focus,.ws-form textarea:focus{outline:2px solid var(--w-primary-line);border-color:var(--w-primary)}
.ws-pager{display:flex;justify-content:center;gap:6px;margin-top:36px;flex-wrap:wrap}
.ws-pager a,.ws-pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--w-line);border-radius:10px;padding:0 12px;font-weight:700}
.ws-pager .is-on{background:var(--w-primary);color:var(--w-on-primary);border-color:var(--w-primary)}
.ws-empty{text-align:center;padding:48px 20px;color:var(--w-muted);border:1px dashed var(--w-line);border-radius:var(--w-radius)}

/* article */
.ws-article{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.ws-article__img{border-radius:20px;width:100%;margin:-80px 0 28px;box-shadow:var(--w-shadow);aspect-ratio:16/8;object-fit:cover;background:var(--w-line)}
.ws-prose{font-size:17.5px;line-height:1.8;color:var(--w-text)}
.ws-prose h2{font-size:28px;margin:1.6em 0 .6em}.ws-prose h3{font-size:22px;margin:1.4em 0 .5em}
.ws-prose img{border-radius:14px}
.ws-prose table{width:100%;border-collapse:collapse;margin:1em 0}.ws-prose td,.ws-prose th{border:1px solid var(--w-line);padding:8px 10px}
.ws-prose blockquote{border-left:4px solid var(--w-primary);margin:1.4em 0;padding:8px 18px;background:var(--w-blue-soft);border-radius:0 12px 12px 0}
.ws-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.ws-side .ws-card:hover{transform:none}
.ws-side h4{font-size:16px;margin-bottom:12px}
.ws-share{display:flex;flex-wrap:wrap;gap:8px}
.ws-share a,.ws-share button{width:42px;height:42px;border-radius:12px;border:1px solid var(--w-line);display:inline-flex;align-items:center;justify-content:center;color:var(--w-navy);background:var(--w-surface);cursor:pointer;font-size:16px}
.ws-share a:hover,.ws-share button:hover{color:var(--w-on-primary);background:var(--w-primary);border-color:var(--w-primary)}
.ws-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:28px}
.ws-tags span{background:var(--w-soft);border:1px solid var(--w-line);border-radius:8px;padding:3px 10px;font-size:13px;color:var(--w-muted)}
.ws-author{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.75);margin-top:16px;flex-wrap:wrap}
.ws-author b{color:#fff}

/* areas (above footer) */
.ws-areas{background:linear-gradient(180deg,var(--w-bg), var(--w-soft));padding:64px 0;border-top:1px solid var(--w-line)}
.ws-areas__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ws-area{background:var(--w-surface);border:1px solid var(--w-line);border-radius:14px;padding:16px 18px}
.ws-area h3{font-size:16px;margin:0 0 8px;display:flex;align-items:center;gap:8px}
.ws-area h3 i{color:var(--w-primary)}
.ws-area ul{list-style:none;padding:0;margin:0;font-size:14.5px}
.ws-area li{padding:4px 0}
.ws-area li a{color:var(--w-text)}.ws-area li a:hover{color:var(--w-primary)}

/* contact */
.ws-contact{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.ws-form{display:grid;gap:14px}
.ws-form label{font-weight:700;color:var(--w-navy);font-size:14px;display:block;margin-bottom:4px}
.ws-form input,.ws-form textarea,.ws-form select{width:100%;border:1px solid var(--w-line);border-radius:12px;padding:12px 14px;font:inherit;background:var(--w-surface);color:var(--w-text)}
.ws-form .ws-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ws-alert{padding:12px 14px;border-radius:12px;font-weight:600}.ws-alert--ok{background:#dcfce7;color:#166534}.ws-alert--bad{background:#fee2e2;color:#991b1b}
.ws-info{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--w-line)}
.ws-info:first-child{border-top:0}

/* footer */
.ws-footer{background:var(--w-dark);color:#cbd5e1;padding:56px 0 24px;font-size:15px}
.ws-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.ws-footer h4{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.ws-footer a{color:#cbd5e1}.ws-footer a:hover{color:#fff}
.ws-footer ul{list-style:none;padding:0;margin:0}.ws-footer li{padding:5px 0}
.ws-footer .ws-logo{color:#fff!important;margin-bottom:12px}
.ws-social{display:flex;gap:8px;margin-top:16px}
.ws-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center}
.ws-social a:hover{background:var(--w-primary);color:var(--w-on-primary)}
.ws-footer__bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;color:#94a3b8}

/* floating WhatsApp / call */
.ws-float{position:fixed;right:18px;bottom:18px;z-index:150;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.ws-float a{display:inline-flex;align-items:center;gap:10px;height:56px;min-width:56px;padding:0 18px;border-radius:999px;color:#fff!important;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.2);text-decoration:none!important;font-size:15px}
.ws-float a i{font-size:24px}
.ws-float__wa{background:#25d366}.ws-float__wa:hover{background:#1ebe5b}
.ws-float__call{background:var(--w-primary);color:var(--w-on-primary)!important}.ws-float__call:hover{background:var(--w-primary-d)}
.ws-float a span{display:inline}
@media (max-width:640px){.ws-float a{padding:0;width:56px;justify-content:center}.ws-float a span{display:none}}

/* responsive */
@media (max-width:991px){
 .ws-hero__grid,.ws-split,.ws-article,.ws-contact{grid-template-columns:1fr}
 .ws-split__sticky,.ws-side{position:static}
 .ws-grid--3,.ws-grid--4{grid-template-columns:repeat(2,1fr)}
 .ws-footer__grid{grid-template-columns:1fr 1fr}
 .ws-stats{grid-template-columns:repeat(2,1fr)}
 .ws-article__img{margin-top:-40px}
}
@media (max-width:640px){
 .ws-section{padding:52px 0}.ws-hero{padding:44px 0}
 .ws-grid--3,.ws-grid--2,.ws-grid--4,.ws-footer__grid{grid-template-columns:1fr}
 .ws-cta{padding:28px}
 .ws-stats{padding:24px}
 .ws-filter{flex-direction:column;align-items:stretch}.ws-search{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* buttons typed in the page editor (old Bootstrap classes) */
.ws .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:12px;font-weight:700;font-size:15px;border:1px solid var(--w-line);background:var(--w-surface);color:var(--w-navy);margin:4px 6px 4px 0;text-decoration:none}
.ws .btn-primary{background:var(--w-primary);border-color:var(--w-primary);color:var(--w-on-primary)}.ws .btn-primary:hover{background:var(--w-primary-d);color:var(--w-on-primary)}
.ws .btn-secondary{background:var(--w-dark);border-color:var(--w-dark);color:#fff}
.ws .text-center{text-align:center}.ws .w-100{width:100%}

/* ===== POSNEW task 150 – themes, dark mode, new sections ===== */
.ws{transition:background-color .2s,color .2s}
[data-theme=dark] .ws-hero__img,[data-theme=dark] .ws-post__img{filter:brightness(.92)}
.ws-label{background:#fef3c7;color:#92400e}
[data-theme=dark] .ws-label{background:#422006;color:#fde68a}
[data-theme=dark] .ws-alert--ok{background:#052e16;color:#86efac}[data-theme=dark] .ws-alert--bad{background:#450a0a;color:#fecaca}
/* dark / light button */
.ws-mode{width:42px;height:42px;border-radius:12px;border:1px solid var(--w-line);background:var(--w-surface);color:var(--w-navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;flex:0 0 auto}
.ws-mode:hover{border-color:var(--w-primary);color:var(--w-primary)}
.ws-mode .fa-sun{display:none}[data-theme=dark] .ws-mode .fa-sun{display:inline}[data-theme=dark] .ws-mode .fa-moon{display:none}
@media (prefers-color-scheme:dark){.ws-auto:not([data-theme=light]) .ws-mode .fa-sun{display:inline}.ws-auto:not([data-theme=light]) .ws-mode .fa-moon{display:none}}
/* styles: classic = small corners, serif-free plain colours; minimal = flat, no shadows */
.ws--classic .ws-btn,.ws--classic .ws-chip,.ws--classic .ws-search input,.ws--classic .ws-form input,.ws--classic .ws-form textarea{border-radius:6px}
.ws--classic .ws-hero{background:var(--w-soft);border-bottom:1px solid var(--w-line)}
.ws--classic .ws-cta,.ws--classic .ws-stats{background:var(--w-deep)}
.ws--classic .ws-head h2:after{content:"";display:block;width:56px;height:3px;background:var(--w-primary);margin:14px auto 0;border-radius:2px}
.ws--minimal .ws-card,.ws--minimal .ws-post,.ws--minimal .ws-svc,.ws--minimal .ws-feat{box-shadow:none!important;transform:none!important}
.ws--minimal .ws-btn--primary{box-shadow:none}
.ws--minimal .ws-hero{background:var(--w-bg)}
.ws--minimal .ws-cta,.ws--minimal .ws-stats{background:var(--w-dark)}
/* section head with link on the right */
.ws-head--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;text-align:left;max-width:none}
.ws-head--row>div{max-width:720px}
/* software features */
.ws-feat-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}
.ws-feat-tabs button{border:1px solid var(--w-line);background:var(--w-surface);color:var(--w-navy);border-radius:999px;padding:8px 16px;font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.ws-feat-tabs button[aria-selected=true]{background:var(--w-primary);color:var(--w-on-primary);border-color:var(--w-primary)}
.ws-feats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.ws-feat{background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);padding:20px;display:flex;flex-direction:column;gap:6px;transition:.2s}
.ws-feat:hover{border-color:var(--w-primary-line);box-shadow:var(--w-shadow);transform:translateY(-2px)}
.ws-feat__ic{width:52px;height:52px;border-radius:14px;background:var(--w-blue-soft);color:var(--w-primary);display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px;overflow:hidden}
.ws-feat__ic img{width:100%;height:100%;object-fit:cover}
.ws-feat h3{font-size:16.5px;margin:0}
.ws-feat p{margin:0;color:var(--w-muted);font-size:14.5px;line-height:1.55}
.ws-feat__g{font-size:12px;font-weight:800;color:var(--w-primary-ink);text-transform:uppercase;letter-spacing:.05em}
.ws-feat[hidden]{display:none}
/* services */
.ws-svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.ws-svc{background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.ws-svc:hover{box-shadow:var(--w-shadow);transform:translateY(-3px);border-color:var(--w-primary-line)}
.ws-svc__img{aspect-ratio:16/9;background:var(--w-line) center/cover no-repeat;display:block}
.ws-svc__body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ws-svc h3{font-size:19px;margin:0}.ws-svc h3 a{color:var(--w-navy)}
.ws-svc p{margin:0;color:var(--w-muted);font-size:15px}
.ws-svc__price{font-weight:800;color:var(--w-navy)}
.ws-svc__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px}
.ws-points{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}
.ws-points li{display:flex;gap:8px;align-items:flex-start}.ws-points li:before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--w-green);font-size:13px;margin-top:4px}
/* portfolio */
.ws-works{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.ws-work{position:relative;border-radius:var(--w-radius);overflow:hidden;background:var(--w-line);aspect-ratio:4/3;display:block;color:#fff!important}
.ws-work img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ws-work:hover img{transform:scale(1.05)}
.ws-work__cap{position:absolute;inset:auto 0 0 0;padding:18px;background:linear-gradient(transparent,rgba(2,6,23,.85));display:flex;flex-direction:column;gap:2px}
.ws-work__cap b{font-size:18px;color:#fff}.ws-work__cap span{font-size:13px;opacity:.85}
.ws-work[hidden]{display:none}
.ws-facts{display:grid;gap:10px}.ws-facts div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--w-line);padding-bottom:8px;font-size:15px}.ws-facts b{color:var(--w-navy)}
.ws-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:24px}
/* gallery + viewer */
.ws-gal{columns:4 220px;column-gap:14px}
.ws-gal a{display:block;margin:0 0 14px;border-radius:12px;overflow:hidden;break-inside:avoid;background:var(--w-line);position:relative}
.ws-gal img{width:100%;display:block;transition:transform .3s}.ws-gal a:hover img{transform:scale(1.04)}
.ws-gal a[hidden]{display:none}
.ws-lb{position:fixed;inset:0;z-index:300;background:rgba(2,6,23,.92);display:none;align-items:center;justify-content:center;padding:56px 64px}
.ws-lb.is-open{display:flex}
.ws-lb img{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.ws-lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:20px;cursor:pointer}
.ws-lb button:hover{background:rgba(255,255,255,.25)}
.ws-lb__x{top:14px;right:14px}.ws-lb__p{left:12px;top:50%}.ws-lb__n{right:12px;top:50%}
.ws-lb__cap{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#e2e8f0;font-size:14px}
/* videos (only a picture until Play is pressed) */
.ws-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.ws-vid{background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);overflow:hidden}
.ws-vid__play{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;cursor:pointer;background:#000 center/cover no-repeat}
.ws-vid__play:after{content:"\f04b";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:rgba(220,38,38,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;padding-left:4px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ws-vid iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.ws-vid__body{padding:16px 18px}.ws-vid__body h3{font-size:17px;margin:0 0 4px}.ws-vid__body p{margin:0;color:var(--w-muted);font-size:14.5px}
/* downloads */
.ws-dls{display:grid;gap:12px}
.ws-dl{display:flex;align-items:center;gap:16px;background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);padding:16px 18px}
.ws-dl__ic{width:52px;height:52px;border-radius:12px;background:var(--w-blue-soft);color:var(--w-primary);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.ws-dl__t{flex:1;min-width:0}.ws-dl__t h3{font-size:17px;margin:0 0 2px}.ws-dl__t p{margin:0;color:var(--w-muted);font-size:14px}
.ws-dl__meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--w-muted);margin-top:4px}
@media (max-width:640px){.ws-dl{flex-wrap:wrap}.ws-dl .ws-btn{width:100%}}
/* partner logo strip */
.ws-partners{padding:40px 0;border-top:1px solid var(--w-line);border-bottom:1px solid var(--w-line);background:var(--w-surface)}
.ws-partners h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--w-muted);text-align:center;margin-bottom:22px;font-family:var(--w-font)}
.ws-marquee{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-marquee__track{display:flex;gap:48px;width:max-content;animation:ws-marquee var(--w-mq,30s) linear infinite;align-items:center}
.ws-marquee:hover .ws-marquee__track,.ws-marquee:focus-within .ws-marquee__track{animation-play-state:paused}
.ws-marquee a,.ws-marquee span{display:flex;align-items:center;justify-content:center;height:56px;min-width:120px}
.ws-marquee img{max-height:56px;max-width:160px;width:auto;object-fit:contain;transition:.2s}
.ws-marquee--grey img{filter:grayscale(1);opacity:.7}.ws-marquee--grey a:hover img{filter:none;opacity:1}
[data-theme=dark] .ws-marquee img{background:#fff;border-radius:8px;padding:6px}
.ws-marquee b{font-size:18px;color:var(--w-muted);white-space:nowrap}
@keyframes ws-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ws-marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
/* detail page top picture */
.ws-detail-img{border-radius:20px;width:100%;margin:-80px 0 28px;box-shadow:var(--w-shadow);aspect-ratio:16/8;object-fit:cover;background:var(--w-line)}
@media (max-width:991px){.ws-detail-img{margin-top:-40px}}
.ws-filter__chips button{font:inherit;cursor:pointer}
.ws-logo{order:1}.ws-nav{order:2}.ws-mode{order:3;margin-left:6px}.ws-burger{order:4}
@media (max-width:991px){.ws-mode{margin-left:auto}.ws-burger{margin-left:8px}}
.ws-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ws-section--tight{padding-top:40px}
[data-theme=dark] .ws-marquee--grey img{opacity:.92}
@media (prefers-color-scheme:dark){.ws-auto:not([data-theme=light]) .ws-marquee img{background:#fff;border-radius:8px;padding:6px}}
