/* T.L.S / editorial engineering. Presentation layer; original motion retained. */
.nav-close{display:none}
/* Match the transparent circular aperture in the supplied 1280px camera art.
   Keep both outgoing/incoming icons clipped during the reel transition. */
.tls-mark .lens-viewport{position:absolute;left:27.2%;top:56.4%;width:25.1%;height:25.1%;border-radius:50%;overflow:hidden;clip-path:circle(50% at 50% 50%);isolation:isolate;z-index:3;pointer-events:none;color:#183b53}
.tls-mark .lens-track{display:flex;flex-direction:column;width:100%;height:100%;transform:translateY(calc(var(--lens-index,0) * -100%));transition:transform .55s cubic-bezier(.22,.75,.25,1)}
.tls-mark .lens-icon{display:flex;align-items:center;justify-content:center;flex:0 0 100%;width:100%;height:100%;min-height:100%;margin:0;padding:0;overflow:hidden}
.tls-mark .lens-icon .ui-icon{width:60%;height:60%;stroke-width:1.8;flex-shrink:0;color:inherit}
.dev-hero,.dev-copy h3{color:#183b53}.dev-copy p{color:#607581}
.tariff-card.featured strong{color:#fff}.tariff-card.featured .tariff-name{color:#d5ed9d}
@media(max-width:1000px){body .side-menu{z-index:80}body.menu-open .menu-backdrop{z-index:70}}
.service .mini-art{display:grid;place-items:center;top:24px;right:24px!important;width:62px!important;height:62px!important;border-radius:12px!important;background:#ffffff50!important;border:1px solid #ffffff40!important;box-shadow:none!important;transform:none!important;color:inherit;opacity:.8}
.service .mini-art::before,.service .mini-art::after{display:none!important}
.service .mini-art .ui-icon{width:36px;height:36px;stroke-width:1.4}
.calc-form{border-radius:14px;border:1px solid #dce5ea;box-shadow:0 18px 38px #102c4320}
.calc-form select{border-radius:7px;background:#f7f9fa;font-size:15px;color:#183b53}
.calc-form button{width:100%;justify-content:space-between}
@media(max-width:1000px){.nav-close{display:flex;justify-content:space-between;align-items:center;width:100%;padding:4px 12px 12px;border:0;border-bottom:1px solid #dce5e9;background:none;color:#183b53;font-size:18px;font-weight:700}.nav-close span{font-size:29px;font-weight:400}}
:root{--ink:#142a3b;--muted:#60717e;--blue:#183b53;--cream:#f4f7f8;--line:#dde5e8;--lime:#d5ed9d;--sidebar-space:244px;--top-height:36px;--header-height:84px}
body{background:#fff;color:var(--ink);font-size:16px;line-height:1.6}
::selection{background:#d5ed9d;color:#142a3b}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #709946;outline-offset:5px}
section[id],article[id],form[id]{scroll-margin-top:34px}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sidebar-brand{height:108px;padding:18px 17px;display:flex;align-items:center;justify-content:flex-start;gap:12px;background:#f7f9fa;border-bottom:0;border-right:1px solid var(--line)}
.sidebar-brand .tls-logo{flex:0 0 58px;width:58px;height:62px}
.sidebar-brand .tls-mark{transform:scale(.245)!important;transform-origin:top left}
.brand-caption{display:flex;flex-direction:column;gap:4px}
.brand-caption strong{font-size:23px;line-height:1.15;letter-spacing:.12em;font-weight:800}
.brand-caption strong span{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:4px}
.brand-caption small{font-size:11px;color:#647783;line-height:1.5;letter-spacing:0}
.side-menu{top:108px;height:calc(100dvh - 108px);width:244px;padding:0 14px 22px;background:#f7f9fa;color:#4d6373;border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#cbd5dc transparent;overscroll-behavior:contain}
.side-menu::-webkit-scrollbar{width:4px}.side-menu::-webkit-scrollbar-track{background:transparent}.side-menu::-webkit-scrollbar-thumb{background:#cbd5dc}
.nav-group{margin:16px 13px 8px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#748592}
.side-menu .side-link{position:relative;min-height:44px;margin:3px 0;padding:10px 12px;gap:12px;border:0;border-radius:9px;font-size:14px;line-height:1.45;font-weight:600;transition:background .22s,color .22s,transform .22s}
.side-menu .side-link:hover{background:#e8eef1;color:#142a3b;transform:translateX(2px)}
.side-menu .side-link.active{padding:10px 12px;border:0;background:#17364b;color:#fff;box-shadow:0 5px 12px #16364b12}
.side-menu .side-link .side-icon{display:grid;place-items:center;width:23px;height:24px;flex:0 0 23px;color:#627d8b;background:none!important;border:0;mask:none!important;-webkit-mask:none!important;font:inherit}
.side-menu .side-link .side-icon::before,.side-menu .side-link .side-icon::after{display:none!important;content:none!important}
.side-menu .side-link .side-icon .ui-icon{display:block;width:22px;height:22px}
.side-menu .side-link:hover .side-icon{color:#254f69}.side-menu .side-link.active .side-icon{color:#d5ed9d}
.top{padding:0 5%;background:#142f43;font-size:11px;gap:20px;border:0}.ticker{gap:20px}.ticker span{white-space:nowrap}.top a{font-weight:500}
header{background:#fff;padding:0 5%;gap:28px;border-bottom:1px solid var(--line)}
header .logo{font-size:16px;color:#193a50}header nav{gap:25px;font-size:14px;font-weight:600}header nav a{transition:color .2s}header nav a:hover{color:#577b33}
.header-btn{font-size:14px;font-weight:700}.header-btn b{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border-radius:8px;background:#183b53;color:#d5ed9d}
.logo i{box-shadow:none!important}.menu-backdrop{display:none}
.hero{position:relative;min-height:630px;padding:62px 5% 64px;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:42px;align-items:center;background:#fff}
.hero-copy{min-width:0;position:relative;z-index:2}.hero .eyebrow{max-width:350px}
.eyebrow{color:#697f89;font-size:12px;line-height:1.7;letter-spacing:.12em;font-weight:700;margin-bottom:20px}
.hero h1{font-size:clamp(40px,4.15vw,68px);line-height:1.1;letter-spacing:-.055em;margin-bottom:25px;font-weight:700}
.hero h1 em,h2 em{color:#61833e;font-weight:500}
.lead{font-size:16px;line-height:1.8;max-width:480px;color:#627581}
.hero-proof{gap:18px;font-size:12px;margin-top:23px;font-weight:600;color:#526b78;flex-wrap:wrap}.hero-proof i{background:#81a453;width:5px;height:5px}
.actions{margin:30px 0;gap:24px;flex-wrap:wrap}
.button{background:#183b53;color:#fff;border-radius:8px;padding:16px 22px;font-family:inherit;font-size:14px;font-weight:700;min-height:51px;box-shadow:0 6px 16px #183b5310;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover{background:#234d66;transform:translateY(-3px);box-shadow:0 10px 24px #183b5325}.button span{color:#d5ed9d}.text-link{font-size:14px;font-weight:600}
.trust{margin-top:32px;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px}.trust strong{font-size:24px;letter-spacing:-.04em;margin-left:8px}.trust strong:first-child{margin-left:0}.trust span{font-size:10px;text-transform:none;line-height:1.5;max-width:86px}
.hero-art{min-width:0;min-height:465px;height:100%;max-height:520px;position:relative;border-radius:16px;background:#dfe7ec;isolation:isolate;overflow:visible}
.hero-art .orb,.hero-art .camera{display:none}
.hero-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:54% 47%;border-radius:16px;filter:saturate(.7);animation:photoBreathe 9s ease-in-out infinite}
.hero-art:after{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(180deg,#132b4300 40%,#102e438c);z-index:1;pointer-events:none}
.photo-caption{position:absolute;left:26px;bottom:72px;z-index:3;color:white;display:flex;flex-direction:column;gap:8px}.photo-caption span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#dce7eb}.photo-caption b{font-size:23px;line-height:1.3;letter-spacing:-.025em;font-weight:600}
.hero-art .scan-line{z-index:2;top:15%;right:5%;width:90%;height:1px;background:#d5ed9d;box-shadow:0 0 12px #d5ed9d;animation:photoScan 6s ease-in-out infinite;transform:none}
.hero-art .ring{z-index:-1;width:260px;height:260px;right:-30px;top:-25px;border-color:#d2ddc5;opacity:.6}.hero-art .r2{width:300px;height:300px;right:-50px;top:-45px}
.art-card{z-index:4;bottom:-15px;right:18px;left:18px;max-width:none;margin:0;display:flex;align-items:center;gap:12px;padding:15px 18px;background:#fff;border:1px solid #e1e8ec;border-radius:10px;box-shadow:0 12px 28px #142a3b10;font-size:13px}.art-card small{font-size:11px;color:#718590}.art-card>span{color:#6f923e}
@keyframes photoBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes photoScan{0%,100%{top:18%;opacity:.12}50%{top:65%;opacity:.6}}
.process,.services,.works,.trust-section,.service-details,.price-list,.developments,.contact,.socials{padding:80px 5%;border-top:1px solid var(--line)}
.process,.works,.trust-section,.developments{background:#fff}.services,.service-details,.price-list{background:#f4f7f8}
.section-head h2,.contact h2,.socials h2,.about h2{font-size:clamp(31px,3.25vw,48px);line-height:1.16;letter-spacing:-.045em;font-weight:600}
.section-head-row{align-items:flex-start;gap:32px}.section-note{max-width:330px;font-size:14px!important;line-height:1.8!important}
.steps{gap:24px;margin-top:44px}.steps article{border-color:#cad6dc}.steps article>b{font-size:12px;color:#7a8e98;font-weight:600}
.step-icon{height:65px;text-shadow:none;color:#456579;font-size:30px}.step-icon .ui-icon{width:32px;height:32px}
.steps h3{font-size:18px;font-weight:650}.steps p,.about-text,.contact>div>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#647681}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}.service-grid .service{grid-column:auto}.service{border-radius:12px;border:1px solid #dce5e9;min-height:310px;box-shadow:none}.service.dark{background:#16354b;border-color:#16354b}.service.peach{background:#e7edf0}.service.blue{background:#dce8ed}.service.green{background:#e4eccc}.service.sand{background:#e9eff1}
.service p{font-size:11px;line-height:1.65;letter-spacing:.09em;opacity:.85}.service h3{font-size:24px;line-height:1.23;letter-spacing:-.035em;max-width:95%;font-weight:600}.service a{font-size:14px}.service .mini-art{opacity:.75;filter:saturate(.6)}
.service{transition:transform .3s,box-shadow .3s}.service:hover{transform:translateY(-5px);box-shadow:0 15px 28px #153b5010}
.calculator{background:#183b53;border-radius:0;color:#fff;padding:72px 5%;gap:42px}.calculator h2{font-size:clamp(31px,3.3vw,48px);line-height:1.16;letter-spacing:-.04em}.calculator h2 em{color:#d5ed9d}.calculator p{font-size:15px;line-height:1.85;color:#c7d6dd}.calculator .eyebrow{color:#b8cbd5}.calculator .free-visit{color:#d5ed9d}
.calc-card{background:#fff;border:1px solid #d9e3e8;border-radius:14px;color:#183b53;padding:30px;box-shadow:0 20px 40px #0a263426}.calc-card label{font-size:12px;letter-spacing:.05em;color:#496475}.calc-card select{border:1px solid #d9e3e8;background:#f6f9fa;border-radius:7px;color:#183b53;font-size:15px;min-height:46px}.calc-card button{width:100%;justify-content:space-between}.calc-card .button{background:#183b53}.calc-card strong{letter-spacing:-.04em}
.detail-grid{gap:18px;margin-top:40px}.detail-grid article{padding:27px;border:1px solid #dce5e9;border-radius:12px;background:#fff;box-shadow:none}.detail-grid article h3{font-size:23px;line-height:1.3;letter-spacing:-.03em}.detail-grid p,.detail-points{font-size:14px;line-height:1.8}.detail-grid article>a{font-size:14px;color:#183b53}.detail-number{color:#7c929d}.detail-grid article>b{font-size:23px;letter-spacing:-.035em}
.case-grid{gap:18px;margin-top:40px}.case{background:white;border:1px solid #e0e7eb;border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s}.case:hover{transform:translateY(-4px);box-shadow:0 16px 28px #153b5010}.case-visual,.case-large .case-visual{height:260px}.case-visual img{transition:transform .7s;filter:saturate(.8)}.case:hover .case-visual img{transform:scale(1.035)}.case-tag{font-size:11px;border-radius:5px;background:#ffffffed!important;color:#25485b!important;padding:8px 10px}.case-info{padding:24px}.case-info h3{font-size:22px;line-height:1.3;letter-spacing:-.03em}.case-info p{font-size:13px;line-height:1.7}.case-info a{font-size:14px}
.about{padding:65px 5%;background:#eaf0f3;gap:32px;border-block:1px solid var(--line)}.about-shape{color:#728e6a;text-shadow:none;font-size:90px}.about-text{font-size:15px}
.trust-grid{gap:20px;margin-top:40px}.trust-grid article{border:1px solid var(--line);border-radius:12px;padding:26px;background:#f7f9fa}.trust-grid strong{font-size:43px;letter-spacing:-.05em;color:#173b53}.trust-grid span{font-size:14px;color:#627781}.review-row{gap:24px}.review-row blockquote{font-size:19px;line-height:1.75;padding:30px;border-radius:12px;background:#f2f6f8}.review-row cite{font-size:13px}.certificate{border:1px solid var(--line);border-radius:12px;background:white}.certificate b{font-size:16px}.certificate small{font-size:13px}.certificate>span{background:#e4edda;color:#567b36;border-radius:50%}
.contact{background:#16364b;color:#fff;gap:46px}.contact h2 em{color:#d5ed9d}.contact .eyebrow{color:#b4c7d1}.contact>div>p:not(.eyebrow){color:#c2d1d9}.contact-links a{color:#fff;font-size:20px}.question-form{background:#fff;padding:28px;border-radius:12px;color:#183b53;box-shadow:0 18px 35px #0d273326}.question-form input:not([type=checkbox]),.question-form select,.question-form textarea{background:#f5f8fa;border:1px solid #dbe4e9;border-radius:7px;font-size:15px;color:#183b53;padding:14px;min-width:0}.question-form .consent{font-size:12px;color:#647884}.question-form .button{background:#183b53}.form-row{gap:12px}
.price-grid{gap:18px;margin-top:40px}.price-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:29px;box-shadow:none}.price-grid article.price-featured{background:#183b53;color:#fff}.price-grid article.price-featured p{color:#c8d9e2}.price-grid strong{font-size:29px;letter-spacing:-.045em}.price-grid article>span{font-size:12px;letter-spacing:.12em}.price-grid p{font-size:14px;line-height:1.9}.price-grid a{font-size:14px}
.dev-hero{border:1px solid #dce6ea;border-radius:14px;background:#f1f6f8;padding:36px;gap:36px;box-shadow:none}.dev-label{color:#496b7d;font-size:12px;letter-spacing:.12em}.dev-copy h3{font-size:29px;line-height:1.3;letter-spacing:-.035em}.dev-copy p{font-size:16px;line-height:1.8}.dev-qr{border-radius:10px;background:white;padding:18px;box-shadow:0 5px 20px #254b6510}.dev-qr span{font-size:12px}
.dev-products{gap:20px}.dev-products article{border:1px solid var(--line);border-radius:12px;background:#fff;padding:28px}.dev-product-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#edf3f6;color:#315970}.dev-products h3{font-size:22px;letter-spacing:-.02em}.dev-products p,.dev-products li{font-size:14px;line-height:1.85}.dev-download{font-size:13px!important;border-radius:7px}.dev-download.disabled{color:#526b7b;background:#ecf1f4;border:1px solid #dce5eb}
.tariff-head{margin-top:50px}.tariff-head h3{font-size:27px;letter-spacing:-.035em}.tariff-head p{font-size:14px}.tariff-grid{gap:18px}.tariff-card{border:1px solid var(--line);border-radius:12px;padding:28px;background:white}.tariff-card.featured{border-color:#183b53;background:#183b53;color:white;box-shadow:0 12px 26px #183b5318}.tariff-card.featured p,.tariff-card.featured li,.tariff-card.featured small{color:#cbdbe3}.tariff-card .tariff-name{font-size:12px;letter-spacing:.12em}.tariff-card strong{font-size:39px;letter-spacing:-.045em;white-space:nowrap}.tariff-card strong small{font-size:12px;letter-spacing:0}.tariff-card p,.tariff-card li{font-size:14px;line-height:1.8}.tariff-badge{border-radius:5px;font-size:10px;background:#d5ed9d;color:#183b53;letter-spacing:.025em}
.socials{background:#f3f7f9;gap:34px}.socials:before{display:none}.social-links a{border:1px solid #dce5eb;border-radius:9px;background:white;padding:20px;font-size:15px}.social-links b{border-radius:7px;background:#e9f0f4;color:#315970;font-size:14px}.social-links small{font-size:12px}
footer{background:#fff;padding:30px 5%;border-top:1px solid var(--line);gap:24px}footer p,footer a{font-size:12px;color:#617987}
@media(min-width:1001px) and (max-width:1200px){.top .ticker span:nth-child(n+3){display:none}header nav{gap:16px}header{gap:20px}.hero{gap:26px}.hero h1{font-size:43px}.hero-art{min-height:440px}.trust{gap:8px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service,.service:nth-child(4),.service:nth-child(5){grid-column:auto;min-height:320px}.service:last-child{grid-column:span 2}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-large{grid-column:span 2}.case-large .case-visual{height:320px}.tariff-grid{grid-template-columns:1fr}.tariff-card{display:block}.detail-grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){:root{--sidebar-space:0px}body{padding-left:0}.sidebar-brand{display:none}.top{padding-inline:5%;font-size:11px}.top .ticker span:nth-child(n+3){display:none}header{height:76px;gap:22px;padding-inline:5%;position:relative;z-index:41}header nav{display:none}header .logo{flex:1}.header-btn{font-size:13px}.menu{display:block;border-radius:8px;width:42px;height:42px;background:#183b53}.side-menu{display:block!important;position:fixed;top:0;bottom:0;left:0;width:min(310px,86vw);height:100dvh;z-index:60;padding:20px 18px 32px;background:#f7f9fa;border-right:1px solid #dce5e9;transform:translateX(-105%);transition:transform .3s ease;box-shadow:12px 0 40px #142a3b15;visibility:hidden}.side-menu.is-open{transform:translateX(0);visibility:visible}.side-menu .side-link{font-size:15px;min-height:48px}.menu-open{overflow:hidden}.menu-open .menu-backdrop{display:block;position:fixed;inset:0;z-index:50;background:#142a3b66;backdrop-filter:blur(3px);border:0}.hero{padding:45px 5% 64px;gap:28px;min-height:590px}.hero h1{font-size:clamp(38px,5.2vw,54px)}.hero-art{min-height:435px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service,.service:nth-child(4),.service:nth-child(5){grid-column:auto;min-height:310px}.service:last-child{grid-column:span 2}.detail-grid{grid-template-columns:1fr}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-large{grid-column:span 2}.case-large .case-visual{height:310px}.calculator{gap:28px}.section-head-row{flex-direction:column;gap:22px}.section-note{max-width:560px}.about{grid-template-columns:80px 1fr}.about-text{grid-column:2}.contact{gap:30px}.tariff-grid{grid-template-columns:1fr}.dev-hero{grid-template-columns:minmax(0,1fr) 180px;padding:26px}.dev-products{grid-template-columns:1fr}.socials{grid-template-columns:1fr}}
@media(max-width:650px){.top{height:32px;justify-content:center;padding:0 18px}.top .ticker{display:none}.top a{font-size:10px}.top a:last-child{display:none}header{height:70px;padding-inline:20px}.header-btn{font-size:12px}.header-btn b{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;padding:38px 22px 54px;gap:38px}.hero h1{font-size:clamp(35px,8.6vw,53px);line-height:1.13;letter-spacing:-.05em}.hero .eyebrow{font-size:10px;max-width:280px}.lead{font-size:15px}.hero-proof{font-size:11px;gap:12px}.hero-art{height:390px;min-height:390px;margin:0 5px}.photo-caption{bottom:75px;left:22px}.photo-caption b{font-size:25px}.hero-art .ring{display:none}.actions{gap:20px}.button{font-size:13px;padding:15px 18px}.text-link{font-size:13px}.trust{gap:9px;flex-wrap:nowrap}.trust strong{font-size:22px;margin-left:3px}.trust span{font-size:9px}.process,.services,.works,.trust-section,.service-details,.price-list,.developments,.contact,.socials,.calculator{padding:56px 22px}.section-head h2,.contact h2,.socials h2,.about h2,.calculator h2{font-size:34px;line-height:1.18}.eyebrow{font-size:11px;margin-bottom:16px}.steps{gap:24px 18px;margin-top:30px}.steps p{font-size:14px}.steps h3{font-size:17px}.step-icon{height:58px}.service-grid,.case-grid,.price-grid,.trust-grid{grid-template-columns:1fr}.service,.service:nth-child(4),.service:nth-child(5),.case-large{grid-column:auto}.service:last-child{grid-column:auto}.service{min-height:300px}.case-visual,.case-large .case-visual{height:285px}.calculator{grid-template-columns:1fr}.calc-card{padding:24px}.detail-grid article{padding:24px}.about{padding:48px 22px;grid-template-columns:1fr;gap:14px}.about-shape{display:none}.about-text{grid-column:auto}.review-row{grid-template-columns:1fr}.review-row blockquote{font-size:17px;padding:25px;margin:0}.contact{grid-template-columns:1fr}.contact-links a{font-size:19px}.question-form{padding:22px}.form-row{grid-template-columns:1fr}.dev-hero{grid-template-columns:1fr;padding:24px;gap:24px}.dev-copy h3{font-size:27px}.dev-qr{width:170px;justify-self:start}.dev-products article,.tariff-card{padding:25px}.tariff-grid{gap:25px}.tariff-card strong{font-size:40px}.tariff-head h3{font-size:25px}.social-links a{padding:16px}.social-links{min-width:0}footer{padding:28px 22px;flex-direction:column;align-items:flex-start;gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Company identity and legal details. */
.services .service-grid .service{grid-column:auto}
.tls-mark .tls-wordmark::after{content:none}
footer{flex-wrap:wrap}
footer .legal-details{width:100%;display:block;border-top:1px solid var(--line);padding-top:18px}
footer .legal-details p{font-size:14px;line-height:1.65;margin:0;overflow-wrap:anywhere}
footer .legal-details span{padding-inline:8px}
/* Turnkey installation and the customer's original letter. */
.process .steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:42px}
.turnkey-overview{margin-top:64px;padding-top:46px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px 54px}
.turnkey-intro h3,.appreciation-copy h3{font-size:clamp(26px,2.6vw,38px);line-height:1.2;letter-spacing:-.035em;margin:0 0 22px}
.turnkey-intro>p:last-child,.appreciation-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#526b7b}
.turnkey-benefits h3,.turnkey-applications h3{font-size:20px;margin:0 0 22px}
.turnkey-benefits dl{margin:0;display:grid;gap:20px}
.turnkey-benefits dl>div{padding-left:18px;border-left:2px solid #a7bcce}
.turnkey-benefits dt{font-weight:700;font-size:16px;margin-bottom:5px}
.turnkey-benefits dd{margin:0;font-size:15px;line-height:1.65;color:#526b7b}
.turnkey-applications,.turnkey-cta{grid-column:1/-1}
.turnkey-applications ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}
.turnkey-applications li{padding:12px 16px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff}
.turnkey-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-top:1px solid var(--line)}
.turnkey-cta p{font-size:19px;font-weight:700;margin:0}
.turnkey-cta p span{display:block;font-size:15px;font-weight:400;line-height:1.6;color:#526b7b;margin-top:8px;max-width:570px}
.turnkey-cta .button{flex-shrink:0}
.appreciation{display:grid;grid-template-columns:1fr minmax(260px,420px);align-items:center;gap:60px;margin-top:48px;padding-top:42px;border-top:1px solid var(--line)}
.appreciation-copy blockquote{margin:26px 0;padding:0 0 0 22px;border-left:3px solid #9fb4c6;font-size:21px;line-height:1.6;color:#183b53}
.appreciation-copy .appreciation-source{font-size:14px!important}
.appreciation-document{margin:0;min-width:0}
.appreciation-document>a{display:block;background:#fff;padding:10px;border:1px solid #dce5e9;border-radius:8px;box-shadow:0 16px 40px #19384a12;transition:transform .2s;cursor:zoom-in}
.appreciation-document>a:hover{transform:translateY(-3px)}
.appreciation-document img{display:block;width:100%;height:auto;border-radius:2px}
.appreciation-document figcaption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px;line-height:1.5;margin-top:16px;color:#526b7b}
.appreciation-document figcaption span{color:#183b53}
@media(max-width:1100px){.turnkey-overview{gap:32px}.turnkey-cta{align-items:flex-start;flex-direction:column}.appreciation{gap:32px;grid-template-columns:1fr minmax(240px,340px)}}
@media(max-width:750px){.process .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.turnkey-overview,.appreciation{grid-template-columns:1fr}.appreciation-document{width:min(100%,420px);justify-self:center}.turnkey-overview{margin-top:40px;padding-top:32px}.appreciation{gap:26px}.turnkey-cta .button{max-width:100%}}
@media(max-width:420px){.process .steps{grid-template-columns:1fr}}
.tariff-card h4{font-size:16px;line-height:1.4;margin:26px 0 12px;padding-top:18px;border-top:1px solid #8b9eae40}
.tariff-card ul{margin:0;padding-left:18px}
.tariff-card li{font-size:14px;line-height:1.65;margin-bottom:12px}
.tariff-card>p{font-size:15px;line-height:1.7}
.tariff-card .tariff-detail-note{font-size:14px;line-height:1.65}
.tariff-conditions{margin-top:30px;padding:26px 30px;border:1px solid var(--line);border-radius:12px;background:#fff}
.tariff-conditions h4{margin:0 0 16px;font-size:19px}
.tariff-conditions p{font-size:14px;line-height:1.75;color:#526b7b;margin:12px 0}
/* A gentle accent for our own development tools; no layout movement. */
.side-menu .side-link[data-mode="developments"]{color:#354b7d}
.side-menu .side-link[data-mode="developments"]>span:last-child{font-weight:750}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .side-menu .side-link[data-mode="developments"]>span:last-child{
    background-image:linear-gradient(110deg,#25485b 0%,#3d518c 25%,#76529b 42%,#247b82 58%,#3d518c 75%,#25485b 100%);
    background-size:250% 100%;
    background-clip:text;-webkit-background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
    animation:tls-magic-text 8s ease-in-out infinite;
  }
  .side-menu .side-link[data-mode="developments"].active>span:last-child{
    background-image:linear-gradient(110deg,#fff 0%,#d6e5ff 25%,#e4cfff 42%,#b9f3e8 58%,#d6e5ff 75%,#fff 100%);
  }
}
.side-menu .side-link[data-mode="developments"] .side-icon{
  color:#59649c;animation:tls-magic-glow 6s ease-in-out infinite;
}
.side-menu .side-link[data-mode="developments"].active{color:#fff}
.side-menu .side-link[data-mode="developments"].active .side-icon{color:#d5ed9d}
@keyframes tls-magic-text{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes tls-magic-glow{0%,100%{filter:drop-shadow(0 0 1px #7d74b51a)}50%{filter:drop-shadow(0 0 5px #817bc866)}}
@media(prefers-reduced-motion:reduce){
  .side-menu .side-link[data-mode="developments"]>span:last-child,
  .side-menu .side-link[data-mode="developments"] .side-icon{animation:none!important;filter:none}
}
@media(forced-colors:active){
  .side-menu .side-link[data-mode="developments"]>span:last-child{background:none;color:LinkText;-webkit-text-fill-color:LinkText;animation:none}
  .side-menu .side-link[data-mode="developments"] .side-icon{animation:none;filter:none}
}
/* Installation price list: consistent service names and right-aligned amounts. */
.installation-prices{margin:38px 0 0;background:#fff;border:1px solid #dce5e9;border-radius:16px;overflow:hidden;box-shadow:0 10px 32px #19384a06}
.installation-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding:28px 30px;transition:background .25s}
.installation-price-row+.installation-price-row{border-top:1px solid #e5ebef}
.installation-price-row:hover{background:#f5f8fa}
.installation-price-row dt{display:flex;align-items:center;gap:22px;font-size:18px;font-weight:600;line-height:1.5;max-width:650px}
.installation-price-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;background:#edf3f6;border-radius:12px;color:#315c73}
.installation-price-icon .ui-icon{width:25px;height:25px}
.installation-price-row dd{margin:0;text-align:right}
.installation-price-amount{display:block;white-space:nowrap;font-size:32px;line-height:1.2;letter-spacing:-.04em;font-weight:700;color:#183b53;font-variant-numeric:tabular-nums}
.installation-price-amount small{font-size:15px;font-weight:500;letter-spacing:0;color:#637c8b}
.installation-price-unit{display:block;font-size:14px;color:#637c8b;margin-top:7px}
.installation-price-note{font-size:14px;line-height:1.75;color:#637c8b;max-width:760px;margin:22px 0 0}
.side-menu .side-link[data-mode="price"]>span:last-child{white-space:normal}
@media(max-width:650px){.installation-price-row{padding:22px 20px;gap:15px}.installation-price-row dt{font-size:16px;gap:14px}.installation-price-icon{flex-basis:38px;width:38px;height:38px}.installation-price-amount{font-size:26px}}
@media(max-width:480px){.installation-price-row{grid-template-columns:1fr}.installation-price-row dd{text-align:left;padding-left:52px}.installation-price-unit{display:inline-block;margin:0 0 0 10px}.installation-price-amount{display:inline-block}}
