:root{
  --ws-primary:#0038B8;--ws-secondary:#0B1F4D;--ws-accent:#F2B636;
  --ws-bg:#FFFFFF;--ws-surface:#EEF3FC;--ws-text:#0B1530;--ws-muted:#45506A;
  --ws-on-primary:#FFFFFF;--ws-dark:#071233;--ws-on-dark:#F4F7FF;
  --ws-font-heading:'Bricolage Grotesque', 'Inter', system-ui, sans-serif;--ws-font-body:'Inter', system-ui, -apple-system, sans-serif;
  --ws-radius:14px;--ws-maxw:1200px;--ws-space:112px;
  --ws-primary-soft:color-mix(in srgb,var(--ws-primary) 10%,var(--ws-bg));
  --ws-line:color-mix(in srgb,var(--ws-text) 12%,transparent);
  --ws-shadow:0 1px 2px rgb(0 0 0 / .04),0 8px 24px -8px rgb(0 0 0 / .12);
}

/* ---- live-site reset: the fixed block theme's own spacing around our parts ---- */
.wp-site-blocks{padding-block:0}
.wp-site-blocks>*{margin-block-start:0!important}
.wp-site-blocks main.wp-block-group{margin-block-start:0!important;padding-block:0}
.wp-site-blocks .wp-block-post-content>.ws-s:first-child{margin-block-start:0}
.ws-s,.ws-header,.ws-footer{margin-block:0!important}

/* ---- base ---- */
:root body,.ws-preview,.editor-styles-wrapper{background:var(--ws-bg);color:var(--ws-text);font-family:var(--ws-font-body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
:is(.wp-site-blocks,.editor-styles-wrapper) :is(h1,h2,h3,h4){font-family:var(--ws-font-heading);color:inherit;line-height:1.2;letter-spacing:-.01em}
.ws-s *,.ws-header *,.ws-footer *{box-sizing:border-box}
.ws-s :is(h1,h2,h3,h4,p,figure,ul){margin:0}
.ws-s img,.ws-header img,.ws-footer img{display:block;max-width:100%;height:auto}
.ws-s a:not(.wp-block-button__link),.ws-footer a{color:inherit}
:is(.ws-s,.ws-header,.ws-footer) :is(a,button,summary,input,textarea):focus-visible{outline:3px solid var(--ws-accent);outline-offset:3px}
.ws-wrap{max-width:var(--ws-maxw);margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}
.ws-s{padding-block:min(var(--ws-space),15vw);background:var(--ws-bg);color:var(--ws-text);position:relative}
.ws-s>.ws-wrap>*+*{margin-block-start:clamp(28px,4vw,48px)}

/* every other section on a page sits on the surface color, so sections read as separate bands */
.ws-s:nth-of-type(even):is(.ws-text,.ws-features,.ws-gallery,.ws-faq,.ws-team-grid,.ws-pricing-table,.ws-contact-form){background:var(--ws-surface)}
.ws-s:nth-of-type(even) .ws-card{background:var(--ws-bg)}
.ws-alt.ws-text--media .ws-text__media,.ws-alt.ws-hero--split .ws-hero__media{order:-1}
@media (max-width:860px){.ws-alt.ws-text--media .ws-text__media{order:0}}

/* ---- type ---- */
.ws-title{font-size:clamp(1.75rem,3.2vw,2.6rem);font-weight:700}
h1.ws-title{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;letter-spacing:-.02em}
h1.ws-title--page{font-size:clamp(2rem,4vw,3rem)}
.ws-eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ws-primary);margin-block-end:12px!important}
.ws-lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ws-muted);margin-block-start:18px!important}
.ws-body{color:var(--ws-muted);max-width:68ch}
.ws-body+.ws-body{margin-block-start:14px!important}
.ws-title+.ws-body,.ws-title+.ws-lead{margin-block-start:18px!important}
.ws-post__h{font-size:clamp(1.3rem,2.2vw,1.6rem);font-weight:700;margin-block:32px 10px!important}
.ws-rich p{margin:0 0 1em}.ws-rich ul,.ws-rich ol{margin:0 0 1em;padding-inline-start:1.4em}.ws-rich li{margin:0 0 .35em}
.ws-rich h2,.ws-rich h3,.ws-rich h4{margin:1.2em 0 .5em}.ws-rich img{display:block;max-width:100%;height:auto;border-radius:var(--ws-radius,12px);margin-block:16px}
.ws-rich a{color:inherit;text-decoration:underline}.ws-rich blockquote{margin:1em 0;padding-inline-start:1em;border-inline-start:3px solid currentColor;opacity:.9}
.ws-post__img{display:block;width:100%;max-width:68ch;height:auto;border-radius:var(--ws-radius,12px);margin-block:24px!important}
.ws-post__img--main{max-width:none;aspect-ratio:16/9;object-fit:cover;margin-block:22px 8px!important}
.ws-post-card__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--ws-radius,12px);margin-block-end:14px}
.ws-item-title{font-size:1.2rem;font-weight:700}
.ws-item-text{color:var(--ws-muted);margin-block-start:8px!important}
.ws-num{font-family:var(--ws-font-heading);font-weight:800;font-size:1rem;color:var(--ws-primary);margin-block-end:14px!important}
.ws-intro{max-width:720px}
.ws-caption{font-size:.95rem;color:var(--ws-muted);margin-block-start:10px!important}

/* ---- buttons ---- */
.ws-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:28px!important}
.ws-btn .wp-block-button__link,.ws-form-submit,.ws-form .ff-btn-submit{display:inline-block;font-family:var(--ws-font-body);font-weight:700;font-size:1rem;line-height:1.2;padding:15px 30px;border-radius:var(--ws-radius);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
.ws-btn--primary .wp-block-button__link,.ws-form-submit,.ws-form .ff-btn-submit{background:var(--ws-primary);color:var(--ws-on-primary)}
.ws-btn--secondary .wp-block-button__link{background:transparent;color:var(--ws-text);border-color:currentColor}
.ws-btn--light .wp-block-button__link{background:var(--ws-bg);color:var(--ws-text)}
.ws-btn .wp-block-button__link:hover,.ws-form-submit:hover{transform:translateY(-1px);box-shadow:var(--ws-shadow)}

/* ---- media ---- */
.ws-media{border-radius:var(--ws-radius);overflow:hidden}
.ws-media img{width:100%;height:100%;object-fit:cover}

/* ---- cards and grids ---- */
.ws-card{background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:clamp(22px,3vw,32px)}
.ws-grid{display:grid;gap:clamp(16px,2.4vw,28px);grid-template-columns:repeat(var(--ws-cols,3),minmax(0,1fr))}
.ws-grid--1{--ws-cols:1}.ws-grid--2{--ws-cols:2}.ws-grid--3{--ws-cols:3}.ws-grid--4{--ws-cols:4}
@media (max-width:980px){.ws-grid--3,.ws-grid--4{--ws-cols:2}}
@media (max-width:640px){.ws-grid{--ws-cols:1!important}}

/* ---- hero ---- */
.ws-hero{padding-block:clamp(56px,9vw,128px)}
.ws-hero--split>.ws-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center}
.ws-hero--split>.ws-wrap>*+*{margin-block-start:0}
.ws-hero--split .ws-hero__media .ws-media{aspect-ratio:4/3.4}
.ws-hero--centered{text-align:center;background:var(--ws-primary-soft)}
.ws-hero--centered .ws-hero__text{max-width:820px;margin-inline:auto}
.ws-hero--centered .ws-lead,.ws-hero--centered .ws-body{margin-inline:auto}
.ws-hero--centered .ws-actions{justify-content:center}
.ws-hero--cover{min-height:min(88vh,760px);display:flex;align-items:flex-end;color:#fff;background:var(--ws-dark)}
.ws-hero--cover>.ws-wrap{width:100%}
.ws-hero--cover .ws-hero__bg{position:absolute;inset:0;margin:0!important}
.ws-hero--cover .ws-hero__bg .ws-media{height:100%;border-radius:0}
.ws-hero--cover .ws-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0 / .72),rgb(0 0 0 / .25) 60%,rgb(0 0 0 / .1))}
.ws-hero--cover .ws-hero__text{position:relative;max-width:760px;margin:0!important}
.ws-hero--cover .ws-lead,.ws-hero--cover .ws-body{color:rgb(255 255 255 / .9)}
@media (max-width:860px){.ws-hero--split>.ws-wrap{grid-template-columns:1fr}.ws-hero--split .ws-hero__media{order:-1}}

/* ---- text ---- */
.ws-text--simple>.ws-wrap{max-width:860px}
.ws-text--split>.ws-wrap,.ws-text--media>.ws-wrap,.ws-faq--split>.ws-wrap,.ws-contact-form--split>.ws-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start}
.ws-text--media>.ws-wrap{grid-template-columns:1.1fr .9fr;align-items:center}
:is(.ws-text--split,.ws-text--media,.ws-faq--split,.ws-contact-form--split)>.ws-wrap>*+*{margin-block-start:0}
.ws-text--media .ws-media{aspect-ratio:5/4}
@media (max-width:860px){:is(.ws-text--split,.ws-text--media,.ws-faq--split,.ws-contact-form--split)>.ws-wrap{grid-template-columns:1fr}}

/* ---- features ---- */
.ws-features--icons .ws-card{background:transparent;border:0;padding:0;border-block-start:2px solid var(--ws-primary);padding-block-start:22px;border-radius:0}
.ws-features--cards .ws-card{box-shadow:var(--ws-shadow);border-color:transparent}
.ws-rows>*+*{margin-block-start:clamp(36px,6vw,80px)}
.ws-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.ws-row:nth-child(even) .ws-row__media{order:2}
.ws-row .ws-media{aspect-ratio:4/3}
@media (max-width:760px){.ws-row{grid-template-columns:1fr}.ws-row:nth-child(even) .ws-row__media{order:0}}

/* ---- gallery ---- */
/* The section carries .ws-gallery too (ws-<blockType>): only the tiles' own group is the grid. */
.ws-gallery:not(.ws-s){display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.ws-gallery .ws-media{aspect-ratio:1/1}
.ws-gallery--mosaic .ws-gallery .ws-tile:first-child{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}
.ws-gallery--mosaic .ws-gallery .ws-tile:first-child .ws-media{aspect-ratio:auto;flex:1 1 auto;min-height:0}
.ws-gallery--mosaic .ws-gallery .ws-tile:first-child .ws-media img{height:100%}
@media (max-width:760px){.ws-gallery:not(.ws-s){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- testimonials ---- */
.ws-testimonials{background:var(--ws-primary-soft)}
.ws-quote__text{font-size:1.08rem;line-height:1.75}
.ws-quote__who{font-weight:700;margin-block-start:18px!important;color:var(--ws-primary)}
.ws-quote--big{text-align:center;max-width:860px;margin-inline:auto}
.ws-quote--big .ws-quote__text{font-family:var(--ws-font-heading);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.45}

/* ---- pricing / team ---- */
.ws-price{display:flex;flex-direction:column}
.ws-price .ws-actions{margin-block-start:auto!important;padding-block-start:24px}
.ws-price--featured{border:2px solid var(--ws-primary);box-shadow:var(--ws-shadow)}
.ws-person{text-align:center}
.ws-avatar{width:120px;height:120px;margin:0 auto 18px}
.ws-avatar .ws-media{border-radius:50%;width:120px;height:120px}

/* ---- cta ---- */
.ws-cta--band{background:var(--ws-primary);color:var(--ws-on-primary);text-align:center}
.ws-cta--band .ws-body,.ws-cta--band .ws-eyebrow{color:inherit;opacity:.92;margin-inline:auto}
.ws-cta--band .ws-actions{justify-content:center}
.ws-cta--panel .ws-cta__box{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between;background:var(--ws-dark);color:var(--ws-on-dark);border-radius:calc(var(--ws-radius) * 2);padding:clamp(32px,5vw,64px)}
.ws-cta--panel .ws-body{color:inherit;opacity:.85}
.ws-cta--panel .ws-cta__text{flex:1 1 420px}
.ws-cta--panel .ws-actions{margin:0!important}
.ws-cta--panel .ws-btn--primary .wp-block-button__link{background:var(--ws-accent);color:var(--ws-dark)}

/* ---- faq ---- */
.ws-faq__list{max-width:900px}
.ws-faq--accordion .ws-faq__list{margin-inline:auto}
.ws-qa{border-block-end:1px solid var(--ws-line);padding-block:20px}
.ws-qa summary{cursor:pointer;font-family:var(--ws-font-heading);font-weight:700;font-size:1.12rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.ws-qa summary::-webkit-details-marker{display:none}
.ws-qa summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--ws-primary)}
.ws-qa[open] summary::after{content:"–"}
.ws-qa .ws-item-text{margin-block-start:12px!important}

/* ---- contact ---- */
.ws-form{box-shadow:var(--ws-shadow)}
.ws-form label{display:block;font-weight:600;font-size:.95rem}
.ws-form :is(input[type=text],input[type=tel],input[type=email],textarea),.ws-form .ff-el-form-control{display:block;width:100%;margin-block-start:6px;padding:13px 14px;font:inherit;color:var(--ws-text);background:var(--ws-bg);border:1px solid color-mix(in srgb,var(--ws-text) 22%,transparent);border-radius:calc(var(--ws-radius) * .6)}
.ws-form-fake>*+*{margin-block-start:16px}
.ws-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ws-form-consent{display:flex!important;gap:10px;align-items:center;font-weight:400!important}
.ws-form-consent input{width:18px;height:18px}
.ws-contact-form--stacked .ws-form{max-width:720px}
@media (max-width:560px){.ws-form-row{grid-template-columns:1fr}}

/* ---- header ---- */
.ws-header{background:var(--ws-bg);border-block-end:1px solid var(--ws-line);position:relative;z-index:20}
.ws-header__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.ws-header__bar>*+*{margin:0!important}
.ws-brand{font-family:var(--ws-font-heading);font-weight:800;font-size:1.3rem;margin:0}
.ws-brand a{text-decoration:none;color:var(--ws-text);display:flex;align-items:center;gap:12px}
.ws-brand img{max-height:52px;width:auto}
.ws-nav{flex:1;display:flex;justify-content:center}
.ws-nav .wp-block-navigation__container{display:flex;gap:6px 26px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.ws-nav .wp-block-navigation-item__content{text-decoration:none;color:var(--ws-text);font-weight:600;font-size:1rem;padding-block:6px}
.ws-nav .wp-block-navigation-item__content:hover{color:var(--ws-primary)}
.ws-preview .ws-nav .wp-block-navigation-submenu{position:relative}
.ws-preview .ws-nav__caret{font-size:.75em;margin-inline-start:4px}
.ws-preview .ws-nav .wp-block-navigation__submenu-container{display:none;position:absolute;top:100%;inset-inline-start:-14px;min-width:200px;list-style:none;margin:0;padding:8px 0;background:var(--ws-bg);box-shadow:var(--ws-shadow);border-radius:var(--ws-radius,10px);z-index:60}
.ws-preview .ws-nav .wp-block-navigation-submenu:hover>.wp-block-navigation__submenu-container,.ws-preview .ws-nav .wp-block-navigation-submenu:focus-within>.wp-block-navigation__submenu-container{display:block}
.ws-preview .ws-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block;padding:8px 16px;white-space:nowrap}
.ws-header .ws-actions{margin:0!important}
.ws-header .ws-btn .wp-block-button__link{padding:12px 22px}
.ws-header--centered .ws-header__bar{flex-direction:column;justify-content:center;padding-block:18px;gap:14px}
.ws-header--centered .ws-header__cta{display:none}
.ws-header__contact{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.ws-header__contact a{display:inline-flex;align-items:center;gap:6px;color:var(--ws-text);text-decoration:none;font-weight:600;white-space:nowrap}
.ws-header__contact a:hover{color:var(--ws-primary)}
.ws-header__whatsapp svg{color:#25D366}
@media (max-width:1100px){.ws-header__contact span{display:none}.ws-header__contact a{padding:6px}}
.ws-burger{display:none;background:none;border:0;padding:8px;color:var(--ws-text)}
@media (max-width:860px){.ws-header .ws-header__cta{display:none}}
@media (max-width:600px){
  .ws-preview .ws-nav .wp-block-navigation__container{display:none}
  .ws-preview .ws-burger{display:block}
  .ws-preview .ws-nav .wp-block-navigation__submenu-container{display:block;position:static;box-shadow:none;min-width:0;padding:0;padding-inline-start:16px;background:none}
  .ws-header__bar{min-height:68px;gap:12px}
  .ws-brand{font-size:1.05rem;line-height:1.25;min-width:0;flex:1 1 auto}
  .ws-brand img{max-height:40px}
  .ws-nav{flex:0 0 auto}
  .ws-header--centered .ws-header__bar{flex-direction:row;justify-content:space-between}
}

/* ---- footer ---- */
.ws-footer{background:var(--ws-dark);color:var(--ws-on-dark);padding-block:clamp(48px,7vw,80px) 28px;font-size:.98rem}
.ws-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(24px,5vw,64px)}
.ws-footer__grid>*+*{margin:0!important}
.ws-footer__name{font-family:var(--ws-font-heading);font-weight:800;font-size:1.35rem;margin:0}
.ws-footer__tagline,.ws-footer p{opacity:.85;margin:10px 0 0}
.ws-footer h4{font-size:1rem;margin:0 0 12px;opacity:1}
.ws-footer .wp-block-navigation__container{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}
.ws-footer .wp-block-navigation-item__content{color:inherit;text-decoration:none;opacity:.85}
.ws-footer .wp-block-navigation-item__content:hover{opacity:1;text-decoration:underline}
.ws-footer__bottom{margin-block-start:clamp(32px,5vw,56px)!important;padding-block-start:22px;border-block-start:1px solid color-mix(in srgb,var(--ws-on-dark) 18%,transparent);font-size:.9rem}
.ws-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.ws-footer__bottom p{margin:0}
.ws-footer__credit a{color:inherit;text-decoration:none}
.ws-footer__credit a:hover{text-decoration:underline}
.ws-footer--simple .ws-footer__grid{grid-template-columns:1fr auto;align-items:center}
.ws-footer--simple .ws-footer__contact{display:none}
@media (max-width:760px){.ws-footer__grid,.ws-footer--simple .ws-footer__grid{grid-template-columns:1fr}}

/* ---- motion: hover (src/design/motion.ts) ---- */
@media (hover:hover){
:root:not([data-motion="none"]) :is(.ws-features--cards .ws-card,.ws-team-grid .ws-card,.ws-price,.ws-testimonials .ws-card,.ws-post-card,.ws-coll__card){transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
:root:not([data-motion="none"]) :is(.ws-features--cards .ws-card,.ws-team-grid .ws-card,.ws-price,.ws-testimonials .ws-card,.ws-post-card,.ws-coll__card):is(:hover,:focus-within){transform:translateY(-5px);box-shadow:0 18px 40px -16px rgb(0 0 0 / .28)}
:root[data-motion="lively"] :is(.ws-features--cards .ws-card,.ws-team-grid .ws-card,.ws-price,.ws-testimonials .ws-card,.ws-post-card,.ws-coll__card):is(:hover,:focus-within){transform:translateY(-8px) scale(1.015)}
:root:not([data-motion="none"]) :is(.ws-card,.ws-row,.ws-text__media,.ws-hero__media,.ws-coll__card) img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
:root:not([data-motion="none"]) :is(.ws-card,.ws-row,.ws-text__media,.ws-hero__media,.ws-coll__card):hover img{transform:scale(1.05)}
:root[data-motion="lively"] :is(.ws-card,.ws-row,.ws-text__media,.ws-hero__media,.ws-coll__card):hover img{transform:scale(1.08)}
:root:not([data-motion="none"]) .ws-features--icons .ws-card{transition:border-color .25s ease,transform .25s ease}
:root:not([data-motion="none"]) .ws-features--icons .ws-card:is(:hover,:focus-within){border-block-start-color:var(--ws-accent);transform:translateY(-3px)}
:root:not([data-motion="none"]) .ws-quote{transition:transform .28s ease}
:root[data-motion="lively"] .ws-btn .wp-block-button__link:hover{transform:translateY(-3px) scale(1.02)}
}
@media (prefers-reduced-motion:reduce){
:root:not([data-motion="none"]) :is(:is(.ws-features--cards .ws-card,.ws-team-grid .ws-card,.ws-price,.ws-testimonials .ws-card,.ws-post-card,.ws-coll__card),:is(.ws-card,.ws-row,.ws-text__media,.ws-hero__media,.ws-coll__card) img,.ws-features--icons .ws-card,.ws-btn .wp-block-button__link){transition:none!important;transform:none!important}
}

/* ---- motion: rotating hero banner ---- */
.ws-hero--slider{padding:0!important;display:block;min-height:0}
.ws-hero--slider .ws-slides{display:grid}
.ws-hero--slider .ws-slide{grid-area:1/1;position:relative;display:flex;align-items:flex-end;min-height:min(88vh,760px);padding-block:clamp(56px,9vw,128px) clamp(84px,10vw,136px);color:#fff;overflow:hidden}
.ws-hero--slider .ws-slide>.ws-wrap{width:100%;position:relative}
.ws-hero--slider .ws-slide .ws-hero__bg{position:absolute;inset:0;margin:0!important}
.ws-hero--slider .ws-slide .ws-hero__bg .ws-media{height:100%;border-radius:0}
.ws-hero--slider .ws-slide .ws-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0 / .72),rgb(0 0 0 / .25) 60%,rgb(0 0 0 / .1))}
.ws-hero--slider .ws-hero__text{position:relative;max-width:760px;margin:0!important}
.ws-hero--slider .ws-lead,.ws-hero--slider .ws-body{color:rgb(255 255 255 / .9)}
.ws-hero--slider .ws-slide:not(:first-child){visibility:hidden}
.ws-slider-on .ws-slide{visibility:hidden;opacity:0;transition:opacity .9s ease,visibility 0s linear .9s}
.ws-slider-on .ws-slide.is-on{visibility:visible;opacity:1;transition:opacity .9s ease,visibility 0s}
.ws-slider-on .ws-slide .ws-hero__text{transform:translateY(18px);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.ws-slider-on .ws-slide.is-on .ws-hero__text{transform:none}
:root[data-motion="lively"] .ws-slider-on .ws-slide.is-on .ws-hero__bg img{animation:ws-kb 9s ease-out both}
.ws-slider__ctl{position:absolute;inset-inline:0;bottom:clamp(18px,3vw,32px);display:flex;justify-content:center;align-items:center;gap:10px;z-index:3}
.ws-slider__ctl[hidden]{display:none}
.ws-slider__ctl button{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgb(0 0 0 / .38);color:#fff;font:inherit;font-size:1.25rem;line-height:1;transition:background .2s ease}
.ws-slider__ctl button:hover{background:rgb(0 0 0 / .6)}
.ws-slider__ctl button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.ws-slider__dots{display:flex;gap:2px}
.ws-slider__ctl .ws-slider__dot{width:28px;height:44px;background:transparent;border-radius:0}
.ws-slider__ctl .ws-slider__dot::before{content:"";width:10px;height:10px;border-radius:50%;background:rgb(255 255 255 / .55);transition:transform .2s ease,background .2s ease}
.ws-slider__ctl .ws-slider__dot[aria-current="true"]::before{background:#fff;transform:scale(1.3)}
.ws-slider__ctl .ws-slider__dot:hover{background:transparent}
.ws-slider__ctl .ws-slider__dot:hover::before{background:#fff}
.ws-slider__pause svg{width:16px;height:16px;fill:currentColor}
[dir="rtl"] .ws-slider__prev,[dir="rtl"] .ws-slider__next{transform:scaleX(-1)}

/* ---- motion: entrance (the site's script marks what is below the fold) ---- */
.ws-mo .ws-rv{opacity:0;transform:translate3d(0,var(--ws-rv-y,26px),0);transition:opacity var(--ws-rv-t,var(--ws-rv-t0,.75s)) cubic-bezier(.2,.7,.2,1) var(--ws-rv-d,0s),transform var(--ws-rv-t,var(--ws-rv-t0,.75s)) cubic-bezier(.2,.7,.2,1) var(--ws-rv-d,0s)}
.ws-mo .ws-rv.ws-rv--img{transform:translate3d(0,var(--ws-rv-y,26px),0) scale(.97)}
:root[data-motion="lively"].ws-mo .ws-rv{--ws-rv-y:48px;--ws-rv-t0:.9s}
:root[data-motion="lively"].ws-mo .ws-rv.ws-rv--img{transform:translate3d(0,var(--ws-rv-y),0) scale(.92)}
.ws-mo .ws-rv.ws-rv--side{transform:translate3d(calc(var(--ws-rv-x,1) * 40px),0,0)}
:root[data-motion="lively"].ws-mo .ws-rv.ws-rv--side{transform:translate3d(calc(var(--ws-rv-x,1) * 56px),0,0)}
.ws-mo .ws-rv.ws-rv--fade{transform:none}
.ws-mo .ws-rv.ws-in{opacity:1!important;transform:none!important}
/* An element the owner asked to animate that is already on screen when the page opens plays its
   entrance at once (the script sets where it comes from in --ws-ld-from). */
.ws-ld{animation:ws-ld var(--ws-rv-t,.9s) cubic-bezier(.2,.7,.2,1) both}
@keyframes ws-ld{from{opacity:0;transform:var(--ws-ld-from,translate3d(0,26px,0))}to{opacity:1;transform:none}}
:root[data-motion="lively"] .ws-header{position:sticky;top:0;transition:box-shadow .3s ease}
:root[data-motion="lively"] .ws-header .ws-header__bar{transition:min-height .3s ease}
:root[data-motion="lively"] .ws-header .ws-brand img{transition:max-height .3s ease}
:root[data-motion="lively"] .ws-header.ws-scrolled{box-shadow:0 6px 24px -10px rgb(0 0 0 / .25)}
:root[data-motion="lively"] .ws-header.ws-scrolled .ws-header__bar{min-height:64px}
:root[data-motion="lively"] .ws-header.ws-scrolled .ws-brand img{max-height:40px}
:root[data-motion="lively"] .ws-hero--cover .ws-hero__bg img{animation:ws-kb 12s ease-out both}
@keyframes ws-kb{from{transform:scale(1)}to{transform:scale(1.07)}}
@media (prefers-reduced-motion:reduce){
.ws-mo .ws-rv{opacity:1!important;transform:none!important;transition:none!important}
.ws-ld{animation:none!important}
.ws-slider-on .ws-slide,.ws-slider-on .ws-slide .ws-hero__text{transition:none!important;transform:none!important}
.ws-hero__bg img{animation:none!important}
:root[data-motion="lively"] .ws-header,:root[data-motion="lively"] .ws-header *{transition:none!important}
}
@media print{.ws-mo .ws-rv{opacity:1!important;transform:none!important}.ws-ld{animation:none!important}.ws-slider__ctl{display:none}.ws-hero--slider .ws-slide:not(:first-child){display:none}}

/* ---- design ---- */
/* ---- type ---- */
:is(.wp-site-blocks,.editor-styles-wrapper,.ws-preview) :is(h1,h2,h3){font-weight:800;letter-spacing:-.025em}
.ws-title{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.1}
h1.ws-title{font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.04;letter-spacing:-.035em}
.ws-eyebrow{display:flex;align-items:center;gap:12px;font-size:1rem;letter-spacing:.07em;line-height:1.4}
.ws-eyebrow::before{content:"";width:28px;height:3px;background:currentColor;border-radius:2px;flex:0 0 auto}
.ws-lead{line-height:1.6}
.ws-s a:not(.wp-block-button__link){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}

/* ---- buttons ---- */
.ws-btn .wp-block-button__link,.ws-form-submit,.ws-form .ff-btn-submit{border-radius:999px;padding:17px 34px;font-size:1.05rem;letter-spacing:.01em}
.ws-btn--primary .wp-block-button__link{box-shadow:0 10px 24px -10px rgb(0 56 184 / .7)}
.ws-btn--primary .wp-block-button__link::after{content:"\2192";display:inline-block;margin-inline-start:10px;transition:transform .15s ease}
.ws-btn--primary .wp-block-button__link:hover::after{transform:translateX(4px)}
.ws-btn--secondary .wp-block-button__link:hover{background:var(--ws-text);color:var(--ws-bg);border-color:var(--ws-text)}

/* ---- header ---- */
.ws-header{border-block-start:6px solid var(--ws-primary)}
.ws-header--centered .ws-header__bar{position:relative;padding-block:22px 14px;gap:12px}
.ws-brand{font-size:1.55rem;letter-spacing:-.03em}
.ws-brand a::before{content:"";width:14px;height:14px;border-radius:4px;background:var(--ws-primary);box-shadow:5px 5px 0 var(--ws-accent);flex:0 0 auto}
.ws-nav{width:100%}
.ws-nav .wp-block-navigation__container{justify-content:center;gap:4px 24px}
.ws-nav .wp-block-navigation-item__content{font-size:1rem;white-space:nowrap}
.ws-nav .wp-block-navigation-item__content:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
@media (min-width:861px){.ws-header--centered .ws-header__contact{position:absolute;inset-inline-end:clamp(20px,4vw,40px);inset-block-start:26px}}

/* ---- hero ---- */
.ws-hero{background:var(--ws-dark);color:var(--ws-on-dark);overflow:hidden;isolation:isolate}
.ws-hero::before{content:"";position:absolute;inset-inline-end:-160px;inset-block-start:-180px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgb(0 56 184 / .55),transparent 70%);z-index:-1}
.ws-hero::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;height:14px;background:linear-gradient(var(--ws-primary) 0 50%,var(--ws-accent) 50%)}
.ws-hero .ws-eyebrow{color:var(--ws-accent)}
.ws-hero .ws-lead,.ws-hero .ws-body{color:rgb(244 247 255 / .88)}
.ws-hero h1.ws-title{color:#fff}
.ws-hero .ws-btn--primary .wp-block-button__link{background:var(--ws-accent);color:var(--ws-dark);box-shadow:0 12px 30px -12px rgb(242 182 54 / .7)}
.ws-hero .ws-btn--secondary .wp-block-button__link{color:#fff;border-color:rgb(255 255 255 / .6)}
.ws-hero .ws-btn--secondary .wp-block-button__link:hover{background:#fff;color:var(--ws-dark)}
.ws-hero--split .ws-hero__media{position:relative}
.ws-hero--split .ws-hero__media::before{content:"";position:absolute;inset:16px -14px -16px 14px;border:3px solid var(--ws-accent);border-radius:calc(var(--ws-radius) * 2)}
.ws-hero--split .ws-hero__media .ws-media{position:relative;border-radius:calc(var(--ws-radius) * 2);box-shadow:0 30px 60px -20px rgb(0 0 0 / .6)}
.ws-hero--centered .ws-hero__text,.ws-hero--cover .ws-hero__text{position:relative}

/* ---- image placeholders ---- */
.ws-media--placeholder{background:linear-gradient(135deg,#DCE6FB 0%,#B9CCF5 55%,#F7E3B0 100%);color:var(--ws-secondary)}

/* ---- text ---- */
.ws-text--split .ws-text__head{position:sticky;inset-block-start:32px}
.ws-text--split .ws-text__head .ws-title::after,.ws-text--simple .ws-title::after{content:"";display:block;width:72px;height:6px;margin-block-start:22px;background:linear-gradient(90deg,var(--ws-primary) 0 60%,var(--ws-accent) 60%);border-radius:3px}
.ws-text .ws-body{font-size:1.08rem;color:var(--ws-text)}
.ws-text .ws-body:first-of-type::first-line{font-weight:600}
.ws-text--media .ws-media{border-radius:calc(var(--ws-radius) * 2)}
section.ws-s.ws-text.ws-alt{background:var(--ws-secondary);color:var(--ws-on-dark)}
section.ws-s.ws-text.ws-alt :is(.ws-title,h2,h3){color:#fff}
section.ws-s.ws-text.ws-alt :is(.ws-body,.ws-lead){color:rgb(244 247 255 / .9)}
section.ws-s.ws-text.ws-alt .ws-eyebrow{color:var(--ws-accent)}
section.ws-s.ws-text.ws-alt .ws-title::after{background:linear-gradient(90deg,#fff 0 60%,var(--ws-accent) 60%)}

/* ---- features ---- */
.ws-features--cards .ws-card{position:relative;border-radius:calc(var(--ws-radius) * 1.4);box-shadow:0 18px 40px -24px rgb(7 18 51 / .35);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;border-block-start:6px solid var(--ws-primary)}
.ws-features--cards .ws-card:hover{transform:translateY(-4px);box-shadow:0 28px 50px -24px rgb(7 18 51 / .45)}
.ws-features--cards .ws-card:nth-child(3n+2){border-block-start-color:var(--ws-accent)}
.ws-num{font-size:2.4rem;font-weight:700;line-height:1;color:var(--ws-primary);letter-spacing:-.04em}
.ws-item-title{font-size:1.35rem;letter-spacing:-.02em}
.ws-features--icons .ws-card{border-block-start-width:4px}
.ws-row .ws-media{border-radius:calc(var(--ws-radius) * 1.6)}

/* ---- testimonials ---- */
.ws-quote--big .ws-quote__text::before{content:"\201C";display:block;font-size:4rem;line-height:.8;color:var(--ws-primary)}

/* ---- faq ---- */
.ws-faq--split>.ws-wrap>:first-child{position:sticky;inset-block-start:32px}
.ws-qa{background:var(--ws-bg);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:22px 26px;margin-block-end:14px;transition:border-color .15s ease,box-shadow .15s ease}
.ws-s:nth-of-type(odd) .ws-qa{background:var(--ws-surface);border-color:transparent}
.ws-qa[open]{border-color:var(--ws-primary);box-shadow:0 14px 30px -20px rgb(0 56 184 / .5)}
.ws-qa summary{font-size:1.15rem;align-items:center}
.ws-qa summary::after{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ws-primary);color:#fff;font-size:1.3rem}
.ws-qa .ws-item-text{color:var(--ws-muted)}

/* ---- cta ---- */
.ws-cta--band{overflow:hidden;isolation:isolate}
.ws-cta--band::before,.ws-cta--band::after{content:"";position:absolute;inset-inline:0;height:10px;background:#fff;opacity:.9}
.ws-cta--band::before{inset-block-start:28px}
.ws-cta--band::after{inset-block-end:28px}
.ws-cta--band .ws-title{font-size:clamp(2.1rem,4.6vw,3.5rem);color:#fff}
.ws-cta--band .ws-body{font-size:1.15rem;opacity:1;color:#fff}
.ws-cta--band .ws-btn--primary .wp-block-button__link,.ws-cta--band .ws-btn--light .wp-block-button__link{background:var(--ws-accent);color:var(--ws-dark);box-shadow:0 14px 30px -12px rgb(0 0 0 / .45)}
.ws-cta--band .ws-btn--secondary .wp-block-button__link{color:#fff}
.ws-cta--panel .ws-cta__box{background:linear-gradient(135deg,var(--ws-dark),var(--ws-secondary))}

/* ---- contact ---- */
.ws-form{border-radius:calc(var(--ws-radius) * 1.6);border-block-start:6px solid var(--ws-primary);padding:clamp(24px,4vw,40px)}
.ws-form :is(input[type=text],input[type=tel],input[type=email],textarea):focus{border-color:var(--ws-primary);box-shadow:0 0 0 3px rgb(0 56 184 / .18)}
.ws-form-submit,.ws-form .ff-btn-submit{width:100%}

/* ---- footer ---- */
.ws-footer{position:relative;border-block-start:10px solid var(--ws-primary);box-shadow:inset 0 6px 0 var(--ws-accent)}
.ws-footer__name{font-size:1.7rem;letter-spacing:-.03em}
.ws-footer h4{color:var(--ws-accent);text-transform:uppercase;letter-spacing:.1em;font-size:1rem}
.ws-footer a{text-decoration:underline;text-underline-offset:3px}
.ws-footer .wp-block-navigation-item__content{text-decoration:none;opacity:.92}
.ws-footer__bottom{font-size:1rem}
.ws-footer__tagline,.ws-footer p{opacity:.9}

@media (max-width:860px){
  .ws-text--split .ws-text__head,.ws-faq--split>.ws-wrap>:first-child{position:static}
  .ws-hero--split .ws-hero__media::before{inset:10px -8px -10px 8px}
}
@media (max-width:600px){
  .ws-eyebrow::before{display:none}
  .ws-header--centered .ws-header__bar{padding-block:12px}
  .ws-nav{width:auto}
}

/* ---- quality guard (after the design) ---- */
html,body{margin:0}
.wp-site-blocks{overflow-x:clip}
.ws-s,.ws-header,.ws-footer{overflow-wrap:break-word}
:is(.ws-s,.ws-footer) :is(.ws-wrap,.ws-hero__text,.ws-text__head,.ws-text__body,.ws-card,.ws-row>*){min-width:0}
.ws-header{position:sticky!important;top:0;z-index:40}
.ws-brand__name{display:block;min-width:0}
.ws-qa>summary::after{transition:transform .25s ease}
.ws-qa[open]>summary::after{transform:rotate(180deg)}
/* One type scale, a few sizes only (STATUS.md part 162): the main heading (h1, above), section
   headings, sub-headings, the lead line, the text, and the small print. */
.ws-s h2.ws-title{font-size:clamp(1.6rem,1.1rem + 2vw,2.4rem)}
.ws-s :is(.ws-item-title,.ws-qa>summary,.ws-rich :is(h2,h3,h4)){font-size:1.25rem!important}
.ws-s .ws-lead{font-size:1.25rem!important}
.ws-s :is(.ws-body,.ws-item-text,.ws-quote__text,.ws-rich :is(p,li)){font-size:1.0625rem!important}
.ws-s :is(.ws-eyebrow,.ws-caption){font-size:.875rem!important}
/* Every paragraph in a section the same color: the section's own text color (dark on a light
   section, light on a dark one), never a dark first paragraph and grey ones after it. */
.ws-s :is(.ws-body,.ws-lead,.ws-item-text,.ws-quote__text,.ws-rich :is(p,li)){color:inherit!important;opacity:1!important}
/* A text section that repeats takes another shape each time (sections.ts textTurn): the heading on
   the other side, the text centered, the picture above or below the text. */
.ws-alt.ws-text--split .ws-text__head{order:2}
.ws-alt.ws-text--simple>.ws-wrap{text-align:center}
.ws-alt.ws-text--simple :is(.ws-body,.ws-lead){margin-inline:auto}
.ws-text--stack>.ws-wrap{display:flex;flex-direction:column;gap:clamp(20px,3vw,36px)}
.ws-text--stack .ws-text__body{max-width:860px}
.ws-text--stack .ws-media{aspect-ratio:21/9;width:100%;object-fit:cover}
.ws-alt.ws-text--stack .ws-text__media{order:2}
@media (max-width:860px){
  :is(.ws-hero--split,.ws-text--split,.ws-text--media,.ws-faq--split,.ws-contact-form--split)>.ws-wrap{grid-template-columns:minmax(0,1fr)!important}
  .ws-hero--split .ws-hero__media{order:2!important}
  .ws-hero--split .ws-hero__media .ws-media{aspect-ratio:16/10}
  .ws-row{grid-template-columns:minmax(0,1fr)!important}
  .ws-text--split .ws-text__head,.ws-faq--split>.ws-wrap>:first-child{position:static!important}
  .ws-alt.ws-text--split .ws-text__head{order:0}
  .ws-text--stack .ws-media{aspect-ratio:16/10}
}
@media (max-width:600px){
  .ws-header__bar{min-height:64px!important;padding-block:8px!important;gap:8px!important;flex-wrap:nowrap!important;flex-direction:row!important;justify-content:space-between!important}
  .ws-brand{font-size:1rem!important;line-height:1.25!important;min-width:0!important;flex:1 1 auto!important}
  .ws-brand a{min-width:0;gap:10px!important}
  .ws-brand__name{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .ws-brand img{max-height:40px!important}
  .ws-header__contact{gap:6px!important}
  .ws-header__contact a{inline-size:44px;block-size:44px;padding:0!important;justify-content:center;border-radius:50%;background:var(--ws-primary-soft)}
  .ws-header__contact svg{inline-size:22px;block-size:22px}
  .ws-burger{inline-size:44px;block-size:44px;padding:9px!important}
  h1.ws-title{font-size:clamp(1.75rem,8vw,2.125rem)!important;line-height:1.2!important}
  .ws-title{font-size:clamp(1.45rem,6.4vw,1.75rem)}
  .ws-hero{padding-block:48px!important}
}
@media (prefers-reduced-motion:reduce){.ws-qa>summary::after{transition:none}}

/* ---- aluf site ---- */

.ws-lang{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.ws-lang a{display:inline-flex;align-items:center;justify-content:center;min-inline-size:36px;min-block-size:36px;padding:0 6px;border-radius:8px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-decoration:none;color:inherit;opacity:.7}
.ws-lang a:hover,.ws-lang a:focus-visible{opacity:1;text-decoration:underline}
.ws-lang a[aria-current]{opacity:1;background:var(--ws-primary-soft)}
@media (max-width:600px){.ws-lang a{min-inline-size:32px;min-block-size:44px;padding:0 4px}.ws-lang a[aria-current]{display:none}}
.ws-preview .ws-nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{top:-8px;inset-inline-start:100%}
.ws-preview .ws-nav .wp-block-navigation__submenu-container .ws-nav__caret{display:inline-block;transform:rotate(-90deg)}
[dir=rtl] .ws-preview .ws-nav .wp-block-navigation__submenu-container .ws-nav__caret{transform:rotate(90deg)}
@media (max-width:600px){.ws-preview .ws-nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{top:auto;inset-inline-start:auto}.ws-preview .ws-nav .wp-block-navigation__submenu-container .ws-nav__caret{transform:none}}
.ws-form-hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.ws-form-status{margin:0;min-height:1.4em;font-weight:600}
.ws-form-consent a{color:inherit}
.ws-header{position:relative}
.ws-with-side{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);align-items:start}
.ws-side-main{min-width:0}
.ws-with-side--end{grid-template-columns:minmax(0,1fr) minmax(180px,250px)}.ws-with-side--end .ws-side{grid-column:2;grid-row:1;border-inline-end:0;border-inline-start:1px solid color-mix(in srgb,currentColor 12%,transparent);margin-inline-start:0;margin-inline-end:clamp(8px,3vw,48px)}.ws-with-side--end .ws-side-main{grid-column:1;grid-row:1}
.ws-side{position:sticky;top:16px;margin:clamp(24px,4vw,48px) 0;margin-inline-start:clamp(8px,3vw,48px);padding:0 clamp(14px,2vw,24px);border-inline-end:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.ws-side__title{font-weight:700;margin:0 0 8px;padding:0 8px}
.ws-side ul{list-style:none;margin:0;padding:0}
.ws-side ul ul{padding-inline-start:14px;font-size:.94em}
.ws-side a{display:block;padding:6px 8px;border-radius:8px;color:inherit;text-decoration:none}
.ws-side a:hover,.ws-side a[aria-current]{background:color-mix(in srgb,var(--ws-primary) 10%,transparent);color:var(--ws-primary)}
@media (max-width:800px){.ws-with-side{display:block}.ws-side{position:static;margin:16px 0 0;border:0;padding:0 clamp(16px,4vw,24px)}
.ws-side ul{display:flex;flex-wrap:wrap;gap:6px}.ws-side ul ul{width:100%;padding:6px 0 0}.ws-side li{display:contents}
.ws-side a{border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:999px;padding:5px 12px}}
@media (max-width:600px){
  .ws-preview .ws-header .ws-nav .wp-block-navigation__container{display:flex;flex-direction:column;gap:4px;position:absolute;inset-inline:0;top:100%;z-index:50;background:var(--ws-bg);padding:12px clamp(20px,4vw,40px) 20px;box-shadow:var(--ws-shadow);visibility:hidden;opacity:0;transform:translateY(-8px);clip-path:inset(0 0 100% 0);transition:clip-path .32s cubic-bezier(.4,0,.2,1),opacity .22s ease,transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear .32s}
  .ws-preview .ws-header.ws-nav-open .ws-nav .wp-block-navigation__container{visibility:visible;opacity:1;transform:none;clip-path:inset(0 0 -40px 0);transition:clip-path .38s cubic-bezier(.2,0,0,1),opacity .2s ease,transform .38s cubic-bezier(.2,0,0,1),visibility 0s}
  .ws-preview .ws-header .ws-nav .wp-block-navigation__container>li{opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .25s ease}
  .ws-preview .ws-header.ws-nav-open .ws-nav .wp-block-navigation__container>li{opacity:1;transform:none;transition:opacity .3s ease calc(.05s + var(--i,0)*.04s),transform .35s ease calc(.05s + var(--i,0)*.04s)}
}
.ws-burger svg path{transition:transform .3s ease,opacity .2s ease;transform-box:fill-box;transform-origin:center}
.ws-nav-open .ws-burger .ws-b1{transform:translateY(5px) rotate(45deg)}
.ws-nav-open .ws-burger .ws-b2{opacity:0}
.ws-nav-open .ws-burger .ws-b3{transform:translateY(-5px) rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.ws-preview .ws-header .ws-nav .wp-block-navigation__container,.ws-preview .ws-header .ws-nav .wp-block-navigation__container>li,.ws-burger svg path{transition:none!important}}
.ws-posts{display:grid;gap:clamp(20px,3vw,32px)}
.ws-post-card{padding:clamp(20px,3vw,28px)}
.ws-post-card a{text-decoration:none}
.ws-post-card .ws-item-title a:hover{text-decoration:underline}
.ws-post__body{max-width:72ch}
.ws-consent{position:fixed;inset-inline:12px;bottom:12px;z-index:100;max-width:640px;margin-inline:auto;background:var(--ws-bg);color:var(--ws-text);border:1px solid rgba(0,0,0,.12);border-radius:var(--ws-radius,12px);box-shadow:0 10px 30px rgba(0,0,0,.18);padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;font-size:.92rem}
.ws-consent p{margin:0;flex:1 1 260px}
.ws-announce{background:var(--ws-primary);color:var(--ws-on-primary,#fff);font-size:.92rem;padding:8px 44px;text-align:center;position:relative;line-height:1.5}
.ws-announce[hidden]{display:none}
.ws-announce a{color:inherit;font-weight:700;text-decoration:underline;margin-inline-start:8px}
.ws-announce__x{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:inherit;font-size:1.3rem;line-height:1;cursor:pointer;padding:4px 8px}
.ws-consent a{color:inherit}
.ws-consent__actions{display:flex;gap:8px}
.ws-consent__btn{font:inherit;cursor:pointer;padding:8px 16px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit}
.ws-consent__btn--yes{background:var(--ws-primary);color:var(--ws-on-primary);border-color:var(--ws-primary)}
.ws-rich .ws-gallery{--g:12px;--c:3;display:grid;grid-template-columns:repeat(var(--c),minmax(0,1fr));gap:var(--g);margin-block:20px}
.ws-rich .ws-gallery[data-gap="s"]{--g:4px}.ws-rich .ws-gallery[data-gap="l"]{--g:24px}
.ws-rich .ws-gallery[data-cols="2"]{--c:2}.ws-rich .ws-gallery[data-cols="4"]{--c:4}.ws-rich .ws-gallery[data-cols="5"]{--c:5}.ws-rich .ws-gallery[data-cols="6"]{--c:6}
.ws-rich .ws-gallery figure{margin:0;min-width:0}
.ws-rich .ws-gallery a{display:block;overflow:hidden;border-radius:var(--ws-radius,12px)}
.ws-rich .ws-gallery img{display:block;width:100%;height:auto;margin:0;border-radius:var(--ws-radius,12px);transition:transform .35s ease}
.ws-rich .ws-gallery a img{border-radius:0}
.ws-rich .ws-gallery a:hover img{transform:scale(1.04)}
.ws-rich .ws-gallery[data-layout="grid"][data-ratio="square"] img{aspect-ratio:1;object-fit:cover}
.ws-rich .ws-gallery[data-layout="grid"][data-ratio="landscape"] img{aspect-ratio:4/3;object-fit:cover}
.ws-rich .ws-gallery[data-layout="grid"][data-ratio="portrait"] img{aspect-ratio:3/4;object-fit:cover}
.ws-rich .ws-gallery[data-layout="masonry"]{display:block;column-count:var(--c);column-gap:var(--g)}
.ws-rich .ws-gallery[data-layout="masonry"] figure{break-inside:avoid;margin-bottom:var(--g)}
.ws-rich .ws-gallery figcaption{font-size:.88rem;opacity:.8;margin-top:6px;line-height:1.4}
.ws-rich .ws-gallery .ws-cap-d{display:none}
@media (max-width:700px){.ws-rich .ws-gallery[data-cols]{--c:2}}
.ws-gallery .ws-tile img{cursor:zoom-in;transition:transform .35s ease}
.ws-gallery .ws-tile .ws-media{overflow:hidden}
.ws-gallery .ws-tile:hover img{transform:scale(1.04)}
.ws-lb{position:fixed;inset:0;z-index:200;background:rgba(10,10,10,0);display:flex;align-items:center;justify-content:center;padding:48px 56px;transition:background .3s ease}
.ws-lb--in{background:rgba(10,10,10,.92)}
.ws-lb__x,.ws-lb__nav,.ws-lb__count,.ws-lb__fig figcaption{opacity:0;transition:opacity .25s ease}
.ws-lb--in .ws-lb__x,.ws-lb--in .ws-lb__nav,.ws-lb--in .ws-lb__count,.ws-lb--in .ws-lb__fig figcaption{opacity:1;transition-delay:.12s}
.ws-lb[hidden]{display:none}
.ws-lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%}
.ws-lb__fig img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.ws-lb__fig figcaption{color:#eee;margin-top:12px;text-align:center;font-size:.95rem;max-width:70ch}
.ws-lb__x,.ws-lb__nav{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;width:44px;height:44px;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ws-lb__x:hover,.ws-lb__nav:hover{background:rgba(255,255,255,.25)}
.ws-lb__x{top:12px;inset-inline-end:12px}
.ws-lb__nav{top:50%;transform:translateY(-50%);direction:ltr}
.ws-lb__prev{left:10px}.ws-lb__next{right:10px}
.ws-lb--one .ws-lb__nav{display:none}
.ws-lb__count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#ccc;font-size:.85rem}
html.ws-lb-open{overflow:hidden}
@media (max-width:600px){.ws-lb{padding:56px 8px}.ws-lb__nav{top:auto;bottom:10px;transform:none}}
.ws-map{margin-block:20px}
.ws-map__canvas{height:clamp(280px,45vw,440px);border-radius:var(--ws-radius,12px);overflow:hidden;margin-bottom:10px;position:relative;z-index:0}
.ws-map .leaflet-container{font:inherit}
.ws-map__list{margin:0;padding-inline-start:1.4em;font-size:.95rem}
.ws-map .ws-map__pin{background:var(--ws-primary);color:var(--ws-on-primary,#fff);border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.ws-embed{margin-block:20px;border-radius:var(--ws-radius,12px);overflow:hidden}
.ws-embed iframe{display:block;width:100%;border:0}
.ws-embed--video iframe{aspect-ratio:16/9;height:auto}
.ws-embed--map iframe{height:clamp(280px,45vw,440px)}
.ws-embed--audio iframe{height:232px}
.ws-embed{position:relative}
.ws-embed--wait iframe{visibility:hidden}
.ws-embed__ask{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;background:var(--ws-surface,#f3f4f6);color:var(--ws-text);border:1px solid var(--ws-line,rgba(0,0,0,.12));border-radius:inherit}
.ws-embed__ask p{margin:0;max-width:40ch}
.ws-embed__show{font:inherit;cursor:pointer;padding:10px 18px;min-height:44px;border-radius:999px;border:1px solid var(--ws-primary);background:var(--ws-primary);color:var(--ws-on-primary)}
.ws-footer__cookies button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;min-height:24px}
.ws-aff{font-size:.8em;opacity:.7;margin-inline-start:4px;white-space:nowrap}
.ws-crumbs{font-size:.85rem;padding-block:12px 0;opacity:.8}
.ws-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin-block:0;padding-block:0}
.ws-crumbs li+li::before{content:"›";margin-inline-end:4px;opacity:.6}
[dir=rtl] .ws-crumbs li+li::before{content:"‹"}
.ws-crumbs a{color:inherit;text-decoration:none}
.ws-crumbs a:hover{text-decoration:underline}
.ws-members{margin-block:28px;padding:22px;border-radius:var(--ws-radius,12px);border:1px solid color-mix(in srgb,currentColor 15%,transparent);background:color-mix(in srgb,var(--ws-primary) 6%,transparent)}
.ws-members__title{margin:0 0 6px;font-size:1.25rem}
.ws-members__form{display:grid;gap:10px;max-width:420px;margin-top:12px}
.ws-members__form label{display:grid;gap:4px;font-size:.9rem}
.ws-members__form input{padding:10px 12px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:8px;font:inherit}
.ws-members__status{margin:0;font-size:.9rem}
.ws-member-bar{font-size:.85rem;padding-block:8px;background:color-mix(in srgb,var(--ws-primary) 8%,transparent)}
.ws-member-bar button{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.ws-ad{margin-block:24px;text-align:center}
.ws-ad[hidden]{display:none}
.ws-ad__label{display:block;font-size:.72rem;opacity:.6;margin-bottom:4px}
.ws-post__date{margin:-8px 0 16px;opacity:.75;font-size:.92rem}

.ws-coll__intro{max-width:72ch}
.ws-coll__filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin:16px 0 20px;padding:14px 16px;border-radius:var(--ws-radius,12px);background:color-mix(in srgb,var(--ws-primary) 6%,transparent)}
.ws-coll__field{display:flex;flex-direction:column;gap:4px;font-size:.9rem}
.ws-coll__flabel{font-weight:600}
.ws-coll__filters select,.ws-coll__filters input[type=number]{font:inherit;padding:7px 10px;border:1px solid rgba(0,0,0,.18);border-radius:8px;background:var(--ws-bg);color:inherit;min-width:120px}
.ws-coll__range{display:flex;gap:6px}.ws-coll__range input{width:110px;min-width:0}
.ws-coll__check{display:flex;gap:6px;align-items:center;font-size:.9rem;padding-bottom:8px}
.ws-coll__reset{font:inherit;font-size:.88rem;background:none;border:0;text-decoration:underline;cursor:pointer;color:inherit;padding-bottom:8px}
.ws-coll__count{margin:0;flex-basis:100%;font-size:.88rem;opacity:.75}
.ws-coll__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(16px,2.5vw,28px)}
.ws-coll__grid--small{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ws-coll__card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ws-coll__card[hidden]{display:none}
.ws-coll__card a{text-decoration:none}
.ws-coll__card .ws-item-title a:hover{text-decoration:underline}
.ws-coll__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.ws-coll__card-body{padding:16px 18px 18px}
.ws-coll__facts{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ws-coll__facts li{font-size:.82rem;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--ws-primary) 10%,transparent)}
.ws-coll__facts span{opacity:.7}
.ws-coll__lead{font-size:1.1rem;max-width:72ch}
.ws-coll__dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 20px;margin:20px 0;padding:16px 18px;border-radius:var(--ws-radius,12px);background:color-mix(in srgb,var(--ws-primary) 6%,transparent)}
.ws-coll__dl dt{font-size:.82rem;opacity:.7}.ws-coll__dl dd{margin:2px 0 0;font-weight:600}
.ws-coll__figure{margin:20px 0}.ws-coll__figure img{max-width:100%;border-radius:var(--ws-radius,12px)}
.ws-coll__days{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 24px;margin-top:6px}
.ws-coll__day h3{margin:0 0 4px;font-size:1rem}.ws-coll__day ol{margin:0;padding-inline-start:1.4em}
.ws-buy{margin:24px 0;padding:20px 22px;border-radius:var(--ws-radius,12px);border:1px solid color-mix(in srgb,currentColor 15%,transparent);background:color-mix(in srgb,var(--ws-primary) 6%,transparent);max-width:560px}
.ws-buy__title{margin:0;font-size:1.15rem}.ws-buy__price{margin:4px 0 12px;font-size:1.6rem;font-weight:800}
.ws-buy__form{display:grid;gap:10px}.ws-buy__form input{font:inherit;padding:10px 12px;border:1px solid rgba(0,0,0,.18);border-radius:8px;background:var(--ws-bg);color:inherit}
.ws-buy__status{margin:10px 0 0;font-weight:600}.ws-buy__status:empty{display:none}.ws-buy__via{margin:8px 0 0;font-size:.82rem;opacity:.7}


.ws-tool__intro{max-width:72ch}
.ws-tool__gate{font-size:.95rem;opacity:.85}
.ws-tool__form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 20px;margin:20px 0;padding:20px;border-radius:var(--ws-radius,12px);background:color-mix(in srgb,var(--ws-primary) 6%,transparent)}
.ws-tool__form[hidden]{display:none}
.ws-tool__q{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}
.ws-tool__q--wide,.ws-tool__q[data-chips],.ws-tool__actions{grid-column:1/-1}
.ws-tool__label{font-weight:600;font-size:.95rem;padding:0}
.ws-tool__form select,.ws-tool__form input[type=text],.ws-tool__form input[type=number],.ws-tool__form input[type=date],.ws-tool__form input[type=email]{font:inherit;padding:9px 12px;border:1px solid rgba(0,0,0,.18);border-radius:8px;background:var(--ws-bg);color:inherit;width:100%;box-sizing:border-box}
.ws-tool__chips{display:flex;flex-wrap:wrap;gap:8px}
.ws-tool__chip input{position:absolute;opacity:0;pointer-events:none}
.ws-tool__chip span{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.18);cursor:pointer;font-size:.92rem;background:var(--ws-bg)}
.ws-tool__chip input:checked+span{background:var(--ws-primary);border-color:var(--ws-primary);color:#fff}
.ws-tool__chip input:focus-visible+span{outline:2px solid var(--ws-primary);outline-offset:2px}
.ws-tool__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ws-tool__status{margin:0;font-size:.92rem}
.ws-tool--busy .ws-tool__status::before{content:"";display:inline-block;width:12px;height:12px;margin-inline-end:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ws-spin .8s linear infinite;vertical-align:-1px}
@keyframes ws-spin{to{transform:rotate(360deg)}}
.ws-tool__result{margin:20px 0}
.ws-tool__rtitle{margin:0 0 12px}
.ws-tool__items{display:grid;gap:14px;margin:16px 0}
.ws-tool__item{padding:16px 18px;border-radius:var(--ws-radius,12px);border:1px solid rgba(0,0,0,.1)}
.ws-tool__item h3{margin:0 0 6px;font-size:1.08rem}
.ws-tool__item p{margin:0 0 8px}.ws-tool__item p:last-child{margin:0}
.ws-tool__table{overflow-x:auto;margin:16px 0}
.ws-tool__table table{border-collapse:collapse;width:100%;font-size:.94rem}
.ws-tool__table th,.ws-tool__table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.1);text-align:start}
.ws-tool__note{font-size:.85rem;opacity:.7}
.ws-tool__form--steps{grid-template-columns:1fr}
.ws-tool__q[hidden]{display:none}
.ws-tool__stepno{margin:0;font-size:.85rem;opacity:.7}
.ws-tool__back{font:inherit;background:none;border:0;text-decoration:underline;cursor:pointer;color:inherit;padding:8px 4px}
.ws-tool__back[hidden],.ws-tool__actions button[hidden]{display:none}
.ws-trip{display:grid;gap:28px;margin:18px 0}
.ws-trip__day h3{margin:0 0 10px}
.ws-trip__day .ws-map{margin:0 0 14px}
.ws-trip__stops{list-style:none;margin:0;padding:0}
.ws-trip__stop{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:12px 0;border-top:1px solid rgba(0,0,0,.08)}
.ws-trip__time{font-weight:700;font-variant-numeric:tabular-nums;padding-top:2px}
.ws-trip__what h4{margin:0 0 4px;font-size:1.05rem}
.ws-trip__what p{margin:0 0 6px}
.ws-trip__dur,.ws-trip__of{font-size:.88rem;opacity:.7;font-weight:400}
.ws-trip__move{font-size:.85rem;opacity:.75;padding:4px 0 4px 76px}
[dir=rtl] .ws-trip__move{padding:4px 76px 4px 0}
.ws-trip__move::before{content:"↓ "}
.ws-trip__book{display:inline-block;margin-top:4px;padding:6px 14px;border-radius:8px;background:var(--ws-primary);color:#fff;text-decoration:none;font-size:.9rem;font-weight:600}
.ws-trip__gmaps{display:inline-block;margin-top:8px;font-size:.92rem}
.ws-trip__tips{padding-inline-start:20px}
.ws-tool__save{margin:20px 0;padding:18px 20px;border-radius:var(--ws-radius,12px);background:color-mix(in srgb,var(--ws-primary) 6%,transparent)}
.ws-tool__save h3{margin:0 0 6px}.ws-tool__save p{margin:0 0 10px}
.ws-tool__saverow{display:flex;gap:10px;flex-wrap:wrap}
.ws-tool__saverow input{font:inherit;padding:9px 12px;border:1px solid rgba(0,0,0,.18);border-radius:8px;background:var(--ws-bg);color:inherit;flex:1 1 220px;min-width:0}
.ws-tool__saveform[hidden],.ws-tool__shares[hidden]{display:none}
.ws-tool__savedmsg{font-weight:600}
.ws-tool__shares{display:flex;flex-wrap:wrap;gap:10px}
.ws-tool__shares a,.ws-tool__shares button{font:inherit;font-size:.92rem;padding:8px 16px;border-radius:8px;border:1px solid currentColor;background:none;color:inherit;text-decoration:none;cursor:pointer}
.ws-tool__again{font:inherit;background:none;border:1px solid currentColor;border-radius:8px;padding:8px 16px;cursor:pointer;color:inherit}

@media (max-width:600px){
  .ws-preview .ws-header .ws-nav .wp-block-navigation__container{gap:0!important;padding:4px clamp(16px,4vw,24px) 16px!important;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;border-block-start:1px solid var(--ws-line)}
  .ws-preview .ws-header .ws-nav .wp-block-navigation__container li{position:relative;border-block-end:1px solid var(--ws-line)}
  .ws-preview .ws-header .ws-nav .wp-block-navigation__submenu-container li{border:0}
  .ws-preview .ws-header .ws-nav .wp-block-navigation-item__content{display:flex!important;align-items:center;min-height:48px;padding:10px 0!important;white-space:normal!important;line-height:1.35;font-size:1.02rem;text-decoration:none!important}
  .ws-preview .ws-header .ws-nav .has-child>.wp-block-navigation-item__content{padding-inline-end:52px!important}
  .ws-subs-js .ws-nav .ws-nav__caret{display:none!important}
  .ws-subs-js .ws-nav .wp-block-navigation__submenu-container{display:none!important;padding:0 0 8px!important;padding-inline-start:16px!important}
  .ws-subs-js .ws-nav .ws-sub-open>.wp-block-navigation__submenu-container{display:block!important}
  .ws-preview .ws-header .ws-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{min-height:44px;font-weight:500;color:var(--ws-muted)}
  .ws-sub-toggle{position:absolute;inset-inline-end:0;top:2px;inline-size:44px;block-size:44px;display:grid;place-items:center;background:none;border:0;padding:0;color:inherit;cursor:pointer}
  .ws-sub-toggle svg{transition:transform .2s ease}
  .ws-sub-open>.ws-sub-toggle svg{transform:rotate(180deg)}
  html.ws-menu-lock{overflow:hidden}
}
@media (min-width:601px){
  .ws-sub-toggle{display:none!important}
  .ws-preview .ws-nav .wp-block-navigation-submenu::after{content:"";position:absolute;inset-inline:0;top:100%;height:12px}
  .ws-preview .ws-nav .wp-block-navigation__submenu-container{display:block!important;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;padding:8px!important;min-width:220px!important;border:1px solid var(--ws-line);margin-top:8px!important}
  .ws-preview .ws-nav .wp-block-navigation-submenu:hover>.wp-block-navigation__submenu-container,.ws-preview .ws-nav .wp-block-navigation-submenu:focus-within>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  .ws-preview .ws-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block;padding:10px 14px!important;border-radius:8px;text-decoration:none!important}
  .ws-preview .ws-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--ws-primary-soft)}
}
@media (prefers-reduced-motion:reduce){.ws-preview .ws-nav .wp-block-navigation__submenu-container,.ws-sub-toggle svg{transition:none!important}}
.ws-static .ws-hero__media:has(.ws-media--placeholder),.ws-static .ws-hero__bg:has(.ws-media--placeholder),.ws-static .ws-text__media:has(.ws-media--placeholder),.ws-static .ws-row__media:has(.ws-media--placeholder),.ws-static .ws-tile:has(.ws-media--placeholder){display:none!important}
.ws-static .ws-hero--split>.ws-wrap:has(.ws-media--placeholder),.ws-static .ws-text--media>.ws-wrap:has(.ws-media--placeholder),.ws-static .ws-row:has(.ws-media--placeholder){grid-template-columns:minmax(0,1fr)!important}
.ws-static .ws-hero--split:has(.ws-media--placeholder) .ws-hero__text{max-width:820px}
.ws-avatar__initial{display:none}
.ws-static .ws-avatar:has(.ws-media--placeholder) .ws-media{display:none}
.ws-static .ws-avatar:has(.ws-media--placeholder) .ws-avatar__initial{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:var(--ws-primary);color:var(--ws-on-primary);font-family:var(--ws-font-heading);font-size:2.6rem;font-weight:700}

/* ---- design changes (Console) ---- */
/* /about/: the main hero image grows into place over 2 seconds */
body[data-page="/about/"] .ws-hero--split .ws-hero__media .ws-media{--ws-enter:zoom}
:root.ws-mo body[data-page="/about/"] .ws-hero--split .ws-hero__media .ws-media.ws-rv{transition-duration:2s}
/* /contact/: the phone image in the hero slides in from the left over 1 second, into its current place */
body[data-page="/contact/"] .ws-hero--split .ws-hero__media .ws-media{--ws-enter:side;--ws-rv-x:-2}
:root.ws-mo body[data-page="/contact/"] .ws-hero--split .ws-hero__media .ws-media.ws-rv{transition-duration:1s}
/* /contact/: the phone image in the hero comes in from the left side of the screen over 1 second, into its current place */
body[data-page="/contact/"] .ws-hero--split .ws-hero__media .ws-media{--ws-enter:left;--ws-enter-time:1s}