html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Arial,sans-serif}body{margin:0}h1,h2,h3,p{margin:0}img{display:block;max-width:100%;height:auto}button,input{font:inherit}a{color:inherit}
:root,.dark { --background:#edf2ff; --foreground:#13264a; --primary:#204af1; --primary-foreground:#fff; --border:#b9c8e4; --ring:#204af1; --card:#f7f9ff; --card-foreground:#13264a; --muted:#dce5f8; --muted-foreground:#536584; --accent:#204af1; --accent-foreground:#fff; --radius:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; color:var(--foreground); background:var(--background); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
::selection { background:#2249f3; color:white; }
a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
a:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
h1,h2,h3,p,figure { margin:0; }
svg { flex-shrink:0; }
.shell { width:min(100% - 96px,1440px); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:20; background:white; padding:15px; }
.skip-link:focus { top:16px; }
.header { height:112px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); gap:24px; }
.brand { display:flex; align-items:center; gap:23px; font-size:.75rem; line-height:1.35; letter-spacing:.11em; font-weight:600; }
.brand-symbol { font-family:Georgia,serif; font-style:italic; font-weight:400; font-size:3.9rem; line-height:1; letter-spacing:-.11em; position:relative; padding-right:12px; }
.brand-symbol span { position:absolute; top:2px; right:-4px; font-family:Arial,sans-serif; font-size:.68rem; letter-spacing:0; font-style:normal; }
.header nav { display:flex; gap:38px; font-size:.875rem; }
.header nav a { position:relative; padding-block:15px; }
.header nav a::after { content:''; position:absolute; left:0; bottom:6px; width:0; height:1px; background:currentColor; transition:width .3s; }
.header nav a:hover::after { width:100%; }
.header-contact { display:flex; align-items:center; gap:22px; border:1px solid #8298bb; border-radius:99px; padding:12px 20px; font-size:.875rem; transition:background .2s,color .2s; }
.header-contact:hover { background:#13264a; color:white; }
.hero { overflow:hidden; }
.hero-kicker { display:flex; justify-content:space-between; padding-top:30px; font-size:.6875rem; letter-spacing:.14em; }
.hero-composition { position:relative; min-height:740px; display:flex; align-items:center; padding:52px 0 65px; }
.hero-text { z-index:2; position:relative; pointer-events:none; }
.hero-text a { pointer-events:auto; }
h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(4.5rem,7.7vw,7.6rem); line-height:1.04; letter-spacing:-.062em; }
h1 em { color:#204af1; font-weight:400; white-space:nowrap; font-size:.84em; }
.hero-description { display:flex; align-items:start; gap:18px; margin-top:31px; }
.tiny-cross { color:#204af1; font-size:2.1rem; line-height:1; }
.hero-description p { color:#536584; font-size:1rem; line-height:1.65; }
.pill-button { display:inline-flex; align-items:center; gap:29px; padding:17px 23px; border-radius:60px; background:#204af1; color:white; font-size:.875rem; margin-top:29px; transition:background .2s,transform .2s,box-shadow .2s; }
.pill-button:hover { background:#1237ca; transform:translateY(-3px); box-shadow:0 10px 35px #204af133; }
.hero-figure { position:absolute; width:72%; right:-14%; top:27px; bottom:10px; display:flex; align-items:center; }
.hero-figure img { width:100%; height:auto; mix-blend-mode:multiply; mask-image:radial-gradient(ellipse 65% 57% at 50% 50%,#000 45%,transparent 100%); animation:float-in 1.1s ease-out both; }
.hero-figure figcaption { position:absolute; bottom:53px; right:24%; font-size:.75rem; color:#536584; display:flex; align-items:center; gap:15px; }
.caption-line { width:36px; height:1px; background:#536584; }
.hero-side { position:absolute; right:-20px; top:50%; writing-mode:vertical-rl; font-size:.625rem; letter-spacing:.15em; color:#536584; }
.hero-bottom { min-height:85px; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:.75rem; color:#536584; }
.hero-bottom a { display:flex; align-items:center; gap:17px; color:#13264a; }
.hero-bottom-right { font-size:.625rem; letter-spacing:.1em; }
.services { color:#fff; background:#1128a3; padding:57px 0 88px; }
.section-top { display:flex; justify-content:space-between; gap:25px; align-items:start; }
.eyebrow { font-size:.75rem; letter-spacing:.13em; line-height:1.5; }
.section-top > p:last-child:not(:first-child) { font-size:.875rem; line-height:1.6; color:#bbc9ff; }
.services h2 { font-family:Georgia,serif; font-size:clamp(4.5rem,8vw,8rem); line-height:1.04; font-weight:400; letter-spacing:-.055em; position:relative; margin:43px 0 60px; }
.services h2 em { padding-left:15%; font-weight:400; }
.heading-star { position:absolute; left:65%; top:8%; font-family:Arial,sans-serif; font-size:8rem; color:#839cff; font-weight:400; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-card { padding:27px 27px 22px; display:flex; flex-direction:column; min-height:445px; background:#243fb8; border:1px solid #4760c4; border-radius:4px; transition:transform .35s,background .35s; }
.service-card:hover { transform:translateY(-7px); background:#2b48cb; }
.repair-card { margin-top:42px; margin-bottom:-42px; }
.network-card { background:#e5edff; color:#162d69; border-color:#e5edff; }
.network-card:hover { background:#f3f7ff; }
.card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:45px; }
.card-number { font-family:Georgia,serif; font-style:italic; font-size:2.2rem; }
.card-plus { border:1px solid currentColor; border-radius:50%; width:30px; height:30px; display:grid; place-items:center; opacity:.6; }
.service-subtitle { font-size:.75rem; color:#d0daff; margin-bottom:14px; }
.network-card .service-subtitle { color:#4f6495; }
.service-card h3 { font-family:Georgia,serif; font-size:clamp(1.8rem,2.55vw,2.7rem); line-height:1.2; letter-spacing:-.045em; font-weight:400; margin-bottom:21px; }
.service-description { font-size:1rem; line-height:1.65; color:#e0e7ff; }
.network-card .service-description { color:#455a88; }
.service-card ul { padding:20px 0 28px; list-style:none; margin:0; font-size:.75rem; color:#cfdaff; display:flex; flex-wrap:wrap; gap:8px 14px; }
.service-card li + li::before { content:'·'; margin-right:14px; }
.network-card ul { color:#506795; }
.service-action { border-top:1px solid #8396df66; padding-top:18px; display:flex; align-items:center; justify-content:space-between; font-size:.875rem; margin-top:auto; min-height:45px; }
.approach { display:grid; grid-template-columns:1fr 3fr; gap:45px; padding-block:117px 110px; }
.approach .eyebrow { padding-top:13px; color:#536584; }
.approach h2 { font-family:Georgia,serif; font-size:clamp(2.5rem,4.6vw,4.65rem); font-weight:400; letter-spacing:-.05em; line-height:1.2; }
.approach h2 em { color:#204af1; }
.approach-bottom { display:grid; grid-template-columns:1fr 1.45fr; align-items:center; gap:40px; margin-top:38px; }
.signature { font-family:Georgia,serif; font-style:italic; font-size:3rem; letter-spacing:-.08em; color:#204af1; transform:rotate(-9deg); width:max-content; }
.approach-bottom p { font-size:1rem; color:#536584; line-height:1.7; }
.contact { background:#dce7ff; border-block:1px solid #b9c8e4; padding:40px 0 44px; }
.contact .section-top > span { font-size:.8125rem; color:#536584; }
.contact-heading { display:flex; justify-content:space-between; gap:35px; align-items:center; padding:44px 0 58px; }
.contact h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(3.6rem,7.6vw,7.8rem); line-height:1.1; letter-spacing:-.055em; }
.contact h2 em { color:#204af1; }
.contact-orbit { flex-shrink:0; border:1px solid #9aafd9; border-radius:50%; width:clamp(120px,17vw,235px); aspect-ratio:1; display:grid; place-items:center; color:#204af1; transition:background .4s,color .4s,transform .4s; }
.contact-orbit svg { width:40%; height:40%; }
.contact-orbit:hover { background:#204af1; color:white; transform:rotate(45deg); }
.contact-line { border-top:1px solid #b1c2e1; display:flex; align-items:center; justify-content:space-between; padding-top:29px; gap:25px; }
.contact-line > span { font-size:.8125rem; color:#536584; }
.phone { font-size:clamp(1.7rem,3.3vw,3.25rem); letter-spacing:-.05em; line-height:1.25; }
.phone:hover { color:#204af1; }
.footer { display:flex; align-items:center; justify-content:space-between; min-height:165px; gap:25px; }
.footer-name { font-family:Georgia,serif; font-size:2.1rem; letter-spacing:-.05em; }
.footer-name span { display:block; font-family:Arial,sans-serif; font-size:.75rem; letter-spacing:.02em; margin-top:5px; }
.footer p { font-size:.75rem; color:#536584; }
.back-top { display:flex; gap:12px; align-items:center; font-size:.8125rem; }
@keyframes float-in { from { transform:translateY(25px) rotate(-3deg); opacity:0; } to { transform:translateY(0) rotate(0); opacity:1; } }
@media(max-width:1100px) { .shell{width:calc(100% - 56px)} .hero-composition{min-height:690px} h1{font-size:7.9vw} .hero-figure{width:70%;right:-10%} .hero-figure figcaption{right:29%;bottom:80px} .service-card{padding:24px 20px} .approach{grid-template-columns:1fr 3.5fr;gap:24px} .approach-bottom{grid-template-columns:.7fr 1.6fr} .hero-bottom-right{display:none} }
@media(max-width:760px) { .shell{width:calc(100% - 40px)} .header{height:90px} .brand{gap:16px;font-size:.625rem} .brand-symbol{font-size:3.2rem} .header nav{display:none} .header-contact{padding:11px 15px;gap:10px} .hero-kicker{padding-top:24px;font-size:.625rem;gap:16px;letter-spacing:.08em} .hero-kicker span:last-child{display:none} .hero-composition{display:block;min-height:auto;padding:35px 0 0} h1{font-size:clamp(3rem,9.8vw,4.8rem);line-height:1.1;letter-spacing:-.055em} h1 em{white-space:normal;font-size:1em} .hero-description{margin-top:24px;gap:13px} .hero-description p{font-size:1rem} .tiny-cross{font-size:1.8rem} .pill-button{margin-top:22px;padding:17px 22px} .hero-figure{position:relative;right:auto;top:auto;bottom:auto;width:125%;margin:0 -12.5% -5px;min-height:260px} .hero-figure img{width:100%} .hero-figure figcaption{right:19%;bottom:25px;font-size:.6875rem} .hero-side{display:none} .hero-bottom{font-size:.75rem;gap:20px;min-height:85px} .hero-bottom>span{max-width:135px;line-height:1.5} .hero-bottom a{max-width:150px;line-height:1.5;gap:12px} .services{padding:35px 0 42px} .section-top{gap:20px} .eyebrow{font-size:.6875rem;letter-spacing:.08em} .section-top>p:last-child:not(:first-child){font-size:.75rem;max-width:155px} .services h2{font-size:clamp(3.5rem,12vw,5rem);margin:37px 0 37px} .services h2 em{padding-left:12%} .heading-star{font-size:4.5rem;left:auto;right:5%;top:5%} .service-grid{grid-template-columns:1fr;gap:16px} .service-card{min-height:auto;padding:24px}.repair-card{margin:0}.card-top{margin-bottom:28px}.service-card h3{font-size:2.4rem}.service-description{font-size:1rem}.service-card ul{padding-bottom:25px}.service-action{padding-top:18px}.approach{grid-template-columns:1fr;gap:28px;padding-block:50px 55px}.approach .eyebrow{padding:0}.approach h2{font-size:clamp(2rem,7.9vw,3.5rem);line-height:1.25}.approach-bottom{grid-template-columns:1fr;gap:24px;margin-top:25px}.signature{font-size:2.6rem;order:2}.approach-bottom p{font-size:1rem}.contact{padding:31px 0}.contact .section-top>span{font-size:.75rem;max-width:140px;text-align:right}.contact-heading{padding:36px 0;gap:18px;align-items:end}.contact h2{font-size:clamp(2.2rem,8.5vw,4.2rem)}.contact-orbit{width:62px;margin-bottom:8px}.contact-orbit svg{width:45%;height:45%}.contact-line{flex-direction:column;align-items:start;gap:19px;padding-top:23px}.phone{font-size:clamp(1.9rem,7.8vw,3rem)}.footer{display:grid;grid-template-columns:1fr auto;gap:25px;padding-block:34px}.footer-name{font-size:1.9rem}.footer p{grid-column:1/-1;grid-row:2;line-height:1.5}.back-top{grid-column:2;grid-row:1}.desktop-break{display:none} }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Expanded service catalogue. */
.service-grid { gap:24px 18px; }
.repair-card { margin:0; }
.advanced-network { display:grid; grid-template-columns:1fr 2fr; gap:40px; border-top:1px solid #758bdd; margin-top:65px; padding-top:44px; }
.advanced-label { display:flex; flex-direction:column; align-items:start; gap:22px; color:#c1ceff; }
.advanced-copy h3 { font-family:Georgia,serif; font-size:clamp(2.2rem,4.3vw,4.1rem); line-height:1.15; font-weight:400; letter-spacing:-.045em; margin:15px 0 27px; }
.advanced-copy h3 em { color:#bacaff; }
.advanced-copy > p:not(.service-subtitle) { font-size:1rem; line-height:1.75; max-width:670px; color:#e0e7ff; }
.advanced-copy > p.advanced-note { font-size:.875rem; margin-top:18px; color:#bbc9ff; }
.advanced-action { display:inline-flex; align-items:center; gap:24px; margin-top:28px; padding:15px 20px; border:1px solid #8296e6; border-radius:50px; font-size:.875rem; line-height:1.5; transition:background .2s; }
.advanced-action:hover { background:#2b48cb; }
@media (min-width:761px) and (max-width:1050px) { .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .service-card h3 { font-size:2.1rem; } }
@media (max-width:760px) { .service-grid { gap:16px; } .advanced-network { grid-template-columns:1fr; gap:28px; margin-top:36px; padding-top:30px; } .advanced-label { flex-direction:row; align-items:center; justify-content:space-between; } .advanced-copy h3 { font-size:clamp(2rem,8vw,3rem); } .advanced-action { gap:15px; padding:14px 17px; } }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:29px; }
.hero-actions .pill-button { margin:0; }
.text-call { font-size:.875rem; text-decoration:underline; text-underline-offset:5px; padding:14px 0; }
.hero-person { color:#536584; font-size:.75rem; margin-top:19px; }
.process-section { padding:0 0 85px; }
.process-heading { display:grid; grid-template-columns:1fr 3fr; gap:45px; }
.process-heading .eyebrow { padding-top:12px; color:#536584; }
.process-heading h2,.questions h2 { font-family:Georgia,serif; font-size:clamp(2rem,4vw,4rem); font-weight:400; line-height:1.2; letter-spacing:-.045em; }
.process-heading em,.questions em { color:#204af1; }
.process-steps { list-style:none; padding:0; margin:44px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.process-steps li { border-top:1px solid #b9c8e4; padding-top:25px; }
.process-steps li>span { font-family:Georgia,serif; font-style:italic; color:#204af1; font-size:2rem; }
.process-steps h3 { font-size:1.15rem; font-weight:500; margin:20px 0 14px; }
.process-steps p { font-size:1rem; line-height:1.7; color:#536584; }
.questions { display:grid; grid-template-columns:1fr 1.6fr; gap:60px; padding-bottom:95px; }
.questions .eyebrow { color:#536584; margin-bottom:22px; }
.question-list details { border-top:1px solid #b9c8e4; }
.question-list details:last-child { border-bottom:1px solid #b9c8e4; }
.question-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; padding:24px 0; font-size:1rem; cursor:pointer; }
.question-list summary::-webkit-details-marker { display:none; }
.question-list summary::after { content:'+'; color:#204af1; font-size:1.5rem; flex-shrink:0; }
.question-list details[open] summary::after { content:'−'; }
.question-list summary:focus-visible { outline:2px solid #204af1; outline-offset:4px; }
.question-list details p { color:#536584; font-size:1rem; line-height:1.7; padding-bottom:24px; max-width:620px; }
.contact-intro { max-width:610px; color:#536584; font-size:1rem; line-height:1.7; margin-bottom:34px; }
.contact-options { display:grid; grid-template-columns:1fr 1fr; gap:24px; border-top:1px solid #b1c2e1; padding-top:28px; }
.contact-options a { display:flex; align-items:center; gap:18px; padding:22px 24px; border-radius:4px; min-width:0; }
.contact-options a>span { font-size:clamp(1.2rem,2.5vw,2.25rem); letter-spacing:-.035em; overflow-wrap:anywhere; }
.contact-options small { display:block; font-size:.6875rem; letter-spacing:.1em; margin-bottom:9px; }
.telegram-contact { background:#204af1; color:white; transition:background .2s; }
.telegram-contact:hover { background:#1538c8; }
.telegram-contact>svg:last-child { margin-left:auto; }
.phone-contact { border:1px solid #9eb4df; }
.phone-contact:hover { background:#e9efff; }
.mobile-contact-bar { display:none; }
@media(max-width:1050px) { .process-heading { grid-template-columns:1fr 3.5fr; gap:24px; } .questions { gap:35px; } .contact-options { gap:14px; } .contact-options a { padding:19px 17px; gap:12px; } }
@media(max-width:760px) { body{padding-bottom:calc(76px + env(safe-area-inset-bottom))} .hero-actions{gap:22px;margin-top:22px}.hero-person{font-size:.75rem;line-height:1.5}.header-contact{font-size:.875rem}.brand{font-size:.6875rem}.eyebrow{font-size:.75rem}.service-card ul{font-size:.8125rem}.service-subtitle{font-size:.8125rem}.process-section{padding-bottom:52px}.process-heading{grid-template-columns:1fr;gap:22px}.process-heading .eyebrow{padding:0}.process-heading h2{font-size:clamp(2rem,7.8vw,3rem)}.process-steps{grid-template-columns:1fr;gap:26px;margin-top:30px}.process-steps h3{margin:12px 0;font-size:1.2rem}.questions{grid-template-columns:1fr;gap:28px;padding-bottom:55px}.questions h2{font-size:2.5rem}.question-list summary{padding:21px 0;line-height:1.5}.contact-heading{flex-wrap:wrap}.contact h2{font-size:clamp(2rem,8.2vw,4rem)}.contact-intro{margin-bottom:26px}.contact-options{grid-template-columns:1fr;gap:12px;padding-top:22px}.contact-options a{padding:20px 18px;min-height:88px}.contact-options a>span{font-size:clamp(1.25rem,6vw,1.75rem)}.contact-options small{font-size:.6875rem}.mobile-contact-bar{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:1.2fr 1fr;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#edf2fff5;backdrop-filter:blur(14px);border-top:1px solid #bac9e6}.mobile-contact-bar a{display:flex;justify-content:center;align-items:center;gap:10px;min-height:47px;font-size:.9375rem;border:1px solid #9bafd7;border-radius:30px}.mobile-contact-bar a:first-child{color:white;background:#204af1;border-color:#204af1}.advanced-action{max-width:100%}.service-card h3{overflow-wrap:anywhere} }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* The isolated viewer works in both the React site and its static export. */
.hero-figure .ring-viewer{width:100%;height:100%;min-height:420px;border:0;display:block;background:transparent}
.hero-figure figcaption{pointer-events:none;bottom:0;right:24%}
@media(max-width:760px){.hero-figure{width:100%;margin:12px 0 0;min-height:350px;display:block}.hero-figure .ring-viewer{height:370px;min-height:0}.hero-figure figcaption{position:relative;bottom:auto;right:auto;justify-content:center;margin-top:6px;margin-bottom:22px}}

/* Photo service carousel: native scrolling remains usable without JavaScript. */
.service-carousel{position:relative}
.service-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#7f9afa #1734ac;border-radius:4px;position:relative;overscroll-behavior-x:contain}
.service-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:1.12fr 1fr;scroll-snap-align:start;background:#edf2ff;color:#14264b;overflow:hidden;border-radius:4px;scroll-snap-stop:always}
.service-photo{width:100%;height:100%;min-height:510px;object-fit:cover;display:block}
.service-slide-copy{padding:42px;display:flex;flex-direction:column;align-items:start}
.service-slide .card-top{width:100%;margin-bottom:35px}.service-slide .card-number{font-size:2rem}.service-slide h3{font:clamp(2.2rem,3.4vw,3.5rem)/1.04 Georgia,serif;letter-spacing:-.045em;margin:13px 0 23px}.service-slide .service-subtitle{color:#52699a}.service-slide .service-description{color:#405575;font-size:1rem;line-height:1.7}.service-slide ul{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:24px 0;margin:0;font-size:.75rem;color:#52699a}.service-slide .service-action{width:100%;margin-top:auto;border-top:1px solid #becce5;padding-top:23px;display:flex;justify-content:space-between;align-items:center}
.carousel-controls{display:flex;align-items:center;gap:20px;margin-top:24px}.carousel-controls button{width:48px;height:48px;border:1px solid #7290e4;border-radius:50%;background:transparent;color:#fff;font-size:24px;cursor:pointer}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-controls button:focus-visible,.service-track:focus-visible{outline:2px solid #fff;outline-offset:4px}.carousel-count{font-variant-numeric:tabular-nums;min-width:66px;font-size:.85rem}.carousel-dots{display:flex;gap:9px;margin-right:auto}.carousel-dots button{width:9px;height:9px;background:#fff5;border:0;padding:0}.carousel-dots button[aria-pressed=true]{background:white;transform:scale(1.3)}.carousel-tip{font-size:.75rem;color:#b1c2ff}
@media(max-width:1050px){.service-slide-copy{padding:28px}.service-slide{grid-template-columns:1fr 1fr}.service-photo{min-height:550px}.carousel-tip{display:none}}
@media(max-width:760px){.service-track{gap:14px}.service-slide{grid-template-columns:1fr;grid-template-rows:auto 1fr}.service-photo{height:230px;min-height:0}.service-slide-copy{padding:25px}.service-slide .card-top{margin-bottom:20px}.service-slide h3{font-size:2.3rem}.service-slide .service-description{font-size:.9375rem}.carousel-controls{gap:12px;margin-top:20px}.carousel-controls button{width:42px;height:42px}.carousel-dots{gap:7px}.carousel-dots button{width:7px;height:7px}.carousel-count{font-size:.75rem;min-width:47px}}
.carousel-dots button{position:relative;width:32px;height:44px;background:transparent;transform:none!important}.carousel-dots button::after{content:'';position:absolute;width:7px;height:7px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#fff5}.carousel-dots button[aria-pressed=true]{background:transparent}.carousel-dots button[aria-pressed=true]::after{background:#fff;width:10px;height:10px}
@media(max-width:760px){.carousel-controls{flex-wrap:wrap}.carousel-count{margin-right:auto}.carousel-dots{order:3;flex:0 0 100%;justify-content:center;margin:0;gap:4px}.carousel-dots button{width:32px;height:44px}}

/* Text-first service cards, with a visible next card to invite a swipe. */
.service-track{gap:20px;padding-bottom:12px;scroll-padding-inline:0}
.service-slide{flex-basis:calc((100% - 40px)/3);display:flex;border:1px solid #ffffff30;background:#ffffff09;color:#fff;border-radius:18px;transition:background .2s}
.service-slide:nth-child(3n+2){background:#edf2ff;color:#14264b}
.service-slide-copy{padding:32px;min-height:510px;width:100%}
.service-slide .card-top{margin-bottom:38px}.service-slide .card-number{opacity:.7}
.service-slide h3{font-size:2.35rem;line-height:1.12;overflow-wrap:anywhere}
.service-slide .service-subtitle,.service-slide .service-description,.service-slide ul{color:inherit}
.service-slide .service-subtitle{opacity:.7}.service-slide .service-description{opacity:.9}
.service-slide ul{gap:8px;font-size:.8125rem}.service-slide li{border:1px solid #94a9dd66;border-radius:20px;padding:6px 10px}
.service-slide .service-action{border-color:#94a9dd66;min-height:48px}
.carousel-controls button{min-width:44px;min-height:44px}.carousel-dots{gap:0}
@media(max-width:1100px){.service-slide{flex-basis:calc((100% - 20px)/2)}.service-slide-copy{padding:28px}}
@media(max-width:760px){.service-slide{flex-basis:92%;border-radius:14px}.service-slide-copy{padding:25px;min-height:485px}.service-slide h3{font-size:2.2rem}.service-track{gap:14px}.carousel-dots button{min-width:32px}.hero-figure{isolation:isolate}.ring-viewer{position:relative;z-index:1;pointer-events:auto}}
@media(max-width:380px){.service-slide-copy{padding:21px}.carousel-controls{gap:8px}}

/* Uniform light service cards and restored original hero artwork. */
.service-slide,.service-slide:nth-child(3n+2){background:#edf2ff;color:#14264b;border-color:#d8e2f7}
.service-slide h3{font-size:clamp(1.85rem,2.5vw,2.35rem)}
.hero-figure figcaption{bottom:53px;right:24%}
@media(max-width:760px){.hero-figure{width:125%;margin:0 -12.5% -5px;min-height:260px;display:flex}.hero-figure figcaption{position:absolute;right:19%;bottom:25px;margin:0}.carousel-dots{gap:0}.carousel-dots button{min-width:28px;width:28px}.service-slide h3{font-size:2rem}}

.hero-figure .ring-video{display:block;width:100%;height:auto;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 65% 57% at 50% 50%,#000 45%,transparent 100%)}
.ring-play{position:absolute;bottom:12px;right:24%;z-index:2;min-height:44px;padding:8px 15px;border:1px solid #cad6ef;border-radius:25px;background:#edf2ffcc;color:#536584;font-size:12px;cursor:pointer}
@media(max-width:760px){.ring-play{right:19%;bottom:-20px}.hero-figure{margin-bottom:24px}}
