/* Premium corporate art direction — restrained, architectural, and brand-led. */
:root{
  --lux-night:#070b12;
  --lux-navy:#0b1826;
  --lux-blue:#1783d6;
  --lux-ice:#dff2ff;
  --lux-silver:#aab8c4;
  --lux-paper:#f5f7f8;
  --lux-border:rgba(255,255,255,.13);
}

body{background:var(--lux-night);letter-spacing:-.008em}
#publicSite{background:#fff;overflow:hidden}
.public-nav{
  height:96px;
  background:rgba(7,11,18,.86);
  border-bottom:1px solid rgba(255,255,255,.09);
  color:#fff;
  padding-inline:max(5.5vw,32px);
}
.public-nav:after{content:"";position:absolute;left:0;bottom:-1px;width:21%;height:1px;background:linear-gradient(90deg,transparent,var(--lux-blue))}
.public-nav .brand{color:#fff;font-size:15px;letter-spacing:.015em}
.public-nav .brand img{width:50px;height:42px;background:#fff;border-radius:9px;padding:4px;object-fit:cover;object-position:top;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.public-nav nav a{color:rgba(255,255,255,.65);font-size:13px;letter-spacing:.04em}
.public-nav nav a:hover{color:#fff}
.public-nav .btn-dark{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px rgba(255,255,255,.08);padding:14px 22px}
.public-nav .btn-dark:hover{background:#fff;color:var(--lux-night);transform:translateY(-1px)}

.hero{
  min-height:calc(100vh - 96px);
  background:
    radial-gradient(circle at 80% 20%,rgba(23,131,214,.22),transparent 31%),
    radial-gradient(circle at 10% 85%,rgba(18,69,108,.22),transparent 32%),
    linear-gradient(135deg,#070b12 0%,#0a1019 62%,#081421 100%);
  color:#fff;
  padding-top:5vh;
  padding-bottom:7vh;
  position:relative;
}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,#000,transparent 68%)}
.hero:after{content:"KARYA MULTI BERSAMA";position:absolute;left:max(5.5vw,32px);bottom:24px;color:rgba(255,255,255,.23);font-size:10px;letter-spacing:.42em;font-weight:800}
.hero .eyebrow{color:#7ec8ff;letter-spacing:.18em}
.hero .eyebrow i{background:#55b5ff;box-shadow:0 0 0 6px rgba(85,181,255,.12)}
.hero h1{font-size:clamp(58px,6.3vw,104px);line-height:.92;letter-spacing:-.068em;margin-block:34px 30px;max-width:900px;text-wrap:balance}
.hero h1 em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:-.055em;color:#73c1fa}
.hero-copy>p{color:#aebbc7;font-size:17px;line-height:1.8;max-width:610px}
.hero .btn-primary{background:#fff;color:#09131e;box-shadow:0 14px 38px rgba(0,0,0,.23)}
.hero .btn-primary:hover{background:#7ec8ff;color:#06101a}
.hero .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42)}
.hero .trust-line{color:#738392;margin-top:55px}
.hero .trust-line strong{font-size:10px;letter-spacing:.22em}
.hero-visual{min-height:690px}
.photo-frame{height:650px;border-radius:260px 28px 28px 28px;border:1px solid rgba(255,255,255,.15);box-shadow:0 38px 90px rgba(0,0,0,.36);background:#e7ece9;transform:perspective(1100px) rotateY(-2deg)}
.photo-frame:after{background:linear-gradient(180deg,rgba(4,13,21,.02) 44%,rgba(4,17,29,.7));box-shadow:inset 0 0 0 12px rgba(255,255,255,.035)}
.photo-frame img{filter:saturate(.82) contrast(1.04)}
.floating-card{left:-35px;bottom:52px;min-width:230px;padding:22px 24px;background:rgba(13,27,40,.78);border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 60px rgba(0,0,0,.28);backdrop-filter:blur(18px);color:#fff;border-radius:14px}
.floating-card:before{content:"";width:34px;height:2px;background:#55b5ff;position:absolute;left:24px;top:0}
.floating-card b{color:#7ec8ff;letter-spacing:-.02em}
.floating-card span{color:#aebbc7}
.supergraphic{color:rgba(62,162,235,.07);font-size:300px;right:-13vw}

.about{padding-top:150px;padding-bottom:155px;background:linear-gradient(180deg,#fff,#f5f7f8)}
.section-kicker{font-size:11px;letter-spacing:.22em;color:#0e6fb9;border-color:#d7dde2}
.about-grid{margin-top:67px;grid-template-columns:1.12fr .88fr}
.about h2,.people h2,.contact h2{font-size:clamp(46px,5vw,76px);text-wrap:balance}
.about h2:after{content:"";display:block;width:84px;height:4px;background:var(--lux-blue);margin-top:35px}
.about-grid>div>p{font-size:17px;color:#64717b}
.principles{gap:18px;margin-top:48px}
.principles div{padding:22px 20px;background:#fff;border:1px solid #e5e9ec;border-top:3px solid var(--lux-blue);box-shadow:0 14px 40px rgba(21,42,57,.055);border-radius:0 0 14px 14px}
.principles b{font-size:13px;letter-spacing:.08em;text-transform:uppercase}

.services{background:linear-gradient(145deg,#09131d,#0c1d2b 60%,#0b263a);padding-top:125px;padding-bottom:140px}
.services:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(112,194,250,.08);border-radius:50%;right:-180px;top:-230px;box-shadow:0 0 0 75px rgba(112,194,250,.025),0 0 0 150px rgba(112,194,250,.015)}
.services .section-kicker{color:#75c4fb;border-color:rgba(255,255,255,.16)}
.services-head{margin-top:62px;margin-bottom:62px}
.services h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;max-width:800px}
.services-head p{color:#91a2af}
.service-grid{gap:14px;border:0}
.service-grid article{min-height:320px;padding:30px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.025);backdrop-filter:blur(8px);overflow:hidden}
.service-grid article:after{content:"↗";position:absolute;right:28px;top:25px;color:#7492a8;font-size:16px;transition:.25s}
.service-grid article:hover{background:linear-gradient(145deg,#1578c4,#0c64a5);border-color:rgba(255,255,255,.28);transform:translateY(-7px);box-shadow:0 25px 55px rgba(0,0,0,.2)}
.service-grid article:hover:after{color:#fff;transform:translate(3px,-3px)}
.service-grid h3{font-size:27px;margin-top:92px}
.service-grid p{color:#9fb0bc}

.people{padding-top:150px;padding-bottom:150px;background:#f4f6f7;gap:9vw}
.people-photo{height:730px;border-radius:26px 260px 26px 26px;box-shadow:0 34px 75px rgba(12,27,39,.14);position:relative}
.people-photo:after{content:"THE TEAM";position:absolute;left:25px;bottom:25px;background:rgba(6,16,25,.78);color:#fff;padding:12px 16px;font-size:10px;letter-spacing:.24em;font-weight:800;backdrop-filter:blur(10px)}
.people-copy .section-kicker{margin-bottom:58px}
.people-copy p{color:#63717c}
.people-copy .btn{border-radius:12px;padding:15px 23px}

.contact{background:radial-gradient(circle at 0 0,rgba(23,131,214,.25),transparent 35%),#07111a;color:#fff;padding-top:120px;padding-bottom:120px;position:relative}
.contact .section-kicker{color:#7ec8ff;border-color:rgba(255,255,255,.15)}
.contact-card{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 70px rgba(0,0,0,.22);backdrop-filter:blur(16px);border-radius:16px;padding:48px}
.contact-card p{color:#9eb0bd}
.contact-card a{color:#7ec8ff}
footer{background:#05080c;border-top:1px solid rgba(255,255,255,.08);padding-top:42px;padding-bottom:42px}

/* Login — quiet luxury with the same visual language. */
.login-screen{background:radial-gradient(circle at 20% 20%,rgba(25,130,210,.18),transparent 30%),#07101a;color:#fff}
.login-screen:after{width:48%;filter:saturate(.72) contrast(1.07);background:linear-gradient(180deg,rgba(5,18,28,.18),rgba(5,18,28,.72)),url('assets/staff-laptop.jpg') center/cover}
.login-screen:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
.back-link{color:#9fb0bc}
.login-card{background:rgba(255,255,255,.965);color:#161d24;border:1px solid rgba(255,255,255,.5);border-radius:20px;box-shadow:0 35px 100px rgba(0,0,0,.35);padding:50px}
.login-card h1{font-family:Georgia,"Times New Roman",serif;font-size:46px;font-weight:400}
.login-card input{background:#f5f7f8;border-color:#dfe4e8;border-radius:8px;padding:15px}
.login-card .btn-primary{border-radius:9px;padding:16px;background:#0c6eb9}

/* Workspace — premium but still operational and dense. */
.app-shell{grid-template-columns:282px 1fr;background:#eef2f5}
.sidebar{background:linear-gradient(180deg,#08121c,#0b1823);padding:24px 17px;border-right:1px solid rgba(255,255,255,.06)}
.workspace-logo{padding-bottom:25px;border-color:rgba(255,255,255,.09)}
.workspace-logo img{background:#fff;filter:none;border-radius:8px;padding:3px;width:48px;height:39px}
.workspace-logo span{color:#718493}
.workspace-logo .icon-btn{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.profile-chip{background:linear-gradient(140deg,rgba(255,255,255,.085),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.08);padding:14px;margin-block:23px}
.avatar{background:linear-gradient(145deg,#218bda,#0b5f9d);box-shadow:0 8px 20px rgba(0,89,160,.25)}
.sidebar nav button,.sidebar-bottom button{padding:13px 14px;border-radius:9px}
.sidebar nav button:hover,.sidebar nav button.active{background:rgba(255,255,255,.075)}
.sidebar nav button.active{box-shadow:inset 2px 0 #52b6ff;color:#fff}
.workspace-top{height:104px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);padding-inline:38px}
.workspace-top h1{font-size:27px}
.view-content{padding:34px 38px 75px}
.welcome-panel{background:radial-gradient(circle at 80% 10%,rgba(92,191,255,.36),transparent 25%),linear-gradient(125deg,#071827,#0d6bab);border-radius:16px;padding:38px;box-shadow:0 20px 52px rgba(12,73,116,.18)}
.welcome-panel h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:36px}
.welcome-panel:after{font-size:190px;color:rgba(255,255,255,.06)}
.stat-card,.panel,.document-card,.member-card{border-color:rgba(39,60,77,.1);border-radius:13px;box-shadow:0 10px 35px rgba(24,42,56,.045)}
.stat-card{padding:22px}.stat-card strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:38px}
.kanban-column{background:#e6ebef;border:1px solid #dce3e8;border-radius:13px}
.task-card{border:0;border-radius:10px;box-shadow:0 7px 22px rgba(34,53,67,.06)}
.task-card:hover{box-shadow:0 16px 35px rgba(25,48,65,.12);transform:translateY(-3px)}
.document-card{min-height:255px;padding:27px}.doc-icon{background:linear-gradient(145deg,#0c6fb9,#2495e6);color:#fff;border:0;box-shadow:0 12px 25px rgba(18,117,191,.22)}
.modal{border-radius:15px}.modal::backdrop,.preview-dialog::backdrop{background:rgba(4,10,16,.7)}

@media(max-width:1000px){
  .hero{padding-top:65px}.hero-visual{min-height:570px}.photo-frame{height:540px}
  .service-grid{gap:11px}.people-photo{height:620px}
}
@media(max-width:700px){
  .public-nav{height:76px;background:rgba(7,11,18,.94)}
  .public-nav .brand img{width:46px;height:38px}
  .hero{padding-top:62px;padding-bottom:92px}.hero h1{font-size:52px}.hero:after{bottom:28px}
  .hero-visual{min-height:450px}.photo-frame{height:430px;border-radius:150px 18px 18px 18px;transform:none}
  .about,.services,.people{padding-top:92px;padding-bottom:95px}
  .about h2,.people h2,.contact h2{font-size:42px}.principles{grid-template-columns:1fr}
  .service-grid{gap:10px}.service-grid article{min-height:245px}.service-grid h3{margin-top:52px}
  .people-photo{height:500px;border-radius:20px 130px 20px 20px}
  .contact{padding-top:90px;padding-bottom:90px}.contact-card{padding:30px}
  .login-screen{background:#07101a}.login-card{padding:30px}.login-card h1{font-size:38px}
  .workspace-top{padding-inline:17px}.view-content{padding:21px 15px 60px}.welcome-panel{padding:27px}
}

/* Task schedule, work files, and director oversight. */
#taskDialog{width:min(690px,94vw)}
.task-schedule{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;padding:11px;background:#f4f7f9;border-radius:8px;color:#33424d;font-size:12px;line-height:1.35}
.task-schedule span{display:grid;gap:3px;min-width:0}.task-schedule small,.member-task-time small{color:#82909a;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.file-count{min-height:18px;color:#667783;font-size:12px;font-weight:800}
.attachment-section{border-top:1px solid #e5eaee;padding-top:20px;margin-top:4px}
.attachment-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:11px}
.attachment-title b{font-size:14px}.attachment-title span{color:#7d8993;font-size:11px}
.file-drop{display:block!important;margin:0 0 11px!important;border:1px dashed #afc1ce;border-radius:10px;background:#f5f9fc;color:#0c6eb9!important;text-align:center;padding:17px!important;cursor:pointer;transition:.2s}
#fileDrop[hidden]{display:none!important}
.file-drop:hover{background:#eaf5fc;border-color:#1683d2}
.file-drop input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important;padding:0!important}
.file-drop span{font-size:13px;font-weight:800}
.attachment-list{display:grid;gap:7px;max-height:150px;overflow:auto}
.attachment-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e2e8ec;border-radius:9px;color:#28343d;text-decoration:none;background:#fff}
.attachment-item:hover{border-color:#9dc9e8;background:#f7fbfe}.attachment-item>span:nth-child(2){display:grid;gap:3px;min-width:0}.attachment-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-item small{font-size:10px;color:#7b8791}.attachment-item i{color:#1179c5;font-style:normal;font-weight:800}
.attachment-icon{width:31px;height:31px;border-radius:7px;background:#e9f4fc;color:#0d75bb;display:grid;place-items:center}
.attachment-empty{color:#87939c;font-size:12px;margin:8px 0 2px}

.monitor-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px;background:linear-gradient(125deg,#081927,#0b5e99);color:#fff;padding:30px;border-radius:14px;box-shadow:0 18px 45px rgba(9,76,123,.16)}
.monitor-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:400;margin:7px 0}.monitor-intro p{color:#b9d1e2;margin:0}.monitor-total{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);padding:10px 13px;border-radius:999px;font-size:12px;white-space:nowrap}
button.member-card{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%;appearance:none}
button.member-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(22,48,67,.11);border-color:#a9cee8}
.member-top{position:relative}.member-arrow{margin-left:auto;color:#137abd;font-size:20px}.member-caption{font-size:12px;color:#75818b;margin-bottom:0}
.member-modal{width:min(880px,94vw);padding:27px}.member-summary{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#eef5fa;border-radius:9px;margin-bottom:15px}.member-summary span{color:#5f6e79}.member-summary b{color:#0d6ead}
.member-task-list{display:grid;gap:9px;max-height:60vh;overflow:auto}
.member-task-row{width:100%;border:1px solid #e1e7eb;background:#fff;border-radius:10px;padding:13px;display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(210px,.7fr) auto;align-items:center;gap:12px;text-align:left;color:#26323b}
.member-task-row:hover{background:#f6fafc;border-color:#aad0e9}.member-task-main{display:grid;gap:4px}.member-task-main b{font-size:14px}.member-task-main small{font-size:11px;color:#73818b}.member-task-time{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;font-size:11px;color:#42515c}.member-task-row>i{font-style:normal;color:#137abd;font-size:18px}

@media(max-width:700px){
  .task-schedule{grid-template-columns:1fr}.attachment-title{align-items:start;flex-direction:column;gap:4px}
  .monitor-intro{align-items:start;flex-direction:column}.monitor-total{white-space:normal}
  .member-modal{padding:19px}.member-task-row{grid-template-columns:auto 1fr auto}.member-task-time{grid-column:2/4;margin-top:4px}
}

/* Original KMB identity — always uncropped and free from framing. */
.brand img,.public-nav .brand img,.login-brand img,.workspace-logo img,.paper-logo{
  width:auto;height:auto;object-fit:contain;object-position:center;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none
}
.public-nav .brand img{height:58px;max-width:92px;filter:brightness(0) invert(1);mix-blend-mode:screen}
footer .brand img{height:58px;max-width:92px;filter:brightness(0) invert(1);mix-blend-mode:screen}
.login-brand img{height:60px;max-width:95px;filter:brightness(0) invert(1);mix-blend-mode:screen}
.workspace-logo img{height:52px;max-width:82px;filter:brightness(0) invert(1);mix-blend-mode:screen;flex:none}
.paper-logo{width:138px;height:auto;max-height:88px;filter:none;mix-blend-mode:normal}

/* Capability, workflow, and client story. */
.capability-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:85px;border-top:1px solid #dce2e6;border-bottom:1px solid #dce2e6}
.capability-strip div{display:grid;gap:18px;padding:28px 24px;border-right:1px solid #dce2e6}.capability-strip div:last-child{border-right:0}
.capability-strip strong{font-family:Georgia,"Times New Roman",serif;color:#1380cf;font-size:28px;font-weight:400}.capability-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#5f6f7b;font-weight:800}
.process{padding-top:140px;padding-bottom:135px;background:#fff}.process-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin:58px 0 70px}.process-heading h2{font-size:clamp(45px,5vw,76px);line-height:1.02;letter-spacing:-.057em;margin:0;max-width:900px}.process-heading p{color:#64727c;font-size:17px;line-height:1.75;margin:0}
.process-grid{border-top:1px solid #dce3e8}.process-grid article{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:30px 0;border-bottom:1px solid #dce3e8;transition:.25s}.process-grid article:hover{padding-left:18px;background:linear-gradient(90deg,#f2f8fc,transparent)}.process-grid article>span{font-family:Georgia,"Times New Roman",serif;color:#1682d0;font-size:27px}.process-grid h3{margin:0 0 9px;font-size:23px}.process-grid p{margin:0;color:#6d7982;line-height:1.65;max-width:830px}
.sector-panel{margin-top:90px;padding:55px;background:linear-gradient(130deg,#09131e,#0d2639);color:#fff;border-radius:22px;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;box-shadow:0 32px 70px rgba(11,32,48,.16)}.mini-label{font-size:10px;letter-spacing:.2em;color:#72c4ff;font-weight:900}.sector-panel h3{font-family:Georgia,"Times New Roman",serif;font-size:38px;font-weight:400;line-height:1.15;margin:20px 0 0}.sector-list{display:grid;grid-template-columns:1fr 1fr}.sector-list span{padding:17px 12px;border-bottom:1px solid rgba(255,255,255,.12);color:#c0ccd5;font-size:14px}.sector-list span:before{content:"↗";color:#5fbaff;margin-right:10px}
.clients-section{background:#07111a;color:#fff;padding:125px 0 115px;overflow:hidden;position:relative}.clients-section:before{content:"KMB";position:absolute;right:-2vw;top:-100px;font-size:300px;font-weight:950;color:rgba(83,179,244,.035);letter-spacing:-.12em}.clients-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:55px}.clients-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,5vw,75px);font-weight:400;letter-spacing:-.055em;margin:35px 0 0}.slider-controls{display:flex;gap:9px}.slider-controls button{width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:18px}.slider-controls button:hover{background:#1682d0;border-color:#1682d0;transform:translateY(-2px)}
.client-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px max(6vw,32px) 30px;outline:0}.client-viewport::-webkit-scrollbar{display:none}.client-track{display:flex;gap:15px;width:max-content}.client-card{width:285px;min-height:175px;scroll-snap-align:start;border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:26px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.25s}.client-card:before{content:"";position:absolute;top:23px;left:25px;width:36px;height:3px;background:#1682d0}.client-card:hover{transform:translateY(-6px);border-color:rgba(108,195,255,.55);background:linear-gradient(145deg,rgba(22,130,208,.24),rgba(255,255,255,.03))}.client-card b{font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:400}.client-card span{color:#8496a3;font-size:11px;text-transform:uppercase;letter-spacing:.11em;margin-top:9px}.client-note{font-size:11px;color:#677985;letter-spacing:.04em;margin-top:10px}

/* Document previews retain the supplied invoice/receipt structure and exact corporate letterhead. */
.paper .paper-head{border-bottom:0;padding-bottom:18px}.paper-company h2{letter-spacing:.02em}.paper h1{font-family:Arial,sans-serif;font-weight:800}.paper-bottom{height:31px;padding-top:8px}.paper-bottom i{font-weight:400}.super-watermark{color:rgba(45,53,59,.032)}
.letter-paper{background:#fff url('assets/corp-surat-kmb.jpg') center/100% 100% no-repeat;padding:150px 72px 125px}.letter-paper .letter-body{margin-top:18px;line-height:1.62}.letter-paper .paper-footer{bottom:145px;left:72px;right:86px}.letter-paper .letter-meta{margin-bottom:20px}.letter-paper .signature-space{height:58px}

@media(max-width:1000px){
  .capability-strip{grid-template-columns:1fr 1fr}.capability-strip div:nth-child(2){border-right:0}.capability-strip div:nth-child(-n+2){border-bottom:1px solid #dce2e6}
  .process-heading,.sector-panel{grid-template-columns:1fr}.sector-panel{gap:35px}.client-card{width:250px}
}
@media(max-width:700px){
  .public-nav .brand img{height:48px;max-width:76px}.workspace-logo img{height:46px;max-width:72px}
  .capability-strip{margin-top:55px;grid-template-columns:1fr}.capability-strip div{border-right:0;border-bottom:1px solid #dce2e6}.capability-strip div:last-child{border-bottom:0}
  .process{padding-top:90px;padding-bottom:90px}.process-heading{margin:38px 0 45px;gap:25px}.process-heading h2{font-size:41px}.process-grid article{grid-template-columns:55px 1fr;gap:15px}.process-grid article:hover{padding-left:0}
  .sector-panel{padding:32px 25px;margin-top:60px}.sector-panel h3{font-size:31px}.sector-list{grid-template-columns:1fr}
  .clients-section{padding:90px 0 80px}.clients-head{align-items:start;flex-direction:column}.clients-head h2{font-size:44px}.client-viewport{padding-inline:22px}.client-card{width:225px;min-height:155px}
  #printArea{display:flex;justify-content:center;align-items:flex-start;overflow:hidden;padding:24px 0}.paper{flex:0 0 794px}
}

/* Continuous, pause-free client logo marquee. */
.clients-head>p{max-width:430px;margin:0;color:#8fa1ae;font-size:15px;line-height:1.7}
.client-viewport{overflow:hidden;padding:10px 0 24px;scroll-snap-type:none;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.client-track{display:flex;gap:0;width:max-content;animation:clientMarquee 78s linear infinite;will-change:transform;transform:translate3d(0,0,0)}
.client-logo-set{display:flex;gap:16px;padding-right:16px;flex:none}
.client-card{width:220px;aspect-ratio:1/1;height:auto;min-height:0;margin:0;padding:22px;display:grid;grid-template-rows:1fr auto;place-items:center;gap:12px;background:#fff;border:1px solid rgba(255,255,255,.16);border-radius:15px;box-shadow:0 15px 40px rgba(0,0,0,.13);overflow:hidden;scroll-snap-align:none}
.client-card:before{display:none}.client-card:hover{transform:none;background:#fff;border-color:rgba(112,196,255,.7);box-shadow:0 18px 48px rgba(0,0,0,.2)}
.client-card img{display:block;width:92%;height:132px;max-width:92%;max-height:132px;object-fit:contain;filter:saturate(.92);transition:filter .25s,transform .25s}.client-card:hover img{filter:saturate(1.08);transform:scale(1.035)}
.client-card figcaption{width:100%;padding-top:10px;border-top:1px solid #edf0f2;color:#687680;font-size:10px;text-transform:uppercase;letter-spacing:.12em;text-align:center;font-weight:800}
@keyframes clientMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

@media(max-width:700px){
  .clients-head>p{font-size:14px}.client-card{width:164px;aspect-ratio:1/1;height:auto;min-height:0;padding:16px}.client-card img{width:94%;height:92px;max-height:92px}.client-track{animation-duration:72s}
}

/* Public document verification. */
.verification{padding-top:125px;padding-bottom:125px;background:linear-gradient(145deg,#eef5fa,#fff);display:grid;grid-template-columns:.95fr 1.05fr;gap:8vw;align-items:center}
.verification-copy h2{font-size:clamp(42px,4.5vw,68px);line-height:1.03;letter-spacing:-.055em;margin:45px 0 25px}.verification-copy p{font-size:17px;line-height:1.75;color:#65747f;max-width:610px}
.verification-card{background:#fff;border:1px solid #dfe6eb;border-radius:18px;padding:35px;box-shadow:0 22px 65px rgba(17,54,81,.09)}.verification-card label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5f6f7b;font-weight:900;margin-bottom:10px}.verify-input{display:grid;grid-template-columns:1fr auto;gap:10px}.verify-input input{min-width:0;border:1px solid #d7e0e6;border-radius:10px;padding:14px 15px;text-transform:uppercase;outline:none}.verify-input input:focus{border-color:#1682d0;box-shadow:0 0 0 3px rgba(22,130,208,.1)}
.verification-result{margin-top:24px;border-top:1px solid #e6ebee;padding-top:22px}.verify-idle{color:#89959e;font-size:13px}.verify-status{display:flex;align-items:center;gap:13px;padding:14px;border-radius:11px}.verify-status i{font-style:normal;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-weight:900}.verify-status div{display:grid;gap:3px}.verify-status strong{font-size:15px}.verify-status span{font-size:12px}.verify-status.valid{background:#eaf7f0;color:#206b49}.verify-status.valid i{background:#2b9868;color:#fff}.verify-status.invalid{background:#fff0ef;color:#a53d38}.verify-status.invalid i{background:#cf514b;color:#fff}
.verification-result dl{margin:18px 0 0}.verification-result dl div{display:grid;grid-template-columns:140px 1fr;gap:15px;padding:10px 2px;border-bottom:1px solid #edf0f2}.verification-result dt{font-size:12px;color:#7c8992}.verification-result dd{margin:0;font-size:13px;font-weight:800;color:#28343d}.verification-result code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#0b6eaf;font-size:11px}

/* QR-backed signature block in every generated document. */
.signature>span{display:block;margin-bottom:7px}.verified-signature{display:grid;grid-template-columns:78px auto;gap:11px;align-items:center;text-align:left;margin-top:6px}.signature-qr{width:78px;height:78px;padding:3px;background:#fff;border:1px solid #d9dfe3}.signature-qr canvas,.signature-qr img{display:block!important;width:70px!important;height:70px!important}.signature-info{display:grid;gap:2px;max-width:170px}.signature-info small{color:#287f58;font-size:8px;font-weight:800}.signature-info b{font-size:11px}.signature-info span{font-size:9px;color:#5f6b74}.signature-info code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#176fae;font-size:7px;word-break:break-all}.letter-paper .verified-signature{margin-top:4px}.letter-paper .paper-footer{align-items:end}

@media(max-width:1000px){.verification{grid-template-columns:1fr;gap:45px}}
@media(max-width:700px){.verification{padding-top:90px;padding-bottom:90px}.verification-card{padding:24px}.verify-input{grid-template-columns:1fr}.verification-result dl div{grid-template-columns:1fr;gap:4px}}
.signature-qr canvas{display:none!important}.signature-qr img{display:block!important}

/* Document archive and balanced A4 output. */
.preview-actions{display:flex;align-items:center;gap:9px}.btn-small{padding:8px 11px;font-size:11px}.document-history{margin-top:26px}.document-history .panel-head{align-items:flex-start}.document-history .panel-head h2{margin:5px 0 4px}.document-history .panel-head p{margin:0;color:#77838c;font-size:12px}.history-kicker{font-size:9px;letter-spacing:.16em;color:#1179c5;font-weight:900}.history-count{padding:8px 12px;border-radius:999px;background:#eef6fc;color:#0c71b5;font-size:11px;font-weight:800;white-space:nowrap}.history-table-wrap{overflow-x:auto}.history-table th{white-space:nowrap}.history-table td{vertical-align:middle}.history-type{display:inline-flex;align-items:center;justify-content:center;min-width:94px;padding:7px 9px;border-radius:7px;background:#edf5fb;color:#0c72b8;font-size:10px;font-weight:900;letter-spacing:.05em}.history-type.receipt{background:#ecf7f1;color:#237851}.history-type.offer{background:#f5f0fb;color:#6c45a1}.history-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.history-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;color:#84909a;text-align:center;border-top:1px solid #edf0f2}.history-empty span{width:42px;height:42px;border-radius:12px;background:#edf5fb;color:#1179c5;display:grid;place-items:center;font-size:20px}.history-empty strong{color:#34414b}.history-empty p{margin:0;font-size:12px}
.paper{padding:52px 58px 50px}.paper .paper-head{align-items:center;padding-bottom:21px;border-bottom:1px solid #e1e6e9}.paper-company h2{font-size:19px;margin-bottom:10px}.paper-company p{font-size:10px;line-height:1.55}.paper-logo{width:130px;max-height:76px}.paper h1{font-size:25px;margin:35px 0 8px}.doc-number{margin-bottom:29px}.bill-box{grid-template-columns:92px 1fr;gap:10px 16px;padding:17px 19px;margin-bottom:22px;border-radius:5px;background:#f4f7f9;line-height:1.45}.paper-table{table-layout:fixed;font-size:10.5px}.paper-table .col-no{width:6%}.paper-table .col-desc{width:33%}.paper-table .col-amount{width:19%}.paper-table .col-unit{width:8%}.paper-table .col-install{width:10%}.paper-table .col-total{width:24%}.paper-table th{padding:10px 7px;vertical-align:middle}.paper-table td{padding:12px 7px;line-height:1.45}.paper-table .center{text-align:center}.paper-total{width:48%;margin-top:18px}.paper-total div{padding:7px 2px;gap:14px}.paper-total b{text-align:right;white-space:nowrap}.paper-footer{left:58px;right:58px;bottom:47px}.paper-thanks{max-width:250px;color:#68757f;line-height:1.5}.receipt-body{margin-top:27px;padding:25px 27px;border-color:#cbd3d8}.receipt-row{grid-template-columns:135px 1fr;gap:18px;padding:14px 0;line-height:1.55}.receipt-amount{margin-top:25px;padding:12px 21px;border-width:1px;font-size:17px}.letter-paper{padding:150px 72px 125px}.letter-paper .letter-body{font-size:11.5px;line-height:1.62}.paper.pdf-exporting{box-shadow:none!important;margin:0!important;transform:none!important}.paper.pdf-exporting .paper-bottom{bottom:0}
@media(max-width:700px){.preview-toolbar{padding:0 12px}.preview-toolbar>span{display:none}.preview-actions{gap:6px}.history-table{min-width:820px}.document-history .panel-head{gap:12px}}

/* Contemporary financial document system. */
.invoice-paper,.receipt-paper{padding-top:42px;background:linear-gradient(180deg,#f7fbfe 0,#fff 145px)}
.invoice-paper:before,.receipt-paper:before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:linear-gradient(90deg,#0877c3 0 68%,#1b2730 68%)}
.invoice-paper .paper-head,.receipt-paper .paper-head{border-bottom:0;padding-bottom:12px}
.invoice-paper .paper-logo,.receipt-paper .paper-logo{width:122px;max-height:68px}
.invoice-paper .paper-company h2,.receipt-paper .paper-company h2{font-size:17px}
.invoice-paper .paper-company p,.receipt-paper .paper-company p{color:#63717b}
.doc-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:29px 0 27px;padding:24px 0 19px;border-top:1px solid #dce5ea;border-bottom:1px solid #dce5ea}
.doc-hero h1{font-family:Arial,sans-serif;text-align:left;letter-spacing:-.045em;font-size:39px;line-height:1;margin:7px 0 0;color:#17242d}
.doc-eyebrow{font-size:9px;letter-spacing:.2em;color:#0877c3;font-weight:900}
.doc-number-card{min-width:230px;display:grid;gap:4px;text-align:right}
.doc-number-card small{font-size:8px;letter-spacing:.15em;color:#81909a;font-weight:900}
.doc-number-card b{font-size:12px;color:#1d2a33}
.doc-number-card span{font-size:9px;color:#7a8790}
.invoice-info-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:13px;margin-bottom:21px}
.party-card,.payment-card{min-height:128px;border:1px solid #dfe6ea;border-radius:9px;padding:17px 19px;background:#fff}
.party-card{display:flex;flex-direction:column;align-items:flex-start}
.party-card small,.payment-card small{display:block;margin-bottom:10px;font-size:8px;letter-spacing:.15em;color:#76858f;font-weight:900;text-transform:uppercase}
.party-card strong{font-size:14px;color:#17242d}
.party-card span{font-size:10px;color:#0877c3;margin-top:4px;font-weight:700}
.party-card p{font-size:10px;line-height:1.5;color:#68757e;margin:8px 0 0}
.payment-card{position:relative;display:grid;grid-template-columns:35px 1fr;gap:12px;align-items:start;background:linear-gradient(145deg,#0c2538,#0b6dab);border:0;color:#fff;overflow:hidden}
.payment-card:after{content:"KMB";position:absolute;right:-11px;bottom:-23px;font-size:70px;font-weight:950;letter-spacing:-.12em;color:rgba(255,255,255,.045)}
.payment-card small{color:#8ecfff;margin:1px 0 8px}
.payment-card strong,.payment-card b,.payment-card span{display:block;position:relative;z-index:1}
.payment-card strong{font-size:12px;margin-bottom:4px}
.payment-card b{font-size:16px;letter-spacing:.055em}
.payment-card span{font-size:9px;color:#c5deee;margin-top:4px}
.payment-mark{width:35px;height:35px;border-radius:8px;background:#fff;color:#0d76bb;display:grid;place-items:center;font-size:18px;font-weight:900}
.invoice-paper .paper-table{border:1px solid #dfe5e9;border-radius:8px;overflow:hidden}
.invoice-paper .paper-table th{background:#162732;color:#fff;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.invoice-paper .paper-table tbody tr{background:#fff}
.invoice-paper .paper-table td{border-bottom:0;padding-top:15px;padding-bottom:15px}
.invoice-paper .paper-table tbody td:first-child{color:#0877c3;font-weight:900}
.invoice-summary{display:grid;grid-template-columns:1fr 49%;gap:38px;align-items:start;margin-top:18px}
.invoice-summary>p{font-size:9px;line-height:1.6;color:#78858e;margin:7px 0 0;max-width:240px}
.invoice-summary .paper-total{width:100%;margin:0}
.invoice-summary .paper-total div{padding:7px 3px}
.invoice-summary .paper-total .grand{margin-top:3px;padding-top:11px;border-top:1px solid #17242d;color:#0877c3;font-size:14px}
.receipt-paper .receipt-body{margin:0;padding:0;border:0;border-radius:0}
.receipt-paper .receipt-row{grid-template-columns:145px 1fr;gap:22px;padding:16px 2px;border-bottom:1px solid #e2e7ea;font-size:11px}
.receipt-paper .receipt-row b{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#72808a}
.receipt-paper .receipt-row span{color:#1d2a33;font-weight:600}
.receipt-words{font-style:italic;color:#0877c3!important}
.receipt-paper .receipt-amount{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center;width:100%;margin:22px 0 13px;padding:17px 19px;border:0;border-radius:9px;background:linear-gradient(100deg,#0877c3,#0a5d95);color:#fff}
.receipt-paper .receipt-amount small{font-size:8px;letter-spacing:.16em;font-weight:900;color:#aeddff}
.receipt-paper .receipt-amount strong{grid-row:1/3;grid-column:2;font-size:23px;letter-spacing:-.03em}
.receipt-paper .receipt-amount span{font-size:9px;color:#d0eaff}
.receipt-paper>.payment-card{min-height:0;padding:15px 18px;background:#f4f8fb;color:#17242d;border:1px solid #dce6ec;grid-template-columns:35px 1fr}
.receipt-paper>.payment-card:after{color:rgba(8,119,195,.045)}
.receipt-paper>.payment-card small{color:#0877c3}
.receipt-paper>.payment-card span{color:#667680}
.receipt-paper>.payment-card strong{color:#22313b}
.receipt-paper>.payment-card b{color:#0877c3}
.invoice-paper .paper-footer,.receipt-paper .paper-footer{bottom:45px;padding-top:14px;border-top:1px solid #e0e6e9}
.invoice-paper .paper-thanks b,.receipt-paper .paper-thanks b{color:#17242d;font-size:11px}
.invoice-paper .paper-thanks,.receipt-paper .paper-thanks{font-size:9px}
.invoice-paper .signature>span,.receipt-paper .signature>span{font-size:9px;color:#6b7881}

/* One-page documents, multi-item editor, and saved payment accounts. */
.paper{height:1123px;min-height:1123px;max-height:1123px;overflow:hidden}
.document-modal{max-height:94vh}.document-modal form{max-height:94vh;overflow-y:auto}
.auto-doc-meta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 15px;margin-bottom:17px;border-radius:9px;background:#eef6fb;border:1px solid #d8e8f2}.auto-doc-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#627582;font-weight:900}.auto-doc-meta b{font-size:12px;color:#0a70b2}.auto-doc-meta time{font-size:11px;color:#6f7e88}
.invoice-items-editor{margin:17px 0;padding:17px;border:1px solid #dde5ea;border-radius:11px;background:#f8fafb}.items-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.items-head>div{display:grid;gap:3px}.items-head b{font-size:13px}.items-head span{font-size:10px;color:#7e8a93}.invoice-item-row{display:grid;grid-template-columns:minmax(150px,1.8fr) 55px 78px 120px 32px;gap:8px;align-items:end;padding:11px 0;border-top:1px solid #e3e8eb}.invoice-item-row:first-child{border-top:0;padding-top:0}.invoice-item-row label{margin:0;font-size:9px;color:#70808b}.invoice-item-row input{padding:9px 8px!important;font-size:11px!important}.remove-item{width:32px;height:36px;border:0;border-radius:7px;background:#fff0ef;color:#bd4d46;font-size:18px;cursor:pointer}.remove-item:hover{background:#df5b52;color:#fff}.items-total{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid #d9e1e6;font-size:11px}.items-total b{font-size:15px;color:#0877c3}
.accounts-panel{margin-top:26px}.account-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.account-card{position:relative;min-height:145px;padding:19px;border:1px solid #dce5ea;border-radius:12px;background:#f8fafb;display:grid;grid-template-columns:43px 1fr;gap:13px;align-items:start}.account-card.default{background:linear-gradient(145deg,#0c2538,#0a6cab);color:#fff;border:0}.account-logo{width:43px;height:43px;border-radius:9px;background:#fff;color:#0b70b2;box-shadow:0 5px 18px rgba(16,56,85,.1);display:grid;place-items:center;font-weight:950;font-style:italic}.account-card>div:nth-child(2){display:grid;gap:3px}.account-card small{font-size:8px;letter-spacing:.13em;color:#7c8992;font-weight:900}.account-card.default small{color:#91cef7}.account-card strong{font-size:13px}.account-card b{font-size:16px;letter-spacing:.04em;color:#0877c3}.account-card.default b{color:#fff}.account-card span{font-size:9px;color:#75838d}.account-card.default span{color:#c5dceb}.account-card>i{position:absolute;right:12px;top:12px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.13);font-size:8px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.account-card>.text-btn{position:absolute;right:12px;bottom:12px;font-size:10px}.check-line{display:flex!important;align-items:center;gap:9px}.check-line input{width:auto!important;margin:0}
.invoice-items-table .col-no{width:6%}.invoice-items-table .col-desc{width:36%}.invoice-items-table .col-qty{width:8%}.invoice-items-table .col-unit{width:10%}.invoice-items-table .col-price{width:19%}.invoice-items-table .col-total{width:21%}.invoice-items-table td{padding-top:10px!important;padding-bottom:10px!important}.invoice-items-table tbody tr:not(:last-child) td{border-bottom:1px solid #e6eaed}
.letter-paper{height:1123px;padding:50px 64px 70px;background:#fff}.letter-paper:before{content:"";position:absolute;right:-75px;bottom:70px;width:180px;height:470px;border:3px solid #0877c3;border-radius:45% 0 0 45%;opacity:.12;transform:rotate(10deg)}.letter-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:20px;border-bottom:3px solid #0877c3}.letter-head h2{margin:0 0 10px;color:#0877c3;font-size:20px;letter-spacing:.035em}.letter-head p{font-size:10px;line-height:1.5;color:#53636e;margin:2px 0}.letter-head img{width:126px;height:75px;object-fit:contain}.letter-paper .letter-body{margin-top:25px;font-size:11.5px;line-height:1.58}.letter-date{text-align:right;margin-bottom:18px}.letter-paper .letter-meta{grid-template-columns:74px 1fr;margin-bottom:18px}.letter-paper .letter-body p{margin:10px 0}.letter-paper .letter-items{margin:7px 0;padding-left:20px}.letter-paper .paper-footer{left:64px;right:80px;bottom:77px;border-top:0}.letter-supergraphic{position:absolute;right:54px;bottom:145px;font-size:115px;font-weight:950;letter-spacing:-.13em;color:rgba(8,119,195,.035);z-index:0}.letter-bottom{position:absolute;left:0;right:0;bottom:0;height:39px;padding:0 64px;background:#0877c3;color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:10px}.letter-bottom span{font-style:italic}.letter-paper .signature{position:relative;z-index:1}
@media(max-width:900px){.account-list{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.invoice-item-row{grid-template-columns:1fr 55px 70px}.invoice-item-row .item-description{grid-column:1/4}.invoice-item-row label:nth-child(4){grid-column:1/3}.accounts-panel .panel-head,.items-head{align-items:flex-start;flex-direction:column}.account-list{grid-template-columns:1fr}}

/* Public conversion actions and the single unified portal entry. */
.public-actions{display:flex;align-items:center;gap:17px;flex:none}
.nav-consult{padding:11px 17px;border-radius:9px;white-space:nowrap;box-shadow:0 10px 25px rgba(13,118,191,.2)}
.public-login{appearance:none;border:0;background:transparent;color:#fff;padding:9px 2px;font:inherit;font-size:12px;font-weight:800;letter-spacing:.035em;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:color .22s,transform .22s}
.public-login:hover{color:#78c9ff;transform:translateY(-1px)}
.login-flag{width:17px;height:12px;background:#1687d5;clip-path:polygon(0 0,100% 0,76% 50%,100% 100%,0 100%);box-shadow:0 0 14px rgba(22,135,213,.42)}
.login-flag:after{display:none}
.whatsapp-cta{gap:9px}.wa-dot{color:#64e496;font-size:11px;text-shadow:0 0 14px rgba(100,228,150,.65)}
.contact-card{display:flex;flex-direction:column;align-items:flex-start}
.contact-card>a{display:block;width:max-content;max-width:100%;margin-top:11px;text-decoration:none}
.contact-card .contact-wa{padding:11px 15px;border-radius:8px;background:#1481cb;color:#fff;font-size:12px;font-weight:850;box-shadow:0 10px 25px rgba(0,0,0,.17)}
.contact-card .contact-wa:hover{background:#2597e3;transform:translateY(-1px)}
@media(max-width:1180px){.nav-consult{display:none}}
@media(max-width:700px){.public-actions{gap:9px}.public-login{font-size:10px;letter-spacing:.035em}.public-nav{padding-inline:18px}}

/* Editorial insights — modern, concise, and brand-led. */
.articles-section{padding-top:130px;padding-bottom:135px;background:#f3f7fa}
.articles-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:56px}
.articles-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-.055em;margin:32px 0 0;color:#101c25}
.articles-head>p{font-size:16px;line-height:1.75;color:#667680;margin:0;max-width:520px}
.articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.article-card{min-width:0;border:1px solid #dbe4e9;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 18px 48px rgba(20,53,76,.06);transition:transform .3s,box-shadow .3s,border-color .3s}
.article-card:hover{transform:translateY(-7px);box-shadow:0 28px 65px rgba(20,53,76,.12);border-color:#9bcbed}
.article-card>button,.article-card>a{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;text-decoration:none}

/* Collaboration, notifications, and contextual public links. */
.service-link{color:inherit;text-decoration-color:rgba(121,192,244,.55);text-underline-offset:3px}.service-link:hover{color:#fff;text-decoration-color:#fff}.map-address{display:block;margin:18px 0 24px;color:#d2dbe3!important;font-weight:500!important;line-height:1.75;text-decoration:underline!important;text-decoration-color:rgba(126,196,244,.45)!important;text-underline-offset:4px}.map-address:hover{color:#fff!important;text-decoration-color:#fff!important}
.notification-btn{position:relative}.notification-btn b{position:absolute;right:-6px;top:-7px;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#e34f4f;color:#fff;font-size:10px;line-height:15px;text-align:center}.notification-btn.has-unread{color:#0876c9;border-color:#9bc9eb;background:#edf7ff}
#taskDialog{width:min(760px,94vw)}.task-card.has-comment{box-shadow:inset 3px 0 #1681d3,0 8px 24px rgba(25,48,65,.09)}.task-signals{display:flex;align-items:center;gap:8px;color:#788690;font-size:11px}.task-signals b{padding:3px 7px;border-radius:999px;background:#e8f4fd;color:#0870b9;font-size:10px}.task-signals span{white-space:nowrap}
.task-comments{margin-top:22px;padding-top:22px;border-top:1px solid #e3e9ed}.task-comments-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:14px}.task-comments-head>div{display:grid;gap:4px}.task-comments-head>div>b{font-size:15px}.task-comments-head>div>span,.task-comments-head>span{color:#81909b;font-size:11px}.task-comments-list{display:grid;gap:10px;max-height:230px;overflow:auto}.task-comment{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:13px;border:1px solid #e4e9ed;border-radius:10px;background:#f8fafb}.task-comment header{display:flex;justify-content:space-between;gap:12px}.task-comment header b{font-size:13px}.task-comment header span{color:#87939d;font-size:10px}.task-comment p{margin:7px 0 0;color:#3f4c55;font-size:13px;line-height:1.55;white-space:pre-wrap}.task-comment-empty{margin:0;padding:20px;border:1px dashed #d6dfe5;border-radius:9px;color:#84919b;text-align:center;font-size:12px}.task-comment-composer{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px;align-items:end}.task-comment-composer textarea{min-height:70px;resize:vertical}.task-comment-composer .btn{border-radius:10px;height:44px}
.notification-dialog{width:min(520px,94vw);padding:25px}.notification-list{display:grid;gap:9px;max-height:62vh;overflow:auto}.notification-item{width:100%;display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border:1px solid #e0e7ec;border-radius:11px;background:#fff;color:inherit;text-align:left}.notification-item:hover{border-color:#9bc9e8;background:#f6fbff}.notification-item>span{display:grid;min-width:0}.notification-item b{font-size:13px}.notification-item small{margin-top:2px;color:#1577b9;font-size:11px}.notification-item p{margin:8px 0;color:#4d5962;font-size:12px;line-height:1.5}.notification-item time{color:#8a959e;font-size:10px}.notification-empty{display:grid;place-items:center;padding:44px 20px;color:#77858f;text-align:center}.notification-empty>span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:10px;border-radius:50%;background:#e8f5ee;color:#21835b;font-size:20px}.notification-empty p{margin:5px 0 0;font-size:12px}
@media(max-width:600px){.task-comment-composer{grid-template-columns:1fr}.task-comment-composer .btn{width:100%}.task-comment header{display:grid;gap:2px}.notification-dialog{padding:18px}.top-actions .notification-btn{display:grid}}
.article-cover{aspect-ratio:16/10;overflow:hidden;background:#dce6ec}.article-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s}.article-card:hover .article-cover img{transform:scale(1.045)}
.article-copy{padding:25px 24px 27px}.article-copy>span,.reader-body>span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#0879c5;font-weight:900}.article-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.17;margin:16px 0 12px;color:#15232d}.article-copy p{font-size:14px;line-height:1.65;color:#6b7983;margin:0 0 22px}.article-copy b{font-size:12px;color:#0879c5}.article-empty{grid-column:1/-1;padding:45px;border:1px dashed #cbd8e0;border-radius:15px;text-align:center;color:#74838d}
.article-reader{width:min(920px,94vw);max-height:92vh;padding:0;border:0;border-radius:20px;overflow:auto;background:#fff;box-shadow:0 40px 100px rgba(0,0,0,.28)}.article-reader::backdrop{background:rgba(4,13,21,.72);backdrop-filter:blur(7px)}
.article-reader-close{position:sticky;float:right;top:16px;right:16px;z-index:3;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(8,18,26,.72);color:#fff;font-size:22px;cursor:pointer}.reader-cover{height:370px;background:#dbe5eb}.reader-cover img{width:100%;height:100%;object-fit:cover}.reader-body{padding:52px 9% 64px}.reader-body h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(37px,5vw,60px);line-height:1.03;letter-spacing:-.045em;margin:20px 0 25px;color:#14222c}.reader-body p{font-size:16px;line-height:1.85;color:#43525d}.reader-lead{font-size:20px!important;color:#1f303b!important;border-left:3px solid #1382ce;padding-left:20px;margin-bottom:32px!important}

/* Developer studio and protected website analytics. */
.analytics-hero,.studio-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px;padding:31px;border-radius:15px;background:linear-gradient(125deg,#071823,#0966a2);color:#fff;box-shadow:0 22px 52px rgba(7,71,113,.17)}
.analytics-hero h2,.studio-hero h2{font-family:Georgia,"Times New Roman",serif;font-size:36px;font-weight:400;margin:8px 0}.analytics-hero p,.studio-hero p{margin:0;color:#b7d2e3}.analytics-hero>span{padding:9px 13px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#bfe1f7;font-size:12px}
.analytics-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.analytics-stats article{padding:22px;border:1px solid #dfe6ea;border-radius:12px;background:#fff;display:grid;gap:8px}.analytics-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#71808a;font-weight:850}.analytics-stats strong{font-family:Georgia,"Times New Roman",serif;font-size:35px;color:#0c71b4}.analytics-stats small{font-size:11px;color:#89949c}
.analytics-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:17px}.traffic-chart{height:245px;display:flex;align-items:flex-end;gap:13px;padding:28px 5px 2px}.traffic-chart>div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.traffic-chart i{display:block;width:min(38px,70%);min-height:8px;border-radius:8px 8px 2px 2px;background:linear-gradient(#35a0e8,#0873bc);box-shadow:0 8px 20px rgba(8,115,188,.17)}.traffic-chart span{font-size:11px;color:#477083}.traffic-chart small{font-size:11px;color:#788791;text-transform:uppercase}.keyword-panel ol{margin:5px 0 0;padding:0;list-style:none}.keyword-panel li,.content-performance>div:not(.panel-head){display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 2px;border-bottom:1px solid #e8edef}.keyword-panel li span,.content-performance span{font-size:13px;color:#354650}.keyword-panel li b,.content-performance b{color:#0a72b8;font-size:12px}.analytics-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#87939b;text-align:center;font-size:12px}.analytics-empty b{color:#34434d}.content-performance{margin-top:17px}
.studio-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:17px;align-items:start}.content-editor,.media-editor{display:grid;gap:13px}.content-editor label,.media-editor label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#5e707c;font-weight:850}.content-editor input,.content-editor textarea,.media-editor input{width:100%;padding:12px 13px;border:1px solid #d8e2e8;border-radius:8px;background:#f9fbfc;font:inherit;font-size:13px;color:#23323c;resize:vertical}.content-editor textarea{line-height:1.55}.media-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.media-preview img{width:100%;aspect-ratio:1/1;object-fit:contain;border:1px solid #e0e7eb;border-radius:10px;background:#f4f7f9;padding:8px}.article-manager{margin-top:17px}.article-admin-list{display:grid;gap:8px}.article-admin-list article{display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;padding:11px;border:1px solid #e1e8ec;border-radius:10px}.article-admin-list img{width:90px;height:72px;border-radius:7px;object-fit:cover}.article-admin-list article>div:nth-child(2){display:grid;gap:5px}.article-admin-list small{color:#1680c9;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.article-admin-list b{font-size:14px;color:#263640}.article-admin-list span{font-size:11px;color:#74818a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:650px}.article-admin-list article>div:last-child{display:flex;gap:10px}.text-btn.danger{color:#c64a44}.article-modal{width:min(740px,94vw)}.article-modal textarea{resize:vertical}.role-badge.developer{background:#e8efff;color:#405eb1}

@media(max-width:1000px){.articles-grid{grid-template-columns:1fr 1fr}.analytics-stats{grid-template-columns:1fr 1fr}.analytics-grid,.studio-grid{grid-template-columns:1fr}}
@media(max-width:700px){.articles-section{padding-top:90px;padding-bottom:90px}.articles-head{grid-template-columns:1fr;gap:25px}.articles-head h2{font-size:42px}.articles-grid{grid-template-columns:1fr}.reader-cover{height:240px}.reader-body{padding:38px 25px 50px}.analytics-hero,.studio-hero{align-items:flex-start;flex-direction:column;padding:25px}.analytics-stats{grid-template-columns:1fr 1fr}.analytics-stats article{padding:17px}.analytics-stats strong{font-size:29px}.article-admin-list article{grid-template-columns:70px 1fr}.article-admin-list img{width:70px;height:64px}.article-admin-list article>div:last-child{grid-column:2}.media-preview{grid-template-columns:1fr 1fr}}

/* Larger, optically centered client marks. */
.client-card{width:242px;padding:18px;align-items:center;justify-items:center}
.client-card img{display:block;width:100%;height:166px;max-width:100%;max-height:166px;margin:auto;object-fit:contain;object-position:center;transform:scale(1.07);transform-origin:center}
.client-card:hover img{transform:scale(1.11)}
.client-card figcaption{align-self:end;justify-self:stretch}
@media(max-width:700px){.client-card{width:178px;padding:14px}.client-card img{height:112px;max-height:112px;transform:scale(1.06)}.client-card:hover img{transform:scale(1.09)}}

/* Stronger client-logo presence and a proper header button. */
.client-card{width:258px;padding:14px 16px;grid-template-rows:minmax(0,1fr) auto;place-items:center}
.client-card img{place-self:center;width:110%;height:190px;max-width:none;max-height:190px;margin:0;object-fit:contain;object-position:50% 50%;transform:scale(1.08)}
.client-card:hover img{transform:scale(1.12)}
.public-login{min-height:40px;padding:9px 15px;border:1px solid rgba(76,179,247,.58);border-radius:8px;background:rgba(18,126,199,.13);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 22px rgba(0,0,0,.12)}
.public-login:hover{color:#fff;background:#147fc7;border-color:#44b3fa;box-shadow:0 10px 26px rgba(13,118,190,.28)}
@media(max-width:700px){.client-card{width:198px;padding:12px 14px}.client-card img{width:112%;height:145px;max-height:145px;transform:scale(1.08)}.client-card:hover img{transform:scale(1.11)}.public-login{min-height:38px;padding:8px 13px}}
.seo-guides{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:34px 0 28px}.seo-guides a{position:relative;display:flex;min-height:170px;flex-direction:column;justify-content:flex-end;padding:22px;border:1px solid rgba(20,38,57,.12);border-radius:18px;color:#111c29;text-decoration:none;background:linear-gradient(145deg,#fff,#f3f8fd);overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.seo-guides a:before{content:"";position:absolute;right:-28px;top:-42px;width:110px;height:110px;border:26px solid rgba(8,118,209,.08);border-radius:50%}.seo-guides a:hover{transform:translateY(-6px);border-color:rgba(8,118,209,.42);box-shadow:0 18px 46px rgba(17,47,78,.11)}.seo-guides span{margin-bottom:auto;color:#0876d1;font-size:.7rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.seo-guides strong{font-size:1.08rem;line-height:1.25}.seo-guides small{margin-top:8px;color:#687383;font-size:.78rem}@media(max-width:980px){.seo-guides{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.seo-guides{grid-template-columns:1fr}.seo-guides a{min-height:135px}}

/* Mobile workspace navigation and reliable vertical scrolling. */
.sidebar-backdrop{display:none}
.workspace-main{min-height:0;overscroll-behavior-y:contain}
dialog.modal,dialog.preview-dialog{overscroll-behavior:contain}
@media(max-width:700px){
  body.sidebar-lock{overflow:hidden}
  .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
  .workspace-main{height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .workspace-top{position:sticky;top:0}
  .view-content{min-height:calc(100dvh - 82px);padding-bottom:max(90px,env(safe-area-inset-bottom))}
  .sidebar{height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:35;margin:0;padding:0;border:0;background:rgba(4,12,19,.58);opacity:0;pointer-events:none;transition:opacity .25s ease;backdrop-filter:blur(2px)}
  .sidebar-backdrop.open{opacity:1;pointer-events:auto}
  dialog.modal{max-height:calc(100dvh - 20px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
  dialog.modal form,.document-modal form{max-height:none;overflow:visible}
  dialog.preview-dialog{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);overflow:auto;-webkit-overflow-scrolling:touch}
  .article-reader{max-height:calc(100dvh - 20px)}
  .kanban,.history-table-wrap,.data-table{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
}
