/* Scopus Journals - shared styles (generated by tools/site_parts.py) */
/* Self-hosted fonts (from fonts.css, inlined so the stylesheet does not wait for a second file) */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(../fonts/Outfit-normal-300-700-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Outfit'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(../fonts/Outfit-normal-300-700-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/Inter-italic-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/Inter-italic-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(../fonts/Inter-normal-400-800-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(../fonts/Inter-normal-400-800-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/Poppins-normal-300-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/Poppins-normal-300-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/Poppins-normal-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/Poppins-normal-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/Poppins-normal-500-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/Poppins-normal-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/Poppins-normal-600-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/Poppins-normal-600-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/PlusJakartaSans-normal-400-700-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/PlusJakartaSans-normal-400-700-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/Sora-normal-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/Sora-normal-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/Manrope-normal-600-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/Manrope-normal-600-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--global-bg-page,#fff);color:var(--global-body-text-color,var(--global-primary-color,#1e3e62));font-family:var(--global-body-font-family,'Outfit',Arial,Helvetica,sans-serif);overflow-x:hidden}
img{max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol{margin:0;padding:0;font-size:inherit;font-weight:inherit}
ul,ol{list-style:none}
button{font:inherit;color:inherit}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:8px 12px;z-index:200}
.skip-link:focus{left:8px;top:8px}

/* ---------- page frame ---------- */
:root{--e:0;--container-max-width:var(--global-container-width,1320px);--page-gutter:var(--global-gutter,60px);--gx:18px;--gx2:36px}
@media (min-width:600px){:root{--gx:32px;--gx2:64px}}
@media (max-width:1023px){:root{--page-gutter:var(--global-gutter-t,32px)}}
@media (max-width:767px){:root{--page-gutter:var(--global-gutter-m,18px)}}
.page{position:relative;width:100%;overflow-x:clip}
.stage{position:relative;width:1440px;overflow:visible;background:var(--global-bg-page,#fff)}
@media (min-width:1440px){.stage{width:100%}}
.stage > *{box-sizing:border-box}
.stage div,.stage a,.stage span,.stage svg,.stage p,.stage h1,.stage h2,.stage h3{box-sizing:border-box}
.stage a{color:inherit}
:where(.stage) button,:where(.stage) input,:where(.stage) select,:where(.stage) textarea{font:inherit;color:inherit;margin:0}
:where(.stage) button{padding:0;border:0;background:none;cursor:pointer;text-align:inherit;display:block}
.stage .ctl>input,.stage .ctl>select,.stage .ctl>textarea{border:0;background:transparent;outline:0;-webkit-appearance:none;appearance:none;border-radius:inherit;resize:none;display:block}
.stage .ctl>select{cursor:pointer;text-overflow:ellipsis}
.stage .ctl>select option{color:var(--global-field-text,#1b3b5f);font-size:16px}
.stage .ctl:focus-within{box-shadow:0 0 0 3px var(--global-field-focus-ring,rgba(29,17,205,.28))}
.stage input,.stage select,.stage textarea{accent-color:var(--global-field-accent,auto)}
.stage .ctl>input:user-invalid,.stage .ctl>textarea:user-invalid{color:var(--global-error-color,#b42318)}
/* Buttons: .btn-primary / .btn-secondary / .btn-neutral / .btn-inverse are added to the template markup. Their colours, radius, border and
   hover come from the Global Design Settings; defaults equal the original design. Unclassed .btn elements (outlined cards, small links)
   keep their own per-component styles and the brightness hover. */
.stage .btn{cursor:pointer;transition:filter var(--global-btn-transition,.15s),background-color var(--global-btn-transition,.15s),color var(--global-btn-transition,.15s)}
.stage .btn:hover{filter:brightness(1.08)}
.stage .btn-primary,.stage .btn-secondary,.stage .btn-neutral,.stage .btn-inverse{border-radius:var(--global-btn-radius,var(--btn-r,50px));border:var(--global-btn-border-width,0) solid var(--global-btn-border-color,currentcolor)}
.stage .btn-primary{background-color:var(--global-btn-primary-bg,#1e3e62)}
.stage .btn-primary:hover{filter:none;background-color:var(--global-btn-primary-hover-bg,#20436a)}
.stage .btn-primary:hover>div{color:var(--global-btn-primary-hover-text,var(--global-btn-primary-text,#fff))}
.stage .btn-secondary{background-color:var(--global-btn-secondary-bg,#f36f21)}
.stage .btn-secondary:hover{filter:none;background-color:var(--global-btn-secondary-hover-bg,#ff7824)}
.stage .btn-secondary:hover>div{color:var(--global-btn-secondary-hover-text,var(--global-btn-secondary-text,#fff))}
.stage .btn-neutral{background-color:var(--global-btn-neutral-bg,#56595e)}
.stage .btn-neutral:hover{filter:none;background-color:var(--global-btn-neutral-hover-bg,#5d6066)}
.stage .btn-neutral:hover>div{color:var(--global-btn-neutral-hover-text,var(--global-btn-neutral-text,#fff))}
.stage .btn-inverse{background-color:var(--global-btn-inverse-bg,#fff)}
.stage a:focus-visible,.stage button:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--global-focus-outline,#ffb27a);outline-offset:2px}
.stage .deco{pointer-events:none}
.form-note{position:absolute;left:0;right:0;bottom:-34px;text-align:center;font:500 16px/1.3 'Outfit',sans-serif;color:var(--global-success-color,#0a6b2f)}
.form-note.err{color:var(--global-error-color,#b42318)}
.stage-bleed{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0;pointer-events:none}
.page-bg{position:absolute;inset:0 auto auto 50%;transform:translateX(-50%);width:100vw;z-index:-1}

/* ---------- header ---------- */
.site-header{position:absolute;left:0;right:0;top:0;height:161px;z-index:60;font-family:var(--global-nav-font-family,var(--global-body-font-family,'Outfit',Arial,sans-serif))}
.topbar{display:flex;align-items:stretch;height:54px;font-size:calc(16px * var(--global-nav-scale,1));line-height:calc(22px * var(--global-nav-scale,1));font-weight:400}
.topbar__a,.topbar__b{flex:1 1 50%;display:flex;align-items:center;justify-content:center;gap:16px;margin:0;padding:0 24px;min-width:0;text-align:left}
.topbar__a{background:var(--global-topbar-bg,var(--global-secondary-color,#f5813d));color:var(--global-topbar-text,#fff)}
.topbar__b{background:var(--global-section-bg,#fff2ea);color:var(--global-primary-color,#1e3e62)}
.topbar__icon{flex:none;width:34px;height:34px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.topbar svg{flex:none}
.navbar{position:relative;display:flex;align-items:center;justify-content:space-between;height:107px;padding:0 max(var(--page-gutter),calc((100% - var(--container-max-width)) / 2));background:var(--global-header-bg,var(--global-primary-color,#1e3e62))}
.brand img{display:block;width:87px;height:80px;object-fit:cover}
.site-nav ul{display:flex;align-items:center;gap:32px}
.site-nav a,.dd-toggle{display:flex;align-items:center;gap:14px;color:var(--global-header-text,#fff);font-size:calc(27.93px * var(--global-nav-scale,1));line-height:calc(31px * var(--global-nav-scale,1));font-weight:var(--global-nav-weight,300);background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.site-nav .nav-item>a:hover,.dd-toggle:hover{color:var(--global-nav-hover-color,#ffd1b5)}
.tri{display:block;width:12px;height:12px;flex:none;border-right:2.5px solid var(--global-header-text,#fff);border-bottom:2.5px solid var(--global-header-text,#fff);transform:translateY(-4px) rotate(45deg);transition:.15s}
.has-dd{position:relative}
.has-dd>.dd-toggle{font-weight:var(--global-nav-weight,300);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:9px}
.has-dd.open>.dd-toggle,.has-dd:hover>.dd-toggle{font-weight:500;text-decoration-color:var(--global-header-text,#fff)}
.has-dd.open .tri,.has-dd:hover .tri{transform:translateY(4px) rotate(225deg)}
.has-dd>.dd-toggle>span{display:inline-grid}
.has-dd>.dd-toggle>span::after{content:attr(data-text);height:0;overflow:hidden;visibility:hidden;font-weight:500;pointer-events:none} /* reserves the bold width so hover never moves the arrow or neighbours */
.dd{position:absolute;left:-19px;top:calc(100% + 38px);width:302px;background:var(--global-dropdown-bg,var(--global-secondary-color,#f5813d));border-radius:0;box-shadow:0 12px 30px rgba(0,0,0,.2);padding:14px 0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;z-index:5}
.dd::before{content:"";position:absolute;left:0;right:0;top:-40px;height:40px}
.has-dd:hover>.dd,.has-dd:focus-within>.dd,.has-dd.open>.dd{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.site-nav ul.dd,.site-nav ul.sub{display:block;gap:0;align-items:stretch}
.dd li{position:relative}
.dd a,.dd .no-page,.sub-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 33px;height:48px;font-family:inherit;font-size:calc(18.5px * var(--global-nav-scale,1));line-height:1;font-weight:500;color:var(--global-dropdown-text,#fff);background:none;border:0;cursor:pointer;text-align:left;white-space:nowrap}
.dd .no-page{cursor:default}
.dd a:hover,.sub-toggle:hover,.has-sub:hover>.sub-toggle,.has-sub.open>.sub-toggle{background:rgba(255,255,255,.14);color:var(--global-dropdown-text,#fff)}
.dd .no-page:hover{background:rgba(255,255,255,.08)}
.caret{display:block;width:7px;height:7px;border-right:1.6px solid var(--global-dropdown-text,#fff);border-top:1.6px solid var(--global-dropdown-text,#fff);transform:rotate(45deg);flex:none}
.sub{position:absolute;left:100%;top:0;width:302px;background:var(--global-dropdown-bg,var(--global-secondary-color,#f5813d));padding:0;opacity:0;visibility:hidden;transform:translateX(-8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.has-sub:hover>.sub,.has-sub:focus-within>.sub,.has-sub.open>.sub{opacity:1;visibility:visible;transform:none;transition-delay:0s}.nav-toggle{display:none}

/* ---------- footer ---------- */
.site-footer{background:var(--global-footer-bg,#14125c);color:var(--global-footer-text,#fff);font-family:var(--global-body-font-family,'Poppins',Arial,sans-serif);font-weight:300;font-size:calc(16px * var(--global-body-scale,1));line-height:1.55;height:484px;position:relative}
.footer-inner{position:relative;width:min(calc(100% - 2 * var(--page-gutter)),var(--container-max-width));height:388px;margin:0 auto;top:48px;display:grid;grid-template-columns:repeat(3,1fr);column-gap:40px;align-content:start}
.site-footer h2{font-family:var(--global-heading-font-family,inherit);font-size:calc(16px * var(--global-body-scale,1));font-weight:600;line-height:1.6;color:var(--global-footer-text,#fff);position:static}
.f-col{position:static}
.f-contact{}
.f-contact p{margin-top:12px}
.f-contact h2{margin-top:7px}
.f-gap{margin-left:18px}
.f-contact .f-email{margin-top:4px;overflow-wrap:anywhere}
.f-services{}
.f-services h2{margin-top:7px}
.f-services ul{margin-top:12px}
.f-services li{line-height:28.5px}
.f-services a:hover,.f-quick a:hover,.f-contact a:hover{text-decoration:underline}
.f-contact a,.f-services a,.f-quick a{display:inline-block;min-height:24px;line-height:24px}
.f-mini{margin-top:6px;font-size:12px;line-height:18px;display:flex;gap:8px;align-items:center}
.f-mini span{width:1px;height:16px;background:var(--global-footer-text,#fff);display:inline-block}
.f-world{}
.f-world h2{margin-top:7px}
.f-flags{display:block;width:286px;height:auto;margin-top:15px}
.f-social-h{margin-top:20px !important}
.f-social{display:flex;gap:1px;margin-top:12px}
.f-social a{display:block;width:36px;height:36px}
.f-social img{display:block;border-radius:50%}
.f-copy{position:absolute;left:0;right:0;bottom:0;margin:0;padding:0 20px;height:48px;line-height:48px;text-align:center;font-size:calc(14px * var(--global-body-scale,1));color:var(--global-footer-text,#fff);opacity:.85}
.f-rule{position:absolute;left:0;right:0;top:219px;margin:0;border:0;border-top:1px solid var(--global-divider-color,#fff);opacity:.9}
.f-quick{position:absolute;left:0;top:246px;right:0}
.f-quick h2{margin-top:0}
.f-quick nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px}
.float-call{position:fixed;left:25px;bottom:25px;z-index:70;display:block;width:56px;height:56px;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.3),0 0 0 2px rgba(255,255,255,.85)}
.float-call{display:flex;align-items:center;justify-content:center;background:#2196f3}
.float-call svg{display:block;width:28px;height:28px}

/* ---------- plain content pages (privacy / terms) ---------- */
.legal-page .site-header{position:relative}
.legal{max-width:920px;margin:0 auto;padding:calc(72px * var(--global-section-spacing,1)) 24px calc(96px * var(--global-section-spacing,1));color:var(--global-body-text-color,var(--global-primary-color,#1e3e62));font-family:var(--global-body-font-family,'Outfit',Arial,sans-serif)}
.legal h1{font-family:var(--global-heading-font-family,inherit);color:var(--global-heading-color,var(--global-primary-color,#1e3e62));font-size:calc(56px * var(--global-h1-scale,1));line-height:calc(1.1 * var(--global-heading-lh-scale,1));font-weight:var(--global-heading-weight,600);letter-spacing:var(--global-heading-letter-spacing,-.01em);margin-bottom:12px}
.legal .legal-note{display:inline-block;background:#fff2ea;color:#a8480c;border-radius:999px;padding:6px 16px;font-size:16px;margin-bottom:34px}
.legal h2{font-family:var(--global-heading-font-family,inherit);color:var(--global-heading-color,var(--global-primary-color,#1e3e62));font-size:calc(30px * var(--global-h2-scale,1));line-height:calc(1.25 * var(--global-heading-lh-scale,1));font-weight:var(--global-heading-weight,500);letter-spacing:var(--global-heading-letter-spacing,inherit);margin:40px 0 12px}
.legal p,.legal li{font-size:calc(20px * var(--global-p-scale,1));line-height:calc(1.65 * var(--global-p-lh-scale,1));font-weight:var(--global-body-weight,300);letter-spacing:var(--global-body-letter-spacing,inherit);color:var(--global-paragraph-color,#43474e)}
.legal p+p{margin-top:14px}
.legal ul{list-style:disc;padding-left:26px;margin-top:10px}
.legal a{color:var(--global-link-color,var(--global-accent-color,#113dcd));font-weight:var(--global-link-weight,inherit);text-decoration:var(--global-link-decoration,underline)}
.legal a:hover{color:var(--global-link-hover-color,var(--global-link-color,var(--global-accent-color,#113dcd)))}

/* ---------- interactive components ---------- */
.stage .acc>.acc-panel{display:none}
.stage .acc.open>.acc-panel{display:block}
.stage .acc>.acc-panel a{color:var(--global-link-color,var(--global-accent-color,#113dcd));font-weight:var(--global-link-weight,inherit);text-decoration:var(--global-link-decoration,underline)}
.stage .acc>.acc-panel a:hover{color:var(--global-link-hover-color,var(--global-link-color,var(--global-accent-color,#113dcd)))}
.stage .acc .chev{transition:rotate .2s}
.stage .acc.open .chev{rotate:180deg}
.stage .acc .chev-up{transition:rotate .2s}
.stage .acc:not(.open) .chev-up{rotate:180deg}
.stage .acc-trigger:focus-visible{outline:3px solid var(--global-focus-outline,#ffb27a);outline-offset:-3px}
.stage .faq-tabs .tab.on{background-color:var(--global-btn-primary-bg,#1e3e62)}
.stage .faq-tabs .tab.on :is(div,h1,h2,h3,p,span){color:#fff}
.stage .pr-tab{transition:background-color .2s}
.stage .pr-tab.on{background:#dbe2f7}
.stage .genre-panel[hidden]{display:none}
.stage .play{cursor:pointer}
.video-dialog{border:0;padding:0;border-radius:16px;max-width:min(92vw,900px);width:100%;background:#0e1a2b;color:#fff;font-family:'Outfit',sans-serif;overflow:hidden}
.video-dialog::backdrop{background:rgba(5,12,24,.75)}
.vd-body{position:relative;aspect-ratio:16/9;background:#0e1a2b center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
.vd-body video{position:absolute;inset:0;width:100%;height:100%;background:#000}
.vd-body p{background:rgba(14,26,43,.78);padding:14px 22px;border-radius:12px;font-size:20px;line-height:1.35}
.vd-close{position:absolute;right:10px;top:10px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#0e1a2b;font-size:26px;line-height:1;cursor:pointer}

/* ---------- mobile text flow ---------- */
@media (max-width:1199px){
  .page{overflow:hidden}
  .stage{width:100%;height:auto !important}
  .stage br.d{display:none}
  .stage .art br.d{display:inline}
  .site-header{position:relative;height:auto}
  .topbar{font-size:calc(13px * var(--global-nav-scale,1));line-height:calc(17px * var(--global-nav-scale,1));height:auto;min-height:54px}
  .topbar__a,.topbar__b{gap:8px;padding:9px 12px}
  .topbar__icon{width:26px;height:26px}
  .navbar{height:72px;padding:0 16px}
  .brand img{width:62px;height:57px}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:0;padding:10px;cursor:pointer}
  .nav-toggle span{display:block;height:2px;background:var(--global-header-text,#fff);border-radius:2px;transition:.2s}
  .nav-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-open .nav-toggle span:nth-child(2){opacity:0}
  .nav-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--global-header-bg,var(--global-primary-color,#1e3e62));display:none;padding:8px 16px 20px;box-shadow:0 14px 24px rgba(0,0,0,.25)}
  .nav-open .site-nav{display:block}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .site-nav a,.dd-toggle{font-size:calc(20px * var(--global-nav-scale,1));line-height:calc(26px * var(--global-nav-scale,1));padding:14px 4px;width:100%;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12)}
  .site-nav ul.dd{display:none}
  .site-nav .has-dd.open>ul.dd,.site-nav .has-dd.open:hover>ul.dd{display:block}
  .site-nav ul.sub{display:none}
  .site-nav .has-sub.open>ul.sub,.site-nav .has-sub.open:hover>ul.sub{display:block}
  .dd{position:static;opacity:1;visibility:visible;transform:none;transition:none;width:auto;background:var(--global-dropdown-bg,var(--global-secondary-color,#f5813d));box-shadow:none;padding:6px 0;margin:4px 0 8px}
  .dd::before{display:none}
  .has-dd.open>.dd{display:block}
  .has-dd:hover>.dd{display:none}
  .has-dd.open:hover>.dd{display:block}
  .has-dd>.dd-toggle{text-underline-offset:6px}
  .dd a,.dd .no-page,.sub-toggle{font-size:calc(17px * var(--global-nav-scale,1));height:46px;padding:0 18px;border-bottom:0;width:100%}
  .sub{position:static;opacity:1;visibility:visible;transform:none;transition:none;display:none;width:auto;background:rgba(0,0,0,.12);box-shadow:none}
  .sub a,.sub .no-page{padding-left:34px}
  .has-sub:hover>.sub{display:none}
  .has-sub.open>.sub,.has-sub.open:hover>.sub{display:block}
  .caret{transform:rotate(135deg)}
  .has-sub.open>.sub-toggle .caret{transform:rotate(-45deg)}
  .stage span{overflow-wrap:anywhere}
  .stage a[href]:not(.btn){padding-block:6px}
  .stage a[href^="tel:"],.stage a[href^="mailto:"],.stage .btn:not(.play){min-height:40px;display:flex;align-items:center}
  .legal{padding:calc(40px * var(--global-section-spacing,1)) 20px calc(64px * var(--global-section-spacing,1))}
  .legal h1{font-size:calc(34px * var(--global-h1-scale,1))}
  .legal h2{font-size:calc(23px * var(--global-h2-scale,1));margin-top:30px}
  .legal p,.legal li{font-size:calc(17px * var(--global-p-scale,1))}
  .site-footer{height:auto;padding:36px 20px 40px}
  .footer-inner{width:100%;height:auto;top:0;display:block}
  .f-col,.f-quick{position:static;width:auto}
  .f-rule{position:static;margin:28px 0 20px}
  .f-col+.f-col{margin-top:26px}
  .f-quick{margin-top:0}
  .f-copy{position:static;height:auto;line-height:1.5;padding:0;margin-top:24px}
  .float-call{left:12px;bottom:12px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0s !important;scroll-behavior:auto !important}}
@media (max-width:599px){
  .topbar{font-size:calc(12px * var(--global-nav-scale,1));line-height:calc(16px * var(--global-nav-scale,1))}
  .topbar__a,.topbar__b{gap:6px;padding:8px 8px}
  .topbar__icon{width:22px;height:22px}
}

/* ------------------------------------------------------------------------------------------------------------------
 * Button hover / press / focus: one treatment for every button style (builder .btn*, Visual Builder .vb-btn*, form submits).
 * Colours still come from the Global Design Settings hover tokens above; this adds the smooth 0.3 s transition (as on the reference site),
 * a 2 px lift with a soft shadow tinted by the button colour, a pressed state and a visible keyboard focus ring.
 * ---------------------------------------------------------------------------------------------------------------- */
.stage .btn:not(.play),.vb-btn{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,translate .3s ease,filter .3s ease}
@media (hover:hover) and (pointer:fine){
.stage .btn:not(.play):hover,.vb-btn:hover{translate:0 -2px;box-shadow:0 8px 18px rgba(30,62,98,.22)}
.stage .btn-secondary:hover,.vb-btn--secondary:hover{box-shadow:0 8px 18px rgba(243,111,33,.34)}
.stage .btn-inverse:hover,.vb-btn--inverse:hover{box-shadow:0 8px 18px rgba(0,0,0,.18)}
}
.stage .btn:not(.play):active,.vb-btn:active{translate:0 0;box-shadow:0 2px 6px rgba(30,62,98,.2);transition-duration:.08s}
.stage .btn:focus-visible,.vb-btn:focus-visible,.vb-form button:focus-visible{outline:3px solid var(--global-focus-outline,#ffb27a);outline-offset:3px}
.site-nav .nav-item>a,.dd-toggle{transition:color .3s ease}
.dd a,.sub-toggle{transition:background-color .25s ease}
.float-call{transition:transform .3s ease,box-shadow .3s ease}
@media (hover:hover) and (pointer:fine){.float-call:hover{transform:scale(1.07);box-shadow:0 6px 18px rgba(0,0,0,.38),0 0 0 3px rgba(255,255,255,.9)}}
.float-call:focus-visible{outline:3px solid var(--global-focus-outline,#ffb27a);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.stage .btn:not(.play):hover,.vb-btn:hover,.float-call:hover{translate:none;transform:none}}

/* Free-quote inquiry: left-edge tab + modal dialog (template-parts/inquiry-modal.php) */
.inq-tab{position:fixed;left:0;top:50%;z-index:60;transform:translateY(-50%);width:44px;padding:18px 0;border:0;border-radius:0 10px 10px 0;background:var(--global-btn-secondary-bg,#f36f21);color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:width .2s ease,filter .2s ease}
.inq-tab span{display:block;writing-mode:vertical-rl;transform:rotate(180deg);margin:0 auto;font:600 16px/1 'Outfit',sans-serif;white-space:nowrap}
.inq-tab:focus-visible{outline:3px solid var(--global-focus-outline,#ffb27a);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.inq-tab:hover{width:50px;filter:brightness(1.06)}}
.inq{position:fixed;inset:0;margin:auto;z-index:90;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #d9dce6;border-radius:10px;background:#fff;color:var(--global-footer-bg,#14125c);box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:auto;font-family:'Outfit',sans-serif}
.inq::backdrop{background:rgba(20,18,92,.55)}
.inq__form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 4px;padding:28px 20px 24px}
.inq__form>*{margin:0;min-width:0}
.inq__form>*:nth-child(odd):not(.inq__wide){margin-right:0}
.inq__wide{grid-column:1/-1}
.inq__title{grid-column:1/-1;font:600 22px/1.2 'Outfit',sans-serif;padding-right:36px}
.inq__req{grid-column:1/-1;font-size:13px;color:#5b5f75;margin-top:-12px!important}
.inq__req span,.inq legend span{color:#c62828}
.inq__close{position:absolute;top:8px;right:12px;width:36px;height:36px;border:0;background:none;font-size:28px;line-height:1;color:#c62828;cursor:pointer;border-radius:50%}
.inq__close:hover{background:#fdecea}
.inq__close:focus-visible,.inq__submit:focus-visible{outline:3px solid var(--global-focus-outline,#ffb27a);outline-offset:2px}
.inq__fs{border:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:16px;line-height:1.35}
.inq__fs legend{float:left;width:100%;padding:0;margin-bottom:6px}
.inq__radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.inq__radio input{accent-color:var(--global-footer-bg,#14125c);width:16px;height:16px;margin:0}
.inq__lbl{display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.35;justify-content:flex-end}
.inq input[type=text],.inq input[type=email],.inq input[type=url],.inq input[type=tel],.inq input[type=date],.inq select{width:calc(100% - 8px);height:44px;box-sizing:border-box;padding:0 16px;font:400 16px/1 'Outfit',sans-serif;color:var(--global-footer-bg,#14125c);background:#fff;border:1px solid var(--global-footer-bg,#14125c);border-radius:25px;transition:box-shadow .15s,border-color .15s}
.inq .inq__wide[type=url]{width:100%}
.inq__form>input:nth-of-type(even),.inq__form>select:nth-of-type(even){margin-left:8px}
.inq input::placeholder{color:#7a7e94}
.inq input:focus,.inq select:focus{outline:0;border-color:var(--global-btn-secondary-bg,#f36f21);box-shadow:0 0 0 3px rgba(243,111,33,.28)}
.inq input:disabled{background:#f3f3f8;cursor:not-allowed}
.inq__form .invalid,.inq input:user-invalid,.inq select:user-invalid{border-color:#c62828}
.inq__phone{display:flex;gap:6px;width:calc(100% - 8px)}
.inq__phone select{width:96px!important;flex:none;padding:0 8px!important}
.inq__phone input{flex:1;width:auto!important;min-width:0}
.inq__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.inq__submit{height:46px;border:0;border-radius:25px;background:var(--global-footer-bg,#14125c);color:#fff;font:600 17px/1 'Outfit',sans-serif;cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s;box-shadow:0 3px 10px rgba(20,18,92,.3)}
@media (hover:hover) and (pointer:fine){.inq__submit:hover{filter:brightness(1.25);transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,18,92,.35)}}
.inq__submit[disabled]{opacity:.65;cursor:progress}
.inq .form-note{position:static;grid-column:1/-1;font-size:15px;text-align:left}
.inq .form-note:empty{display:none}
@media (max-width:599px){
  .inq__form{grid-template-columns:1fr;gap:14px;padding:24px 16px 20px}
  .inq input[type=text],.inq input[type=email],.inq input[type=url],.inq input[type=tel],.inq input[type=date],.inq select,.inq__phone{width:100%}
  .inq__form>input:nth-of-type(even),.inq__form>select:nth-of-type(even){margin-left:0}
  .inq-tab{width:38px}.inq-tab span{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.inq-tab,.inq__submit{transition:none}}

/* hover-opened panel sits beside the tab on desktop (like the reference); touch, keyboard and small screens use the centred modal */
.inq[open]{animation:inq-in .22s ease-out}
@keyframes inq-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (min-width:1100px){
  .inq{inset:auto auto auto 60px;top:50%;margin:0;transform:translateY(-50%)}
  .inq[open]{animation-name:inq-in-side}
}
@keyframes inq-in-side{from{opacity:0;transform:translate(-14px,-50%)}to{opacity:1;transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){.inq[open]{animation:none}}
/* Header WhatsApp button: sits after the main menu (inside it on tablet/phone) and moves on hover */
@media (min-width:1200px){.site-nav{display:flex;align-items:center;gap:32px}}
.site-nav a.nav-wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;white-space:nowrap;padding:12px 24px;border-radius:50px;background:var(--global-btn-secondary-bg,#f36f21);color:var(--global-btn-secondary-text,#fff);font-size:calc(20px * var(--global-nav-scale,1));line-height:calc(24px * var(--global-nav-scale,1));font-weight:500;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.site-nav a.nav-wa svg{flex:none;width:26px;height:26px}
.site-nav a.nav-wa:focus-visible{outline:3px solid var(--global-focus-outline,#ffb27a);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .site-nav a.nav-wa:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.28);filter:brightness(1.05);animation:nav-wa-wiggle .6s ease}
  .site-nav a.nav-wa:hover svg{animation:nav-wa-ring .6s ease}
}
@keyframes nav-wa-wiggle{0%,100%{transform:translateY(-4px) rotate(0)}25%{transform:translateY(-4px) rotate(-2deg)}60%{transform:translateY(-4px) rotate(2deg)}}
@keyframes nav-wa-ring{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}50%{transform:rotate(12deg)}75%{transform:rotate(-8deg)}}
@media (max-width:1199px){.site-nav a.nav-wa{width:100%;margin-top:14px;border-bottom:0;padding:14px 20px;font-size:calc(20px * var(--global-nav-scale,1))}}
@media (prefers-reduced-motion:reduce){.site-nav a.nav-wa,.site-nav a.nav-wa:hover,.site-nav a.nav-wa:hover svg{animation:none;transition:none}}

/* Floating WhatsApp chat button (plugin): round green icon that always glows */
.qlwapp .qlwapp__container .qlwapp__button--button{width:60px;height:60px;min-width:0;padding:0;justify-content:center;gap:0;border-radius:50%;box-shadow:0 0 0 0 rgba(37,211,102,.55),0 4px 14px rgba(0,0,0,.25);animation:qlwa-glow 2s ease-out infinite}
.qlwapp .qlwapp__container .qlwapp__button--button .qlwapp__text{display:none}
.qlwapp .qlwapp__container .qlwapp__button--button .qlwapp__icon{margin:0;font-size:34px;width:34px;height:34px}
@keyframes qlwa-glow{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6),0 4px 14px rgba(0,0,0,.25)}70%{box-shadow:0 0 0 20px rgba(37,211,102,0),0 4px 14px rgba(0,0,0,.25)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0),0 4px 14px rgba(0,0,0,.25)}}
@media (prefers-reduced-motion:reduce){.qlwapp .qlwapp__container .qlwapp__button--button{animation:none;box-shadow:0 0 14px 4px rgba(37,211,102,.55),0 4px 14px rgba(0,0,0,.25)}}
/* Tablet / phone type scale (tiers set by assets/js/main.js from each text's original size) */
@media (max-width:1199px){
  .sj-frame.sj-frame [data-sjt=h1]{font-size:40px;line-height:1.15}
  .sj-frame.sj-frame [data-sjt=h-xl]{font-size:36px;line-height:1.15}
  .sj-frame.sj-frame [data-sjt=h-l]{font-size:34px;line-height:1.18}
  .sj-frame.sj-frame [data-sjt=h-m]{font-size:26px;line-height:1.22}
  .sj-frame.sj-frame [data-sjt=h-s]{font-size:22px;line-height:1.25}
  .sj-frame.sj-frame [data-sjt=b-l]{font-size:19px;line-height:1.55}
  .sj-frame.sj-frame [data-sjt=b-m]{font-size:17px;line-height:1.55}
}
@media (max-width:599px){
  .sj-frame.sj-frame [data-sjt=h1]{font-size:clamp(28px,8.4vw,32px)}
  .sj-frame.sj-frame [data-sjt=h-xl]{font-size:clamp(26px,7.4vw,30px)}
  .sj-frame.sj-frame [data-sjt=h-l]{font-size:clamp(24px,7vw,28px)}
  .sj-frame.sj-frame [data-sjt=h-m]{font-size:22px}
  .sj-frame.sj-frame [data-sjt=h-s]{font-size:19px}
  .sj-frame.sj-frame [data-sjt=b-l]{font-size:16.5px}
  .sj-frame.sj-frame [data-sjt=b-m]{font-size:15.5px}
  .inq-tab{width:28px}.inq-tab span{font-size:12px}
}
/* Tablet / phone buttons: icon and label centred in the pill instead of fixed pixel offsets */
@media (max-width:1199px){
  .sj-frame .btn.art{display:flex;align-items:center;justify-content:center;gap:12px;height:56px;max-width:100%;box-sizing:border-box;padding:0 20px}
  .sj-frame .btn.art>*{position:static;left:auto;top:auto;width:auto;height:auto;margin:0}
  .sj-frame .btn.art>svg{flex:none;width:20px;height:auto}
  .sj-frame .sj-pg-index .s6-x41 .s6-x43,.sj-frame.sj-pg-index .s6-x41 .s6-x43{order:-1;width:24px}
  .sj-frame .btn.art>div{white-space:nowrap;line-height:1.2}
}
@media (max-width:599px){.inq-tab{width:24px}.inq-tab span{font-size:11.5px}}