:root{--purple:#6245dc;--ink:#202039;--muted:#6a6c7e;--line:#e8e8f0;--light:#f7f7fc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;font-family:"Nirmala UI","Mangal",system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.65;background:white}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #aa95ff;outline-offset:4px}header{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 35px;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:800;line-height:1.3;letter-spacing:-.8px}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted);margin-top:5px}.brand-purple{color:var(--purple)}.brand-icon{display:inline-flex;width:44px;height:44px;background:var(--purple);border-radius:13px;color:white;font-family:Arial;align-items:center;justify-content:center;position:relative;font-size:31px}.brand-icon span{position:absolute;color:#b4ffd5;right:-3px;bottom:-3px;font-size:21px}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a:hover{color:var(--purple)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--purple);background:var(--purple);color:white;border-radius:9px;padding:12px 23px;font-size:15px;font-weight:650;transition:transform .2s,background .2s}.btn:hover{background:#5033cb;transform:translateY(-2px)}.btn.small{padding:10px 19px}.btn.outline{background:white;color:var(--ink);border-color:#dedce9}.btn.outline:hover{background:#f5f1ff}.btn.full{width:100%;margin-top:15px}.play{font-size:21px;line-height:1}.hero{max-width:1240px;margin:auto;padding:70px 35px 75px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:75px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.3px;color:var(--purple);margin-bottom:15px}.eyebrow span{display:inline-block;width:7px;height:7px;background:var(--purple);border-radius:50%;margin-right:8px}h1{font-size:clamp(38px,4.1vw,57px);line-height:1.32;letter-spacing:-1.4px;margin:0 0 24px;font-weight:800}h1 em{font-style:normal;color:var(--purple)}.hero-copy>p{font-size:18px;color:var(--muted);max-width:500px;margin:0 0 30px}.hero-actions{display:flex;gap:12px}.hero-tags{display:flex;flex-wrap:wrap;gap:21px;font-size:13px;color:#69677c;margin-top:26px}.hero-demo{position:relative;background:white;border:1px solid #e4e1ee;box-shadow:0 20px 65px #54449018;border-radius:15px;transform:rotate(1deg)}.demo-top{padding:16px 22px;background:#f7f5ff;border-radius:15px 15px 0 0;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700}.mini-icon{color:var(--purple);font-size:21px;margin-right:7px}.pill{display:inline-block;border:1px solid #e0d8fd;color:var(--purple);padding:3px 10px;border-radius:5px;font-size:12px;font-weight:600;background:#f9f7ff}.demo-content{padding:19px 24px 25px}.demo-steps{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:var(--purple);margin-bottom:20px}.demo-steps b{display:flex;align-items:center;gap:7px}.demo-steps i{height:1px;background:#d9d3ed;width:35px}.demo-steps .faded{color:#a5a3b2}label{display:block;font-size:13px;color:#545467;margin:11px 0 5px;font-weight:600}input,select,.fake-input{border:1px solid #e0e0e9;border-radius:6px;padding:9px 12px;width:100%;background:white;font-size:14px;color:var(--ink);min-height:43px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.document-preview{background:#fcfcfe;border:1px solid var(--line);padding:18px 22px;margin-top:20px;position:relative;font-size:12px}.paper-label{color:#9390a2;font-size:11px}.document-preview h3{text-align:center;margin:12px 0;font-size:15px}.document-preview p{margin:12px 0;line-height:1.8}.sample-stamp{position:absolute;right:15px;bottom:12px;color:#bcb4d4;border:1px solid #ddd7ed;transform:rotate(-12deg);padding:2px 9px}.float-note{position:absolute;bottom:40px;right:-33px;display:flex;gap:10px;align-items:center;border:1px solid #e7e7ee;box-shadow:0 10px 25px #2222220c;background:white;padding:12px 16px;border-radius:9px;transform:rotate(-1deg);font-size:12px}.float-note>span{background:#e8f8ef;color:#278150;border-radius:50%;width:30px;height:30px;text-align:center;line-height:30px}.float-note small{display:block;color:var(--muted);font-size:11px}.services{background:var(--light);padding:58px max(35px,calc((100vw - 1170px)/2)) 65px;border-top:1px solid var(--line)}.section-heading h2,h2{font-size:30px;line-height:1.45;letter-spacing:-.5px;margin:0 0 10px}.section-heading>p{color:var(--muted);margin:0;font-size:15px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 26px}.filter-bar button{border:1px solid #e3e2ee;background:white;color:#656278;padding:8px 17px;border-radius:7px;font-size:14px}.filter-bar button.active{background:var(--purple);border-color:var(--purple);color:white}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:white;border:1px solid var(--line);border-radius:12px;padding:23px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #2920460d}.service-icon{width:47px;height:47px;background:var(--tint,#f0ebff);color:var(--accent,var(--purple));display:grid;place-items:center;border-radius:11px;margin-bottom:17px}.service-icon svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:18px;line-height:1.45;margin:0 0 2px}.service-card .english{font-size:12px;color:#9993a6;margin-bottom:12px}.service-card p{font-size:14px;color:var(--muted);margin:0 0 18px;line-height:1.7}.service-card button{border:0;border-top:1px solid #f0eef5;background:white;color:var(--purple);padding:13px 0 0;text-align:left;font-size:14px;font-weight:650;margin-top:auto;display:flex;justify-content:space-between;align-items:center}.service-card button span{font-size:18px}.process{max-width:1240px;padding:60px 35px;margin:auto}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:35px}.process-grid article>span{font-size:15px;color:var(--purple);border:1px solid #e5dffd;background:#f5f1ff;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:750}.process-grid h3{font-size:18px;margin:17px 0 8px}.process-grid p{font-size:14px;color:var(--muted);margin:0}.other{background:#fbfbfe;border-block:1px solid var(--line);padding:50px max(35px,calc((100vw - 1170px)/2));display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center}.other>div>p{color:var(--muted);font-size:15px}.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.other-grid button{display:flex;gap:10px;align-items:center;text-align:left;background:white;border:1px solid var(--line);border-radius:8px;padding:14px 10px;font-size:13px;color:var(--ink)}.other-grid button:hover{border-color:#bcb0ee}.other-grid svg{width:19px;height:19px;stroke:var(--purple);fill:none;stroke-width:1.7;flex-shrink:0}.questions{max-width:1240px;padding:65px 35px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{font-size:16px;font-weight:600;cursor:pointer}.faq p{font-size:14px;color:var(--muted);margin-bottom:0}.closing{margin:0 auto 60px;max-width:1170px;background:#5c3bd4;color:white;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:37px 40px;border-radius:13px}.closing h2{font-size:24px}.closing p{margin:0;color:#dfd6ff;font-size:14px}.btn.white{background:white;color:var(--purple);border-color:white;flex-shrink:0}footer{border-top:1px solid var(--line);max-width:1240px;margin:auto;padding:28px 35px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:12px}footer .brand{font-size:24px}footer .brand-icon{width:34px;height:34px;font-size:25px}dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(940px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 24px 90px #22222233}dialog::backdrop{background:#16122699;backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:23px 28px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:23px;margin:0}.modal-header .eyebrow{font-size:12px;margin:0}.close{background:#f4f2fa;border:0;border-radius:50%;width:38px;height:38px;font-size:26px;color:#625972}.modal-body{display:grid;grid-template-columns:.9fr 1.1fr;padding:26px;gap:32px}.modal-body aside{font-size:14px;color:var(--muted)}.modal-body aside h3{font-size:15px;color:var(--ink);margin:20px 0 8px}.modal-body ol,.modal-body ul{padding-left:22px}.modal-body li{margin-bottom:7px}.notice{background:#f5f2ff;color:#6b5899;padding:13px;border-radius:7px;font-size:12px;margin-top:20px}.demo-workspace{background:var(--light);padding:20px;border-radius:10px;border:1px solid var(--line)}.workspace-tabs{display:flex;gap:8px;margin-bottom:20px}.workspace-tabs button{font-size:13px;border:1px solid var(--line);border-radius:6px;padding:8px;background:white;color:#777}.workspace-tabs .active{background:#eae3ff;color:var(--purple);border-color:#dcd0ff}.demo-workspace label{font-size:14px;margin-top:15px}.demo-workspace input,.demo-workspace select{font-size:16px}#demo-form .btn{margin-top:27px}.output-sheet{padding:24px;background:white;border:1px solid var(--line);min-height:265px;text-align:center}.output-sheet h3{font-size:21px;margin:20px 0}.output-sheet p{font-size:16px;margin:10px 0}.output-sheet #output-details{font-size:13px;color:var(--muted);padding-top:15px;border-top:1px solid var(--line)}#output-icon{font-size:40px;margin-top:10px}.preview-note{font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1500px){.services,.other{padding-left:calc((100vw - 1170px)/2);padding-right:calc((100vw - 1170px)/2)}}@media(max-width:1000px){nav{gap:17px}.hero{gap:35px;padding-top:45px}.float-note{right:-10px}.service-grid{grid-template-columns:repeat(2,1fr)}.other{gap:30px}.other-grid{grid-template-columns:repeat(2,1fr)}.closing{margin-inline:35px}.process-grid{gap:20px}footer>span{display:none}}@media(max-width:700px){header{height:80px;padding:0 20px}header nav{display:none}.brand{font-size:24px}.brand small{font-size:10px}.btn.small{font-size:13px;padding:8px 14px}.hero{grid-template-columns:1fr;padding:35px 20px 50px;gap:35px}h1{font-size:39px}.hero-copy>p{font-size:16px}.hero-demo{max-width:470px;width:100%;margin:auto;transform:none}.float-note{right:8px;bottom:48px}.hero-tags{font-size:12px;gap:12px}.hero-actions .btn{padding:11px 17px}.services{padding:36px 20px}.section-heading h2,h2{font-size:25px}.service-grid{gap:12px}.service-card{padding:17px}.service-card h3{font-size:17px}.service-card p{font-size:13px}.filter-bar{gap:6px}.filter-bar button{padding:7px 11px;font-size:12px}.process{padding:38px 20px}.process-grid{grid-template-columns:repeat(2,1fr);gap:25px}.other{padding:35px 20px;grid-template-columns:1fr;gap:15px}.other-grid{grid-template-columns:repeat(2,1fr)}.questions{padding:38px 20px;grid-template-columns:1fr;gap:10px}.questions h2 br{display:none}.closing{margin:0 20px 35px;padding:25px;align-items:flex-start;flex-direction:column}.closing h2{font-size:22px}.closing .btn{font-size:14px}footer{padding:25px 20px;flex-wrap:wrap;gap:8px}footer p{margin:5px 0}.modal-header{padding:17px}.modal-header h2{font-size:20px}.modal-body{grid-template-columns:1fr;padding:17px;gap:20px}.modal-body aside>p{margin-top:0}.modal-body aside ol{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.modal-body aside h3{margin-top:13px}.demo-workspace{padding:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{body>*:not(dialog){display:none!important}dialog{position:static;display:block!important;max-height:none;width:100%;border:0;box-shadow:none}.modal-header,.modal-body aside,.workspace-tabs,#demo-form,#print-sample,.preview-note{display:none!important}.modal-body{display:block;padding:0}.demo-workspace{background:white;border:0;padding:0}#sample-output{display:block!important}.output-sheet{border:1px solid #aaa;margin:30px;text-align:center;min-height:450px}}

.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{padding:0 22px 21px;overflow:hidden}.service-card .preview-image-button{margin:0 -22px 20px;width:calc(100% + 44px);padding:0;border:0;border-bottom:1px solid var(--line);background:#efedf8;display:block;position:relative}.service-preview-image{display:block;width:100%;height:auto}.preview-image-button:hover img{filter:brightness(.97)}.service-card .preview-image-button .image-caption,.image-caption{display:block;font-size:12px;color:var(--purple);padding:6px 10px;background:#f7f4ff;text-align:center;font-weight:600}.other{display:block}.other-grid{margin-top:25px;grid-template-columns:repeat(3,1fr);gap:20px}.other-card{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.other-grid .preview-image-button{display:block;padding:0;border:0;border-radius:0;width:100%}.other-grid .other-demo-button{width:100%;border:0;border-radius:0;padding:16px 18px;font-size:16px;font-weight:600}.other-demo-button .play{margin-left:auto;color:var(--purple)}#image-dialog{width:min(1080px,95vw)}#large-preview{width:100%;height:auto;max-height:66vh;object-fit:contain;display:block;background:#efedf8}.image-dialog-footer{padding:17px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.image-dialog-footer p{font-size:14px;color:var(--muted);margin:0}@media(max-width:1000px){.service-grid,.other-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.service-grid,.other-grid{grid-template-columns:1fr}.service-card{padding:0 20px 20px}.service-card .preview-image-button{margin:0 -20px 19px;width:calc(100% + 40px)}.service-card h3{font-size:21px}.service-card p{font-size:15px}.service-card .english{font-size:14px}.service-card .service-icon{width:42px;height:42px;margin-bottom:10px}.service-card button{font-size:16px}.image-dialog-footer{padding:14px}.image-dialog-footer p{font-size:12px}.image-dialog-footer .btn{font-size:13px;padding:9px 13px}}

@media print{#image-dialog{display:none!important}}
/* Compact gallery: three photo demos per row. */
.service-grid,.other-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.service-card{padding:0 14px 12px;min-width:0;border-radius:9px}
.service-card .preview-image-button{width:calc(100% + 28px);margin:0 -14px 10px}
.service-card>.service-icon,.service-card>.english,.service-card>p{display:none}
.service-card h3{font-size:17px;line-height:1.5;margin:0 0 8px}
.service-card>button:not(.preview-image-button){padding-top:8px;font-size:14px}
.service-card .preview-image-button .image-caption,.image-caption{padding:4px 7px;font-size:12px}
.other-grid .other-demo-button{padding:10px 12px;font-size:15px;gap:8px}
@media(max-width:700px){.services,.other{padding-left:12px;padding-right:12px}.service-grid,.other-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service-card{padding:0 7px 8px}.service-card .preview-image-button{width:calc(100% + 14px);margin:0 -7px 8px}.service-card h3{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.service-card>button:not(.preview-image-button){font-size:12px;padding-top:6px}.service-card .preview-image-button .image-caption,.image-caption{font-size:12px;padding:4px;line-height:1.4}.other-grid .other-demo-button{font-size:12px;padding:8px 6px;gap:4px;flex-wrap:wrap;line-height:1.5}.other-grid .other-demo-button svg{display:none}.other-demo-button .play{font-size:14px}.service-card .service-preview-image,.other-card .service-preview-image{aspect-ratio:1/1;object-fit:contain}}
/* Larger previews use the available screen width. */
.services,.other{padding-left:24px;padding-right:24px}
.service-grid,.other-grid{gap:20px}
.service-preview-image{width:100%;height:auto;aspect-ratio:1/1}
#image-dialog{width:98vw;max-width:1600px;max-height:96vh}
#image-dialog .modal-header{position:sticky;top:0;background:white;z-index:1;padding:14px 24px}
#large-preview{width:100%;height:auto;max-height:none;object-fit:contain}
#image-dialog .image-dialog-footer{position:sticky;bottom:0;background:white;border-top:1px solid var(--line);padding:12px 24px}
@media(min-width:1500px){.services,.other{padding-left:30px;padding-right:30px}}
@media(max-width:700px){.services,.other{padding-left:8px;padding-right:8px}.service-grid,.other-grid{gap:6px}#image-dialog{width:99vw;max-height:97vh;border-radius:8px}#image-dialog .modal-header{padding:12px}#image-dialog .modal-header h2{font-size:16px}#image-dialog .image-dialog-footer{padding:10px}#large-preview{width:100%}#image-dialog{overflow:auto}}

.service-card .service-link-button,.other-card .service-link-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:0;padding:10px 12px;border:1px solid var(--purple);border-radius:7px;background:var(--purple);color:white;text-align:center;font-size:16px;font-weight:650;line-height:1.5;text-decoration:none}.other-card .service-link-button{width:calc(100% - 24px);margin:12px}.service-link-button:not(:disabled):hover{background:#5135c7}.service-card .service-link-button:disabled,.other-card .service-link-button:disabled{background:#ede7ff;color:#6045bb;border-color:#dcd1f8;cursor:default}.service-card .preview-image-button{margin-bottom:12px}@media(max-width:700px){.service-card .service-link-button,.other-card .service-link-button{font-size:13px;padding:8px 4px;min-height:44px}.other-card .service-link-button{width:calc(100% - 12px);margin:6px}}

:root{--purple:#1857a6;--ink:#172c45;--muted:#627184;--line:#dfe6ee;--light:#f4f7fb}header{max-width:none;padding-left:30px;padding-right:30px;background:white;height:86px}.brand-icon{border-radius:7px}.brand small{font-size:13px}.services{background:#f4f7fb;border-top:3px solid #1857a6}.eyebrow{letter-spacing:.8px}.service-card,.other-card{border-radius:5px;border-color:#d5dfeb;box-shadow:0 3px 12px #193a6010}.service-card .service-link-button,.other-card .service-link-button{border-radius:4px;background:#1857a6;border-color:#1857a6}.service-card .service-link-button:disabled,.other-card .service-link-button:disabled{background:#e6edf6;color:#345a83;border-color:#cfdaea}.service-preview-image{object-fit:contain;background:white}.service-card .service-preview-image,.other-card .service-preview-image{height:auto;aspect-ratio:1/1;object-fit:contain}.closing{background:#163d70;border-radius:5px}.closing p{color:#d1dfef}.filter-bar button{border-radius:4px}footer{max-width:none;padding-inline:30px}.admin-main{max-width:1200px;margin:auto;padding:40px 25px}.admin-main h1{font-size:34px;margin-bottom:12px}.admin-layout{display:grid;grid-template-columns:380px 1fr;gap:25px;margin-top:30px}.admin-panel{padding:25px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.admin-panel label{font-size:15px}.admin-panel input,.admin-panel select{font-size:16px}.admin-preview{width:100%;max-height:650px;object-fit:contain;background:white}.admin-hint{font-size:13px;color:var(--muted)}#admin-status{font-size:14px;color:#1857a6;min-height:24px}.admin-panel button:disabled{opacity:.65;cursor:default}@media(max-width:700px){header{padding-inline:15px}.admin-layout{grid-template-columns:1fr}.admin-main{padding:25px 15px}.admin-main h1{font-size:26px}.admin-panel{padding:17px}}
/* Three service frames in every row. */
.service-grid,.other-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.service-grid,.other-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.service-navigation{gap:10px;padding:16px;background:white;border:1px solid var(--line);border-radius:5px}.service-navigation button{min-height:44px;font-size:14px;font-weight:600;padding:9px 16px}.service-grid.single-frame{grid-template-columns:minmax(0,760px);justify-content:center}.service-grid.single-frame .service-link-button{font-size:18px}.service-navigation button:hover{border-color:#1857a6;color:#1857a6}.service-navigation button.active:hover{color:white}@media(max-width:700px){.service-navigation{gap:7px;padding:10px}.service-navigation button{padding:8px 11px;font-size:13px}.service-grid.single-frame{grid-template-columns:minmax(0,1fr)}}

.service-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}.service-navigation button{background:var(--service-color);color:white;border:2px solid transparent;min-height:82px;border-radius:8px;text-align:left;display:flex;align-items:center;gap:10px;padding:12px;font-size:14px;line-height:1.5;box-shadow:0 3px 7px #22395412}.service-navigation .nav-number{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid #ffffff66;border-radius:6px;background:#ffffff1c;font-size:12px;font-weight:700}.service-navigation .nav-label{overflow-wrap:anywhere}.service-navigation button:hover{background:var(--service-color);color:white;border-color:#ffffff90;filter:brightness(1.07)}.service-navigation button.active{background:var(--service-color);color:white;border-color:white;outline:3px solid var(--service-color);outline-offset:1px;box-shadow:0 5px 12px #22395426}.service-navigation button.active:hover{color:white}.service-navigation button:focus-visible{outline:3px solid #172c45;outline-offset:3px}@media(min-width:1200px){.service-navigation{grid-template-columns:repeat(7,minmax(0,1fr))}.service-navigation button{min-height:100px;flex-direction:column;align-items:flex-start;gap:8px}}@media(max-width:700px){.service-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.service-navigation button{min-height:78px;font-size:13px;padding:10px;gap:8px}.service-navigation .nav-number{width:25px;height:25px;font-size:12px}}

.csc-poster{position:relative;overflow:hidden;margin:0 0 30px;border-radius:12px;background:#163c89;box-shadow:0 12px 32px #19448220;aspect-ratio:3/1}.csc-poster img{display:block;width:100%;height:100%;object-fit:cover;animation:poster-pan 14s ease-in-out infinite alternate;transform-origin:center}.csc-poster button{position:absolute;right:16px;bottom:14px;background:#0f2148d9;border:1px solid #ffffff77;color:white;font-size:13px;padding:7px 12px;border-radius:5px}.csc-poster.paused img{animation-play-state:paused}@keyframes poster-pan{from{transform:scale(1)}to{transform:scale(1.045) translateX(-.8%)}}@media(max-width:700px){.csc-poster{border-radius:7px;margin-bottom:20px;aspect-ratio:2.5/1}.csc-poster img{object-fit:contain}.csc-poster button{right:6px;bottom:6px;font-size:12px;padding:4px 7px}}@media(prefers-reduced-motion:reduce){.csc-poster img{animation:none}.csc-poster button{display:none}}

.csc-poster.poster-slider{width:82%;max-width:1120px;aspect-ratio:3/1;margin:0 auto 30px;position:relative}.csc-poster .poster-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:none;transform:none;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}.csc-poster .poster-slide.active{opacity:1;visibility:visible}.poster-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:7px}.poster-dots span{width:7px;height:7px;background:#ffffff66;border:1px solid #ffffffaa;border-radius:50%}.poster-dots span.active{background:white}@media(max-width:700px){.csc-poster.poster-slider{width:90%;aspect-ratio:3/1;margin-bottom:22px}.poster-dots{bottom:5px;gap:5px}.poster-dots span{width:5px;height:5px}}@media(prefers-reduced-motion:reduce){.csc-poster .poster-slide{transition:none}}
/* Full-width banner with reduced height. */
.services{padding-top:0}
.csc-poster.poster-slider{width:calc(100% + 48px);max-width:none;height:clamp(170px,20vw,290px);aspect-ratio:auto;margin:0 -24px 30px;border-radius:0;box-shadow:none}
.csc-poster .poster-slide{object-fit:fill}
@media(min-width:1500px){.csc-poster.poster-slider{width:calc(100% + 60px);margin-inline:-30px}}
@media(max-width:700px){.csc-poster.poster-slider{width:calc(100% + 16px);height:clamp(90px,23vw,150px);aspect-ratio:auto;margin:0 -8px 22px;border-radius:0}}
/* Compact buttons follow their label widths in the original order. */
.service-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:7px;padding:10px;grid-template-columns:none}
.service-navigation button{flex:0 1 auto;width:auto;max-width:100%;min-height:44px;flex-direction:row;align-items:center;gap:6px;padding:6px 10px;font-size:14px;line-height:1.35;border-width:1px;border-radius:5px;box-shadow:none}
.service-navigation .nav-number{width:22px;height:22px;border-radius:4px;font-size:12px}
.service-navigation .nav-label{white-space:nowrap;overflow-wrap:normal}
.service-navigation button.active{outline-width:2px;outline-offset:0;box-shadow:none}
@media(max-width:700px){.service-navigation{gap:6px;padding:8px}.service-navigation button{padding:6px 8px;font-size:13px;min-height:44px;gap:5px}.service-navigation .nav-label{white-space:normal}.service-navigation .nav-number{width:20px;height:20px}}

.service-navigation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;align-items:stretch}.service-navigation button{width:100%;min-width:0;min-height:62px;justify-content:flex-start;gap:5px;padding:7px;font-size:14px}.service-navigation .nav-label{white-space:normal;overflow-wrap:anywhere;min-width:0}.service-navigation .nav-number{width:20px;height:20px;font-size:12px}.service-navigation button.active{outline-width:2px}@media(min-width:900px){.service-navigation{grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(2,auto)}.service-navigation button{font-size:13px;min-height:72px;padding:6px;gap:4px}.service-navigation .nav-number{width:18px;height:18px;font-size:12px}}@media(max-width:700px){.service-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.service-navigation button{font-size:12px;min-height:64px;padding:6px;gap:4px}.service-navigation .nav-number{width:18px;height:18px;font-size:12px}}

.csc-poster .poster-slide{object-fit:cover;object-position:center}.poster-dots{gap:6px;bottom:9px}.poster-dots span{width:6px;height:6px}.poster-slider{background:#11357d}@media(max-width:700px){.poster-dots{gap:4px;bottom:5px}.poster-dots span{width:4px;height:4px}}

.csc-poster .poster-slide[src="/posters/slide-13.jpg"]{object-position:50% 40%}
/* Keep every service title and brand visible in the slim full-width frame. */
.csc-poster .poster-slide{object-fit:fill}
/* Preserve the poster's proportions and move the full-width banner upward. */
header{height:76px}
.services{border-top:0}
.csc-poster.poster-slider{height:clamp(180px,22.22vw,380px);margin-top:0}
.csc-poster .poster-slide{object-fit:cover;object-position:50% 42%}
.csc-poster .poster-slide[src="/posters/slide-13.jpg"]{object-position:50% 40%}
@media(max-width:700px){header{height:72px}.csc-poster.poster-slider{height:clamp(100px,25vw,180px)}}

.service-gallery{position:relative;overflow:hidden}.service-gallery .gallery-image-link{display:block;width:100%;text-decoration:none;color:inherit;cursor:pointer}.service-gallery .gallery-slider-viewport{width:100%;overflow:hidden;position:relative}.service-gallery .gallery-slider-track{display:flex;width:100%;transition:transform .55s cubic-bezier(0.4,0,0.2,1)!important;will-change:transform}.service-gallery .gallery-slide-item{min-width:100%;width:100%;flex:0 0 100%;display:block}.service-gallery .service-preview-image{object-fit:contain;background:#f2f5f9;display:block;width:100%;transition:filter .2s ease}.service-gallery:hover .service-preview-image{filter:brightness(.98)}.service-gallery .gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:rgba(19,40,60,0.75);color:#fff;border:1px solid rgba(255,255,255,0.4);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:6;transition:all .2s cubic-bezier(0.4,0,0.2,1);opacity:.85;padding:0;box-shadow:0 2px 8px rgba(0,0,0,0.3)}.service-gallery:hover .gallery-nav-btn{opacity:1}.service-gallery .gallery-nav-btn:hover{background:#1857a6;border-color:#fff;transform:translateY(-50%) scale(1.15);box-shadow:0 4px 12px rgba(24,87,166,0.4)}.service-gallery .gallery-nav-btn.prev{left:8px}.service-gallery .gallery-nav-btn.next{right:8px}.service-gallery .gallery-dots{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;z-index:6;background:rgba(19,40,60,0.6);padding:3px 8px;border-radius:12px;backdrop-filter:blur(4px)}.service-gallery .gallery-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.5);border:none;padding:0;cursor:pointer;transition:all .25s ease!important}.service-gallery .gallery-dot.active{background:#fff;width:16px;border-radius:4px}.service-gallery .gallery-count{position:absolute;right:9px;bottom:9px;background:rgba(19,40,60,0.85);color:#fff;border:1px solid rgba(255,255,255,0.35);border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:700;line-height:1.4;cursor:pointer;z-index:6;pointer-events:auto;transition:all .2s ease;box-shadow:0 2px 6px rgba(0,0,0,0.2)}.service-gallery .gallery-count:hover{background:#1857a6;border-color:#fff;transform:scale(1.08)}@media(max-width:700px){.service-gallery .gallery-nav-btn{width:26px;height:26px;opacity:.95}.service-gallery .gallery-nav-btn.prev{left:4px}.service-gallery .gallery-nav-btn.next{right:4px}.service-gallery .gallery-count{right:5px;bottom:5px;font-size:10px;padding:2px 5px}.service-gallery .gallery-dots{bottom:5px;padding:2px 6px;gap:4px}.service-gallery .gallery-dot{width:6px;height:6px}.service-gallery .gallery-dot.active{width:12px}}.admin-photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.admin-photo-item{padding:6px;border:1px solid #d4dfed;border-radius:6px;display:flex;flex-direction:column;gap:5px;background:white}.admin-photo-item img{width:100%;height:80px;object-fit:contain;cursor:pointer;background:#f3f6fa}.admin-photo-item span{font-size:12px;color:#627184}.admin-photo-item button{font-size:12px;padding:5px;border:1px solid #edc9ce;background:#fff4f5;color:#a42d43;border-radius:4px}.admin-photo-item.new{border-color:#75b6d9}.admin-photo-item.removed{opacity:.45;border-style:dashed}@media(max-width:700px){.admin-photo-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Small, softly colored service selectors. */
.service-navigation{gap:5px;padding:7px}
.service-navigation button{min-height:48px;padding:5px 6px;gap:4px;font-size:13px;line-height:1.3;border-radius:5px;color:var(--service-color);background:color-mix(in srgb,var(--service-color) 10%,white);border:1px solid color-mix(in srgb,var(--service-color) 24%,white);box-shadow:none}
.service-navigation .nav-number{width:17px;height:17px;font-size:12px;border-radius:3px;color:var(--service-color);background:color-mix(in srgb,var(--service-color) 15%,white);border-color:color-mix(in srgb,var(--service-color) 25%,white)}
.service-navigation button:hover,.service-navigation button.active:hover{color:var(--service-color);background:color-mix(in srgb,var(--service-color) 17%,white);border-color:var(--service-color);filter:none}
.service-navigation button.active{color:var(--service-color);background:color-mix(in srgb,var(--service-color) 20%,white);border-color:var(--service-color);outline:1px solid var(--service-color);outline-offset:0;box-shadow:none}
@media(min-width:900px){.service-navigation button{min-height:52px;font-size:13px;padding:5px;gap:3px}}
@media(max-width:700px){.service-navigation{gap:5px;padding:6px}.service-navigation button{min-height:48px;font-size:12px;padding:5px;gap:3px}.service-navigation .nav-number{width:16px;height:16px}}

.service-gallery:disabled{cursor:default}.service-gallery:disabled:hover img{filter:none}

/* Six wide service buttons per desktop row. */
.service-navigation{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;gap:6px;padding:7px}
.service-navigation button{min-height:44px;padding:6px 8px;gap:6px;font-size:14px;line-height:1.35;align-items:center;flex-direction:row}
.service-navigation .nav-label{white-space:normal;overflow-wrap:normal}
.service-navigation .nav-number{width:18px;height:18px}
@media(max-width:700px){.service-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px}.service-navigation button{font-size:12px;min-height:44px;padding:5px;gap:4px}.service-navigation .nav-number{width:16px;height:16px}}

.service-demo-note{margin:12px 0 18px;padding:12px 16px;background:#eef5ff;border:1px solid #d7e6f7;border-radius:5px;color:#244466;font-size:16px;line-height:1.75}.service-demo-note strong{color:#1857a6}@media(max-width:700px){.service-demo-note{padding:10px 12px;margin:10px 0 14px}}

.service-description{padding:14px 2px 0;text-align:left}.service-description h3{margin:0 0 8px;font-size:18px;line-height:1.55;color:#173b66;letter-spacing:0}.service-description p{margin:0;color:#526477;font-size:16px;line-height:1.85}.service-card{display:flex;flex-direction:column}.service-description{flex:1}@media(max-width:700px){.service-description{padding:10px 0 0}.service-description h3{font-size:16px}.service-description p{font-size:16px;line-height:1.7}}

/* Brand, service portals and account controls. */
.portal-header{height:auto;min-height:94px;padding:8px 24px;gap:20px;max-width:none;display:flex;align-items:center;background:white;border-bottom:1px solid #dce5ef;flex-wrap:wrap}
.portal-brand{gap:9px;flex-shrink:0}.portal-brand>img{width:70px;height:74px;object-fit:contain}.portal-brand b{font-size:27px;letter-spacing:-.6px}.portal-brand small{font-size:13px;margin-top:3px}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex:1;flex-wrap:wrap}.service-portal-logos{display:flex;align-items:center;gap:12px}.portal-logo-caption{font-size:12px;color:#687b8e;max-width:55px;line-height:1.4}.service-portal-logos a{display:flex;flex-direction:column;align-items:center;gap:2px;width:88px;padding:3px 0}.service-portal-logos img{display:block;width:88px;height:34px;object-fit:contain}.service-portal-logos a:nth-of-type(3){width:128px}.service-portal-logos a:nth-of-type(3) img{width:128px}.service-portal-logos small{font-size:12px;color:#657489;line-height:1.3}
.portal-actions{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;flex-wrap:wrap}.portal-actions>a{padding:9px 13px;border-radius:5px;border:1px solid #bcd1ed;line-height:1.4;white-space:nowrap}.header-register{color:#1857a6;background:#eef5ff}.header-login{color:white;background:#1857a6;border-color:#1857a6!important}.portal-actions .header-login:hover{color:white;background:#124785}.language-switch{display:flex;padding:3px;background:#f0f4f9;border:1px solid #dce4ed;border-radius:5px;gap:2px}.language-switch button{border:0;border-radius:3px;padding:6px 9px;font-size:14px;background:transparent;color:#52667b;line-height:1.4}.language-switch button.active{background:white;color:#1857a6;box-shadow:0 1px 4px #18375216;font-weight:700}
@media(max-width:1150px){.portal-header{padding:8px 16px;gap:12px}.header-right{gap:10px}.service-portal-logos{gap:8px}.service-portal-logos a,.service-portal-logos img{width:72px}.service-portal-logos a:nth-of-type(3),.service-portal-logos a:nth-of-type(3) img{width:110px}.portal-brand b{font-size:25px}}
@media(max-width:700px){.portal-header{padding:8px 12px;gap:8px;min-height:0}.portal-brand>img{width:54px;height:58px}.portal-brand b{font-size:24px}.portal-brand small{font-size:12px}.header-right{width:100%;flex-basis:100%;justify-content:flex-start;gap:10px}.service-portal-logos{width:100%;justify-content:space-between;gap:6px}.portal-logo-caption{display:none}.service-portal-logos a,.service-portal-logos img{width:65px}.service-portal-logos a:nth-of-type(3),.service-portal-logos a:nth-of-type(3) img{width:100px}.service-portal-logos img{height:30px}.portal-actions{gap:6px;width:100%}.portal-actions>a{padding:8px 10px;font-size:13px}.language-switch{margin-left:auto}.language-switch button{font-size:13px;padding:6px 7px}}
@media(max-width:700px){.service-portal-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.service-portal-logos a,.service-portal-logos img,.service-portal-logos a:nth-of-type(3),.service-portal-logos a:nth-of-type(3) img{width:100%;min-width:0}}

@media(max-width:700px){.portal-actions{justify-content:flex-end}.portal-actions .language-switch{margin-left:0}}

.company-poster-section{padding:20px 30px 45px;background:#f4f7fb}.company-banner{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.45fr 1fr;background:linear-gradient(125deg,#10375d 0%,#0d4469 58%,#0b6475 100%);border:1px solid #155477;border-radius:12px;overflow:hidden;color:white;box-shadow:0 12px 30px #10345116}.company-main{padding:32px 36px}.company-brand-row{display:flex;align-items:center;gap:18px;margin-bottom:24px}.company-brand-row img{width:95px;height:98px;object-fit:contain;background:white;border-radius:8px;padding:5px}.company-kicker{font-size:13px;letter-spacing:.5px;color:#9dd6ec}.company-brand-row h2{margin:4px 0 0;font-size:42px;line-height:1.15;color:white}.company-headline{font-size:27px;line-height:1.4;margin:0 0 14px;color:#ffcf78}.company-about{font-size:17px;line-height:1.85;margin:0;color:#e2eff7;max-width:650px}.company-service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.company-service-tags span{background:#ffffff12;border:1px solid #ffffff30;border-radius:5px;padding:5px 10px;color:#e7f6fc;font-size:14px}.company-socials{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.company-social{display:flex;flex-direction:column;gap:2px;padding:9px 13px;border-radius:6px;background:#ffffff10;border:1px solid #ffffff25;min-width:120px}.company-social b{font-size:12px;color:#beddea}.company-social>span{font-size:15px;color:white}.company-social.instagram{border-top:3px solid #fb87b8}.company-social.facebook{border-top:3px solid #77aefe}.company-social.telegram{border-top:3px solid #75d4ec}.company-social:hover{background:#ffffff1b}.company-contact{padding:32px 30px;margin:18px 18px 18px 0;border-radius:8px;background:#ffffff0f;border:1px solid #ffffff25}.company-contact-title{font-size:23px;margin:0 0 22px;color:#fff}.company-contact-item{margin-bottom:19px}.company-contact-item>span{display:block;font-size:13px;color:#a8d7e8;margin-bottom:4px}.company-contact-item>a{font-size:22px;color:white;font-weight:650;overflow-wrap:anywhere}.company-contact-item p{font-size:17px;line-height:1.75;margin:0;color:#edf6fb}.company-email>a{font-size:19px}.company-visit{display:inline-flex;border:1px solid #ffcf78;background:#ffcf78;color:#153a53;border-radius:5px;padding:10px 16px;font-size:15px;font-weight:700;margin-top:6px}.company-visit:hover{background:#ffdc9e}.company-owner{grid-column:1/-1;background:#082b49a0;padding:12px 36px;display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff22}.company-owner>span{color:#a8d7e8;font-size:14px}.company-owner strong{font-size:16px;color:white}.company-banner [hidden]{display:none!important}.company-admin-section{margin-top:50px;padding-top:28px;border-top:1px solid #dce5ef}.company-admin-section h2{font-size:28px;margin-bottom:10px}.company-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin-bottom:22px}.company-admin-field textarea{display:block;width:100%;padding:10px 12px;border:1px solid #d8e1ec;border-radius:5px;background:white;resize:vertical;font:inherit;font-size:16px}.company-admin-section fieldset{border:0;margin:0;padding:0;min-width:0}.company-admin-section fieldset:disabled{opacity:.65}#company-admin-status{font-size:15px;color:#1857a6;min-height:24px}.company-admin-section>h3{margin-top:28px}#company-admin-preview .company-brand-row h2{font-size:34px}#company-admin-preview .company-headline{font-size:24px}
@media(max-width:800px){.company-banner{grid-template-columns:1fr}.company-main{padding:25px}.company-contact{margin:0 20px 20px;padding:23px}.company-owner{padding:12px 25px}.company-brand-row h2{font-size:36px}.company-headline{font-size:24px}.company-poster-section{padding:18px 12px 30px}}
@media(max-width:550px){.company-main{padding:22px 18px}.company-brand-row{gap:12px;margin-bottom:20px}.company-brand-row img{width:75px;height:80px}.company-brand-row h2{font-size:31px}.company-about{font-size:16px;line-height:1.8}.company-headline{font-size:22px}.company-social{min-width:0;flex:1;padding:9px}.company-social>span{font-size:14px}.company-contact{padding:20px;margin:0 14px 14px}.company-contact-title{font-size:21px}.company-contact-item>a{font-size:21px}.company-email>a{font-size:18px}.company-admin-grid{grid-template-columns:1fr}.company-owner{padding:12px 18px}}

.portal-brand>img{height:70px;width:70px}.company-brand-row img{width:95px;height:95px;background:transparent;padding:0}@media(max-width:700px){.portal-brand>img{height:54px;width:54px}}@media(max-width:550px){.company-brand-row img{width:75px;height:75px}}

/* Keep header content in normal flow and show uncropped posters. */
.portal-header{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);height:auto;min-height:94px;overflow:visible;isolation:isolate;align-items:center}
.header-right{min-width:0;align-items:center;gap:18px}.portal-actions{flex-shrink:0}.service-portal-logos{flex-shrink:0}
.services{--service-padding:24px;padding-inline:var(--service-padding);padding-top:0}
.csc-poster.poster-slider{width:calc(100% + var(--service-padding) + var(--service-padding));margin:0 calc(0px - var(--service-padding)) 20px;max-width:none;height:auto;min-height:0;max-height:none;aspect-ratio:3/1;position:relative;clear:both}
.csc-poster .poster-slide,.csc-poster .poster-slide[src="/posters/slide-13.jpg"]{object-fit:contain;object-position:center;transform:none}
@media(min-width:1500px){.services{--service-padding:30px}}
@media(max-width:1050px){.portal-header{grid-template-columns:1fr;gap:8px}.header-right{justify-content:space-between;gap:12px}.portal-brand{justify-self:start}.service-portal-logos{flex-shrink:1}}
@media(max-width:700px){.portal-header{grid-template-columns:1fr;min-height:0;row-gap:8px}.header-right{width:100%;gap:10px}.services{--service-padding:12px}.csc-poster.poster-slider{height:auto;aspect-ratio:3/1;margin-bottom:16px}.portal-actions{justify-content:flex-end}}
/* Slim header with a compact mobile arrangement. */
.portal-header{min-height:64px;padding:6px 18px;gap:12px;grid-template-columns:auto minmax(0,1fr)}
.portal-brand{gap:7px}.portal-brand>img{width:48px;height:48px}.portal-brand b{font-size:23px}.portal-brand small{font-size:12px;margin-top:1px}
.header-right{gap:12px}.service-portal-logos{gap:8px}.portal-logo-caption{font-size:12px;max-width:42px}.service-portal-logos a{width:70px;padding:0;gap:1px}.service-portal-logos img{width:70px;height:24px}.service-portal-logos a:nth-of-type(3),.service-portal-logos a:nth-of-type(3) img{width:98px}.service-portal-logos small{font-size:12px}
.portal-actions{gap:6px;width:auto}.portal-actions>a{padding:7px 11px;font-size:14px}.language-switch{padding:2px}.language-switch button{padding:5px 7px;font-size:13px}
@media(min-width:701px) and (max-width:850px){.portal-header{padding-inline:12px;gap:9px}.portal-brand>img{width:42px;height:42px}.portal-brand b{font-size:21px}.header-right{gap:8px}.portal-logo-caption{display:none}.service-portal-logos{gap:6px}.service-portal-logos a,.service-portal-logos img{width:60px}.service-portal-logos a:nth-of-type(3),.service-portal-logos a:nth-of-type(3) img{width:88px}}
@media(max-width:700px){.portal-header{grid-template-columns:minmax(0,1fr) auto;padding:6px 10px;min-height:0;gap:5px 8px}.portal-brand{grid-column:1;grid-row:1;gap:5px}.portal-brand>img{width:42px;height:42px}.portal-brand b{font-size:20px}.portal-brand small{font-size:12px}.header-right{display:contents}.portal-actions{grid-column:2;grid-row:1;width:auto;gap:5px;flex-wrap:nowrap;justify-content:flex-end}.portal-actions>a{font-size:12px;padding:6px 8px}.language-switch button{font-size:12px;padding:4px 5px}.service-portal-logos{grid-column:1/-1;grid-row:2;gap:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.service-portal-logos a,.service-portal-logos img,.service-portal-logos a:nth-of-type(3),.service-portal-logos a:nth-of-type(3) img{width:100%;min-width:0}.service-portal-logos img{height:24px}.portal-logo-caption{display:none}}
@media(max-width:360px){.portal-brand>img{width:34px;height:34px}.portal-brand b{font-size:18px}.portal-brand small{font-size:12px}.portal-actions>a{padding:6px}.portal-header{column-gap:5px}}
/* Backend-controlled website presentation. */
body{background:var(--site-bg,#f8fafc);color:var(--ink)}.services{background:var(--site-bg,#f8fafc);border-top-color:var(--purple)}.portal-header{height:auto;min-height:0;background:var(--header-bg,#fff);padding-block:var(--header-padding,6px)}.portal-brand>img{width:var(--header-logo-size,48px);height:var(--header-logo-size,48px)}.service-portal-logos img{height:var(--portal-logo-height,24px)}.service-portal-logos>span:not(.portal-logo-caption){display:flex;flex-direction:column;align-items:center}.service-grid{grid-template-columns:repeat(var(--desktop-cols,3),minmax(0,1fr));gap:var(--card-gap,18px)}.service-card{border-radius:var(--card-radius,18px);background:var(--site-surface,#fff);overflow:hidden}.service-card .preview-image-button{width:var(--photo-width,100%);margin:0 auto 12px;display:block}.service-card .service-preview-image{width:100%;background:var(--site-surface,#fff)}.service-card .service-link-button{background:var(--service-color,var(--purple));border-color:var(--service-color,var(--purple));color:var(--button-text,#fff)}.service-link-button:not(:disabled):hover{filter:brightness(.92)}.company-banner{background:linear-gradient(125deg,var(--company-start,#13275a),var(--company-end,#6545d9))}.poster-slider .poster-entry{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .55s ease}.poster-slider .poster-entry.active{opacity:1;pointer-events:auto}.csc-poster.poster-slider{height:var(--poster-height,auto);aspect-ratio:var(--poster-ratio,3/1)}.csc-poster .poster-slide{object-fit:var(--poster-fit,contain)}.poster-entry img{width:100%;height:100%}.poster-entry.active .poster-slide{opacity:1}.brand-purple{color:var(--purple)}[hidden]{display:none!important}@media(max-width:700px){.service-grid{grid-template-columns:repeat(var(--mobile-cols,3),minmax(0,1fr));gap:min(var(--card-gap,18px),10px)}}
.service-description p{font-size:calc(15px * var(--type-scale,1))}.service-description h3{font-size:calc(17px * var(--type-scale,1))}.service-demo-note{font-size:calc(16px * var(--type-scale,1))}.service-card .service-link-button{font-size:calc(16px * var(--type-scale,1))}@media(max-width:700px){.service-card .service-link-button{font-size:calc(13px * var(--type-scale,1))}.service-description p{font-size:calc(12px * var(--type-scale,1))}.service-description h3{font-size:calc(14px * var(--type-scale,1))}}

.poster-caption{padding:18px 22px;margin:0 0 22px;border-left:4px solid var(--purple);background:var(--site-surface,#fff);border-radius:8px}.poster-caption h2{font-size:24px;line-height:1.5;margin:0 0 6px}.poster-caption p{font-size:16px;line-height:1.8;white-space:pre-line;margin:0;color:var(--ink)}

/* Legal Policy Links inside Company Poster */
.company-legal-bar{grid-column:1/-1;background:rgba(8,43,73,0.78);padding:14px 36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(255,255,255,0.18);backdrop-filter:blur(4px)}
.company-legal-badge{font-size:13px;color:#ffcf78;font-weight:700;letter-spacing:.3px}
.company-legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.company-legal-links a{color:#e2eff7;text-decoration:none;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;transition:color .2s,transform .2s;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12)}
.company-legal-links a:hover{color:#fff;background:rgba(255,255,255,0.18);border-color:#ffcf78;transform:translateY(-1px)}
@media(max-width:800px){.company-legal-bar{padding:14px 20px;flex-direction:column;align-items:stretch;gap:10px}.company-legal-links{gap:8px}.company-legal-links a{font-size:13px;padding:5px 8px}}

/* Dedicated Portal Site Footer (Enterprise Modern Design) */
footer.portal-site-footer {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #081224;
  color: #cbd5e1;
  border-top: none !important;
  box-sizing: border-box !important;
  position: relative;
  font-family: inherit;
}

.footer-top-accent {
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #1857a6 0%, #6366f1 35%, #0ea5e9 70%, #10b981 100%);
}

.footer-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 56px 24px 44px;
  display: grid;
  grid-template-columns: 1.8fr 1.1fr 1.1fr;
  gap: 48px;
  box-sizing: border-box;
}

/* Col 1: Brand */
.footer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.footer-logo {
  width: 46px;
  height: 46px;
  object-fit: contain;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 3px;
}
.footer-brand-text {
  display: flex;
  flex-direction: column;
}
.footer-brand-name {
  font-size: 24px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.15;
  letter-spacing: -0.5px;
}
.footer-brand-name .brand-purple {
  color: #818cf8;
}
.footer-brand-tagline {
  font-size: 12px;
  color: #94a3b8;
  font-weight: 500;
  margin-top: 3px;
}
.footer-desc {
  font-size: 13.5px;
  color: #94a3b8;
  line-height: 1.7;
  margin: 0 0 20px;
}
.footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.f-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 5px 11px;
  border-radius: 20px;
  color: #e2e8f0;
  transition: all 0.2s ease;
}
.f-badge:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

/* Headings */
.footer-heading {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #f8fafc;
  margin: 0 0 18px;
  position: relative;
  padding-bottom: 8px;
  display: inline-block;
}
.footer-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32px;
  height: 2px;
  background: #38bdf8;
  border-radius: 2px;
}

/* Nav & Legal Lists */
.footer-nav-links,
.footer-legal-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.f-link-item,
.legal-link {
  color: #cbd5e1;
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  padding: 3px 0;
}
.f-link-item:hover,
.legal-link:hover {
  color: #38bdf8;
  transform: translateX(4px);
}
.f-arrow {
  color: #38bdf8;
  font-weight: 700;
  font-size: 13px;
  transition: transform 0.2s ease;
}
.legal-link:hover .f-arrow {
  transform: translateX(2px);
}
.f-icon {
  font-size: 13px;
}



/* Full Width Bottom Bar */
.footer-bottom-bar {
  width: 100% !important;
  background: #040914;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding: 18px 24px;
  box-sizing: border-box;
}
.footer-bottom-inner {
  max-width: 1260px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.footer-copy {
  margin: 0;
  font-size: 12.5px;
  color: #94a3b8;
}
.f-bottom-right {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
}
.f-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  font-size: 11.5px;
  color: #a7f3d0;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.2);
  padding: 3px 10px;
  border-radius: 20px;
}
.status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.8);
}
.f-bottom-sep {
  color: #334155;
}
.f-loc-tag {
  color: #94a3b8;
  font-size: 12px;
  font-weight: 500;
}

/* Responsive */
@media (max-width: 900px) {
  .footer-container {
    grid-template-columns: 1fr 1fr;
    gap: 36px 30px;
    padding: 44px 20px 32px;
  }
  .footer-brand-col {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {
  .footer-container {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 36px 16px 24px;
  }
  .footer-brand-col {
    grid-column: auto;
  }
  .footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

