:root{color-scheme:light;--ink:#162b43;--muted:#5d6d7d;--blue:#225de0;--line:#dce3ec;--ice:#f0f4fa;--coral:#ec654f;--font:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:#c5d8ff;color:#11284c}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2,h3,p,a{overflow-wrap:anywhere}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.header{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(20px);border-bottom:1px solid #f1f3f6}.nav-wrap{height:100px;display:flex;align-items:center;justify-content:space-between}.brand{flex-shrink:0}.brand img{width:174px;height:auto}nav{display:flex;align-items:center;gap:36px;font-size:14px}nav>a:not(.nav-contact){color:#45596e;transition:color .2s}nav>a:hover{color:var(--blue)}.nav-contact{display:flex;align-items:center;justify-content:space-between;gap:34px;background:var(--ink);color:white;padding:12px 22px;border-radius:40px;margin-left:26px}.nav-contact:hover{background:var(--blue);color:white}.nav-contact span{font-size:20px}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;margin:0 24px;background:#edf3fb;min-height:720px;border-radius:14px}.hero-art{position:absolute;z-index:-1;right:-2%;top:0;width:69%;height:100%;object-fit:cover;object-position:62% center;mask-image:linear-gradient(90deg,transparent,#000 22%)}.hero-content{position:relative;margin-left:max(32px,calc((100vw - 1280px)/2 - 24px));padding:58px 0 65px;width:650px;max-width:60%}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:550;display:flex;align-items:center;gap:12px;line-height:1.7}.coral-mark{width:7px;height:7px;border-radius:50%;background:var(--coral);flex:none}h1{font-size:clamp(4rem,6.8vw,6.15rem);line-height:1.01;letter-spacing:-5.5px;margin:31px 0 29px;max-width:640px}h1>span{color:var(--blue)}.hero-description{font-size:18px;line-height:1.65;margin-bottom:28px;color:#4b5e73}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:40px;padding:15px 22px;font-size:14px;font-weight:550;transition:background .2s,transform .2s}.primary{background:var(--ink);color:#fff}.button:hover{background:var(--blue);transform:translateY(-2px)}.button>span:not(.sr-only){font-size:22px;line-height:1}.hero-caption{position:absolute;bottom:44px;right:48px;display:flex;gap:18px;align-items:center;color:#365371;font-size:13px;line-height:1.5}.hero-caption strong{font-weight:600}.caption-line{width:35px;height:1px;background:#365371}.scroll-cue{position:absolute;bottom:40px;left:50%;font-size:23px;border:1px solid #849bbb70;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;transition:background .2s}.scroll-cue:hover{background:white}.discipline-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 0;border-bottom:1px solid var(--line);gap:20px}.discipline-strip>span{display:flex;align-items:center;gap:18px;font-size:11px;color:#8a96a5}.discipline-strip>span:nth-child(2){justify-content:center}.discipline-strip>span:last-child{justify-content:flex-end}.discipline-strip strong{font-weight:500;font-size:15px;letter-spacing:-.2px;color:#526477}.section{padding-block:108px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:48px}.section-number{font-size:11px;letter-spacing:1px;color:#65778c}.intro-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:90px;align-items:end;margin-bottom:54px}h2{font-size:clamp(2.4rem,3.6vw,3.5rem);line-height:1.13;letter-spacing:-2px}h2>span{color:#7c8b9c}.intro-grid>p{max-width:390px;font-size:17px;color:var(--muted);line-height:1.8}.services{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service summary{list-style:none;display:flex;align-items:center;gap:30px;padding:29px 0;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-index{font-size:12px;color:#7b8ba0;width:42px;flex-shrink:0}.service h3{font-size:32px;letter-spacing:-1px}.service-category{font-size:10px;letter-spacing:1.2px;color:#72849b;margin-left:auto}.expand-icon{display:block;position:relative;width:34px;height:34px;margin-left:20px;flex:none;border:1px solid #bdc9d7;border-radius:50%;transition:background .2s}.expand-icon:before,.expand-icon:after{content:'';position:absolute;background:currentColor;left:10px;top:16px;width:12px;height:1px}.expand-icon:after{transform:rotate(90deg);transition:transform .2s}.service[open] .expand-icon{background:var(--blue);border-color:var(--blue);color:white}.service[open] .expand-icon:after{transform:rotate(0deg)}.service[open] h3{color:var(--blue)}.service summary:hover h3{color:var(--blue)}.service-body{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding:0 65px 33px 72px}.service-copy>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:460px}.inline-link{display:inline-flex;align-items:center;gap:15px;margin-top:19px;font-size:14px;font-weight:550}.inline-link:hover{color:var(--blue)}.inline-link span{color:var(--blue)}.service-body ul{list-style:none;margin:0;padding:0;columns:1}.service-body li{padding:6px 0 6px 19px;position:relative;font-size:14px;color:#53667b}.service-body li:before{content:'+';position:absolute;left:0;color:var(--blue)}.platform{background:#f0f4fa;border-block:1px solid #e8edf4}.product-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.product-intro h2{font-size:clamp(3rem,5.5vw,5rem);letter-spacing:-3px}.product-intro .product-name{color:var(--blue)}.coral{color:var(--coral)}.product-intro>p{font-size:18px;line-height:1.5;color:#5b6e85}.company-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:110px}.company-title>p{color:var(--muted);font-size:16px;max-width:455px;margin-top:27px;line-height:1.8}.experience{display:flex;gap:25px;align-items:center;margin-top:32px}.experience strong{font-size:78px;font-weight:450;letter-spacing:-5px;line-height:1}.experience strong>span{color:var(--blue)}.experience p{font-size:13px;line-height:1.7;color:#63768d}.principles{align-self:center}.principles article{display:flex;gap:23px;padding:27px 0;border-top:1px solid var(--line)}.principles article:last-child{border-bottom:1px solid var(--line)}.principles article>span{font-size:11px;color:#8495ac;padding-top:5px}.principles h3{font-size:23px;letter-spacing:-.7px;margin-bottom:9px}.principles p{color:var(--muted);font-size:15px;line-height:1.8}.contact{background:#153bc4;color:#fff;margin:0 24px;border-radius:15px;padding:65px 0 48px;position:relative;overflow:hidden}.contact>.wrap{width:min(1280px,calc(100% - 64px))}.contact .eyebrow{color:#c4d3ff}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:30px}.contact h2{font-size:clamp(3.5rem,7.4vw,7rem);line-height:1.02;letter-spacing:-4px}.contact h2>span{color:#9cbcff}.contact-orb{font-size:80px;font-weight:400;width:142px;height:142px;display:grid;place-items:center;border:1px solid #739aff;border-radius:50%;margin-right:25px;line-height:1;transition:transform .3s,background .3s}.contact-orb:hover{transform:rotate(45deg);background:#ffffff15}.contact-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:35px}.contact-bottom p{color:#c4d3ff;font-size:15px}.contact-bottom>a{font-size:24px;letter-spacing:-.5px;border-bottom:1px solid #7499f5;padding-bottom:8px;min-width:320px;display:flex;justify-content:space-between}.footer-top{display:flex;justify-content:space-between;align-items:start;padding:48px 0 36px}.footer-top>p{color:#65758b;font-size:13px}.footer-top>div{display:flex;gap:26px;font-size:13px}.footer a:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 28px;font-size:11px;color:#7a899b}.skip{position:fixed;z-index:100;left:15px;top:-100px;padding:12px;background:white;color:black}.skip:focus{top:15px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero{min-height:790px}.hero-content{padding-block:70px}.hero-art{width:64%}h1{font-size:108px}.hero-description{margin-bottom:34px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}nav{gap:23px}.nav-contact{margin-left:0}.hero-content{margin-left:32px;max-width:64%}.hero{min-height:650px}h1{font-size:76px;letter-spacing:-4px}.hero-art{right:-12%;width:77%}.hero-caption{right:30px}.intro-grid{gap:45px;grid-template-columns:1.3fr 1fr}.service-body{gap:45px;padding-left:72px;padding-right:0}.service h3{font-size:28px}.service-category{font-size:9px}.service summary{gap:20px}.company-layout{gap:55px}.section{padding-block:80px}.contact-orb{width:110px;height:110px;font-size:65px}.discipline-strip strong{font-size:13px}.discipline-strip>span{gap:9px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav-wrap{height:80px}.brand img{width:149px}.menu-toggle{display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:25px;padding:8px 15px;font-size:13px;color:var(--ink);background:white}.menu-toggle>span{font-size:19px;color:var(--blue)}nav{display:none;position:absolute;left:0;right:0;top:80px;padding:20px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{padding:13px 15px}.nav-contact{margin-top:12px}.hero{margin-inline:10px;min-height:0;border-radius:12px;padding-bottom:0}.hero-content{margin:0;padding:32px 20px 0;width:100%;max-width:none}.hero .eyebrow{font-size:8px;letter-spacing:.8px;gap:8px}.coral-mark{width:5px;height:5px}h1{font-size:clamp(3.25rem,12.2vw,5rem);letter-spacing:-2.6px;line-height:1.03;margin:25px 0 22px}.hero-description{font-size:15px;line-height:1.7;margin-bottom:22px}.button{font-size:13px;padding:13px 19px;gap:32px}.hero-art{position:relative;width:100%;max-width:none;height:310px;right:auto;top:auto;object-fit:cover;object-position:55% 56%;mask-image:linear-gradient(0deg,#000 83%,transparent);margin-top:0;z-index:-1}.hero-content{position:absolute;top:0;left:0}.hero{padding-top:430px}.hero-caption{bottom:22px;left:20px;right:auto;background:#f5f8fddb;padding:9px 12px;border-radius:5px;font-size:10px;gap:10px}.caption-line{width:18px}.scroll-cue{display:none}.discipline-strip{grid-template-columns:1fr;padding:21px 0;gap:10px}.discipline-strip>span,.discipline-strip>span:nth-child(2),.discipline-strip>span:last-child{justify-content:flex-start;gap:18px}.discipline-strip strong{font-size:14px}.section{padding-block:55px}.section-label{margin-bottom:28px;gap:15px}.eyebrow{font-size:10px;letter-spacing:1.2px}.section-number{font-size:9px;letter-spacing:.5px}.intro-grid{grid-template-columns:1fr;gap:22px;margin-bottom:32px}h2{font-size:clamp(2rem,7.9vw,3.5rem);letter-spacing:-1.2px}.intro-grid>p{font-size:15px;max-width:none}.service summary{padding:23px 0;gap:12px}.service-index{width:25px;font-size:10px}.service h3{font-size:21px;letter-spacing:-.6px}.service-category{display:none}.expand-icon{width:29px;height:29px;margin-left:auto}.expand-icon:before,.expand-icon:after{left:8px;top:13px}.service-body{padding:0 0 25px 37px;grid-template-columns:1fr;gap:20px}.service-copy>p{font-size:14px}.inline-link{font-size:12px;gap:10px}.service-body li{font-size:13px}.product-intro{display:block;margin-bottom:26px}.product-intro h2{font-size:45px;letter-spacing:-2px}.product-intro>p{font-size:15px;margin-top:16px}.company-layout{grid-template-columns:1fr;gap:32px}.company-title>p{font-size:15px;margin-top:23px}.experience strong{font-size:65px}.experience p{font-size:12px}.principles h3{font-size:21px}.principles p{font-size:14px}.principles article{padding:22px 0;gap:18px}.contact{margin-inline:10px;padding:37px 0 30px;border-radius:12px}.contact>.wrap{width:calc(100% - 40px)}.contact .eyebrow{font-size:9px}.contact-top{gap:12px;margin-top:25px}.contact h2{font-size:clamp(2.7rem,10.5vw,4.5rem);letter-spacing:-2px}.contact-orb{width:57px;height:57px;flex-shrink:0;font-size:36px;margin-right:0}.contact-bottom{display:block;margin-top:27px}.contact-bottom p{font-size:13px}.contact-bottom>a{min-width:0;font-size:23px;margin-top:25px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-block:32px}.footer-top>p{font-size:11px}.footer-top>div{grid-column:1/-1;gap:25px;font-size:12px}.footer-bottom{flex-wrap:wrap;gap:10px;font-size:10px}.footer-bottom>span:last-child{width:100%}}
@media(max-width:360px){.hero{padding-top:445px}.hero-description{font-size:14px}.hero .eyebrow{font-size:7px}.service h3{font-size:19px}.service-body{padding-left:0}.contact h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* CoreX section description (copy sourced from telco.systems). */
.corex-description{max-width:660px;color:var(--muted);font-size:16px;line-height:1.85;margin-bottom:32px}
@media(max-width:760px){.corex-description{font-size:15px;line-height:1.8}}

/* Immersive light field: a moving sculpture, signal paths and coordinated motion. */
.hero{--pointer-x:0px;--pointer-y:0px;--scroll-y:0px;border-radius:0;margin-inline:0;min-height:750px}
.hero-content{margin-left:max(56px,calc((100vw - 1280px)/2));padding-top:66px}
.hero-art{transform:translate3d(var(--pointer-x),calc(var(--pointer-y) + var(--scroll-y)),0) scale(1.06);transition:transform .65s cubic-bezier(.2,.6,.3,1);animation:art-arrive 1.5s ease-out both;will-change:transform}
.hero-content h1{animation:copy-arrive .9s cubic-bezier(.2,.8,.2,1) both}.hero-description,.hero-content .button{animation:copy-arrive .9s .12s cubic-bezier(.2,.8,.2,1) both}
#connection-field{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.hero-content{z-index:2}.hero-art{z-index:-1}.art-coordinate{position:absolute;font-size:10px;letter-spacing:1.1px;color:#234e86;background:#f5f9ffcc;backdrop-filter:blur(12px);border:1px solid #6c99d76b;padding:9px 12px;z-index:1;pointer-events:none}.coordinate-one{top:9%;right:8%}.coordinate-two{top:53%;right:2%}.art-coordinate:before{content:'+';margin-right:12px;color:#2d68c7}
.hero-caption{bottom:28px;right:40px}.motion-toggle{display:flex;align-items:center;gap:9px;position:absolute;left:max(56px,calc((100vw - 1280px)/2));bottom:28px;background:none;border:0;color:#546d89;padding:8px 0;font-size:11px;z-index:3}.motion-toggle:hover{color:var(--blue)}.motion-symbol{width:22px;height:22px;display:grid;place-items:center;border:1px solid #a2b6ce;border-radius:50%;font-size:10px}.scroll-cue{bottom:29px}.hero-caption{font-size:11px}.hero-description{max-width:440px}.hero-content h1{position:relative}
.discipline-strip{padding-block:31px}.discipline-strip>span{transition:transform .3s}.discipline-strip>span:hover{transform:translateX(6px)}
.service[open] .service-body{animation:copy-arrive .35s ease-out}
.motion-paused .hero-art{will-change:auto}.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .hero-art{transform:scale(1.06);transition:none}.motion-paused .hero-content h1,.motion-paused .hero-description,.motion-paused .hero-content .button,.motion-paused .service-body{opacity:1;transform:none;animation:none}
@keyframes art-arrive{from{opacity:0;filter:blur(9px)}to{opacity:1;filter:blur(0)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-content{margin-left:32px}.motion-toggle{left:32px}.hero{min-height:700px}}
@media(max-width:760px){.hero{margin:0;min-height:0;padding-top:0;display:flex;flex-direction:column}.hero-content{position:relative;margin:0;padding:35px 24px 0;max-width:100%;width:100%}.hero-art{order:2;position:relative;transform:scale(1.04);height:325px;width:100%;margin-top:8px;animation:none;will-change:auto}.hero h1{font-size:clamp(3.2rem,12.5vw,5rem);letter-spacing:-2.7px}.hero .eyebrow{font-size:8px;letter-spacing:.7px}.hero-description{font-size:16px;line-height:1.65}.hero-content .button{position:relative;z-index:4}.motion-toggle{left:auto;right:20px;bottom:14px;z-index:4;background:#f3f7fdde;border-radius:20px;padding:6px 9px;font-size:9px}.hero-caption{left:20px;bottom:16px;font-size:9px;padding:7px 9px;max-width:180px}.hero-caption .caption-line{display:none}.coordinate-one{top:auto;bottom:270px;right:24px}.coordinate-two{top:auto;bottom:151px;right:12px}.art-coordinate{font-size:8px;padding:6px 8px;letter-spacing:.7px}.art-coordinate:before{margin-right:7px}#connection-field{z-index:1}.contact-orb{background:#ffffff08}}
@media(prefers-reduced-motion:reduce){.hero-art{transform:scale(1.04);will-change:auto}.hero-content h1,.hero-description,.hero-content .button{opacity:1;transform:none}}

/* Live sculpture, with the original artwork retained as its loading/failure fallback. */
.hero-art{right:0;width:62%;object-fit:initial;transform:none!important;animation:none;transition:none;will-change:auto;z-index:0}
.hero-fallback{width:100%;height:100%;object-fit:cover;object-position:62% center}
.hero-fallback[hidden]{display:none}
#sculpture-frame{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;visibility:hidden}
.sculpture-ready #sculpture-frame{visibility:visible}
.sculpture-controls{position:absolute;z-index:3;right:40px;bottom:95px;display:flex;align-items:center;gap:12px;color:#536e91;font-size:11px}
.sculpture-controls[hidden]{display:none}
.sculpture-reset{width:32px;height:32px;border:1px solid #a2b6ce;border-radius:50%;background:#f4f8fcbf;color:#315b91;font-size:21px;line-height:1}
.sculpture-reset:hover{background:white}
@media(max-width:1100px) and (min-width:761px){.hero-art{width:63%;right:-4%}}
@media(max-width:760px){.hero-art{width:100%;right:auto;height:390px;flex:none;mask-image:linear-gradient(0deg,#000 87%,transparent);margin-top:4px}.hero-fallback{object-position:55% 56%}.sculpture-controls{bottom:62px;right:20px;font-size:10px}.coordinate-one{bottom:335px}.coordinate-two{bottom:210px}}

#connection-field{z-index:1}

.hero-caption{z-index:2;pointer-events:none}

/* Three complementary areas of expertise. */
.discipline-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.discipline-strip>span,.discipline-strip>span:nth-child(2),.discipline-strip>span:last-child{justify-content:flex-start}
@media(min-width:761px) and (max-width:1100px){.discipline-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}}
@media(max-width:760px){.discipline-strip{grid-template-columns:1fr}}

.coordinate-ai{top:7%;left:51%;bottom:auto;right:auto}
@media(min-width:761px) and (max-width:1100px){.coordinate-ai{left:46%}}
@media(max-width:760px){.coordinate-ai{top:auto;bottom:335px;left:16px;right:auto}}

#augmented-intelligence .service-copy>p+p{margin-top:16px}

/* Self-hosted DM Sans (variable weight 100-1000, latin subset). Removes the Google Fonts third-party request. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(assets/fonts/dm-sans-latin-variable.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}

/* Legal & utility pages (privacy, terms, cookies, 404). */
.legal-hero{background:#edf3fb;border-bottom:1px solid var(--line);padding:86px 0 62px}
.legal-hero h1{font-size:clamp(2.7rem,5.2vw,4.1rem);letter-spacing:-3px;margin:22px 0 16px}
.legal-meta{font-size:13px;color:#65778c}
.legal-meta a{color:var(--blue);border-bottom:1px solid #b9cdf3}
.legal-meta a:hover{border-color:var(--blue)}
.legal-body{padding:54px 0 104px;max-width:780px}
.legal-section{margin-top:50px}
.legal-num{display:block;font-size:11px;letter-spacing:1.5px;font-weight:550;color:var(--blue);margin-bottom:12px}
.legal-body h2{font-size:clamp(1.55rem,2.6vw,2rem);letter-spacing:-1.1px;line-height:1.22}
.legal-body p{font-size:16px;line-height:1.85;color:var(--muted);margin-top:16px;max-width:660px}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-body a{color:var(--blue);border-bottom:1px solid #c6d7f5;transition:border-color .2s,color .2s}
.legal-body a:hover{border-color:var(--blue)}
.legal-body ul{list-style:none;margin:18px 0 0;padding:0}
.legal-body li{padding:6px 0 6px 20px;position:relative;font-size:15px;color:#53667b;line-height:1.7;max-width:660px}
.legal-body li:before{content:'+';position:absolute;left:0;color:var(--blue)}
.legal-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;color:var(--ink);background:#eef3f9;border:1px solid #dbe4ee;padding:1px 6px;border-radius:5px}
.legal-rule{border:0;border-top:1px solid var(--line);margin:58px 0 0}
.legal-back{display:inline-flex;align-items:center;gap:11px;margin-top:40px;font-size:14px;font-weight:550}
.legal-back:hover{color:var(--blue)}
.legal-back:before{content:'←';color:var(--blue)}
.error-cta{margin-top:34px}
@media(max-width:760px){.legal-hero{padding:54px 0 42px}
.legal-body{padding:38px 0 72px}
.legal-section{margin-top:38px}
.legal-body p{font-size:15px}}

/* Footer legal links (privacy, terms, cookies). */
.footer-top>.footer-legal{flex-direction:column;align-items:flex-start;gap:12px}
@media(max-width:760px){.footer-top>.footer-legal{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:16px 26px;align-items:center;font-size:12px}}

/* Consent banner: fixed, non-blocking. The site sets no cookies on its own; a choice stores one preference cookie. */
.consent-banner{position:fixed;right:20px;bottom:20px;z-index:40;width:min(400px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px #162b4326;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.consent-banner.consent-show{opacity:1;transform:none;pointer-events:auto}
.consent-inner{padding:20px 22px 22px}
.consent-title{font-size:13px;font-weight:600;letter-spacing:.2px;margin-bottom:8px}
.consent-copy{font-size:13px;line-height:1.7;color:var(--muted)}
.consent-copy a{color:var(--blue);border-bottom:1px solid #c6d7f5;transition:border-color .2s}
.consent-copy a:hover{border-color:var(--blue)}
.consent-actions{display:flex;gap:10px;margin-top:16px}
.consent-actions button{flex:1;border:1px solid var(--line);border-radius:30px;padding:10px 18px;font-size:13px;font-weight:550;background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.consent-actions .consent-accept{background:var(--ink);color:#fff;border-color:var(--ink)}
.consent-actions .consent-accept:hover{background:var(--blue);border-color:var(--blue)}
.consent-actions .consent-reject:hover{border-color:var(--blue);color:var(--blue)}
@media(max-width:760px){.consent-banner{right:16px;bottom:16px;width:calc(100vw - 32px);border-radius:12px}}
@media(prefers-reduced-motion:reduce){.consent-banner{transition:none}}

