:root{
  --bg:#f5f7fb; --surface:#ffffff; --surface-2:#eef1f8; --border:#e2e7f0; --border-strong:#d3dae8;
  --text:#101828; --text-muted:#586179; --text-subtle:#8c95ab;
  --accent:#2457d9; --accent-ink:#173a9c; --accent-soft:#e8eefd; --accent-on:#ffffff;
  --green:#12805c; --green-soft:#e0f5ec; --green-ink:#0b5b41;
  --warn:#b45309; --warn-soft:#fef3e2;
  --navy-1:#0d1830; --navy-2:#0a1220; --navy-line:rgba(255,255,255,.12);
  --radius-lg:18px; --radius-md:12px; --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.06),0 1px 1px rgba(16,24,40,.04);
  --shadow-md:0 12px 32px -12px rgba(16,24,40,.22);
  --shadow-lg:0 24px 64px -20px rgba(16,24,40,.45);
  --font-display:'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif;
  --font-body:'Public Sans','Segoe UI',system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0a0f1a; --surface:#121a2b; --surface-2:#182236; --border:#26324a; --border-strong:#37456a;
    --text:#e7ecf7; --text-muted:#9aa6c2; --text-subtle:#6b7793;
    --accent:#6c98f5; --accent-ink:#c2d5ff; --accent-soft:#182b52; --accent-on:#0a0f1a;
    --green:#4fd0a0; --green-soft:#0e2a21; --green-ink:#9fe8cc;
    --warn:#f5b45c; --warn-soft:#2c2111;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0a0f1a; --surface:#121a2b; --surface-2:#182236; --border:#26324a; --border-strong:#37456a;
  --text:#e7ecf7; --text-muted:#9aa6c2; --text-subtle:#6b7793;
  --accent:#6c98f5; --accent-ink:#c2d5ff; --accent-soft:#182b52; --accent-on:#0a0f1a;
  --green:#4fd0a0; --green-soft:#0e2a21; --green-ink:#9fe8cc;
  --warn:#f5b45c; --warn-soft:#2c2111;
}
/* Korenta Tel pages swap the accent to green */
body.tel{ --accent:#12805c; --accent-ink:#0b5b41; --accent-soft:#e0f5ec; --accent-on:#ffffff; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) body.tel{ --accent:#4fd0a0; --accent-ink:#9fe8cc; --accent-soft:#0e2a21; --accent-on:#06150f; }
}
:root[data-theme="dark"] body.tel{ --accent:#4fd0a0; --accent-ink:#9fe8cc; --accent-soft:#0e2a21; --accent-on:#06150f; }

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{scroll-behavior:smooth;scroll-padding-top:76px;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;}
h1,h2,h3,.font-display{font-family:var(--font-display);text-wrap:balance;}
p{color:var(--text-muted);margin:0 0 12px;}
a{color:var(--accent);}
img{max-width:100%;display:block;}
button{font-family:inherit;}
.wrap{max-width:1120px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px));}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);}
.section{padding-block:68px;}
.section.alt{background:var(--surface-2);}
.section-head{max-width:660px;margin-bottom:38px;}
.section-head h2{font-size:clamp(25px,3.4vw,34px);margin:8px 0 10px;line-height:1.15;letter-spacing:-.01em;}
.section-head p{font-size:16px;margin:0;}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);color:var(--text);padding:8px 12px;border-radius:8px;z-index:100;}
.skip:focus{left:8px;}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px;}
@media (prefers-reduced-motion: reduce){ *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;} }

/* nav */
.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb, var(--bg) 90%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.nav-inner{display:flex;align-items:center;gap:18px;padding-block:12px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);margin-right:auto;}
.brand img{width:36px;height:36px;border-radius:9px;}
.brand .word{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:-.005em;line-height:1;}
.brand .word i{font-style:normal;color:var(--accent);}
.brand .sub{display:block;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle);font-weight:600;margin-top:4px;font-family:var(--font-body);}
.nav-links{display:flex;gap:24px;align-items:center;}
.nav-links a{color:var(--text-muted);font-weight:600;font-size:14px;text-decoration:none;}
.nav-links a:hover{color:var(--text);}
.nav-links a.tel-link{display:inline-flex;align-items:center;gap:7px;color:#12805c;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .nav-links a.tel-link{color:#4fd0a0;} }
:root[data-theme="dark"] .nav-links a.tel-link{color:#4fd0a0;}
.nav-links a.tel-link::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.nav-cta{display:flex;align-items:center;gap:8px;}
.icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);flex:none;}
.icon-btn:hover{color:var(--text);border-color:var(--border-strong);}
.icon-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;}
.menu-toggle{display:none;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:14px;padding:11px 18px;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1.2;}
.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.btn-primary{background:var(--accent);color:var(--accent-on);box-shadow:var(--shadow-sm);}
.btn-primary:hover{filter:brightness(1.08);}
.btn-outline{background:var(--surface);color:var(--text);border-color:var(--border-strong);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-ghost-light{background:rgba(255,255,255,.08);color:#fff;border-color:var(--navy-line);}
.btn-ghost-light:hover{background:rgba(255,255,255,.16);}
.btn-block{width:100%;}
@media (max-width:900px){
  .nav-links{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:0;padding:8px 16px 16px;display:none;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:12px 0;width:100%;font-size:15px;}
  .menu-toggle{display:flex;}
  .nav-cta .btn{display:none;}
  .nav-links a.menu-strong{color:var(--text);font-weight:700;}
}
@media (min-width:901px){ .menu-only{display:none !important;} }

/* hero */
.hero{background:radial-gradient(120% 140% at 15% -10%,#152552 0%,var(--navy-1) 45%,var(--navy-2) 100%);color:#fff;padding-block:60px 0;overflow:hidden;}
body.tel .hero{background:radial-gradient(120% 140% at 15% -10%,#0f3a2f 0%,#0b1d1a 45%,var(--navy-2) 100%);}
.hero-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center;}
.hero-copy .eyebrow{color:#8fd6d0;display:flex;align-items:center;gap:8px;}
.hero-copy .eyebrow::before{content:"";width:6px;height:6px;border-radius:99px;background:#8fd6d0;}
.hero-copy h1{font-size:clamp(31px,4.8vw,48px);line-height:1.07;margin:14px 0 16px;letter-spacing:-.02em;}
.hero-copy h1 span{color:#8fb4ff;}
body.tel .hero-copy h1 span{color:#6fe3b4;}
.hero-copy p{color:#b9c3dd;font-size:17px;max-width:48ch;margin:0 0 26px;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.hero .btn-primary{background:#5b8bf0;color:#06101f;}
body.tel .hero .btn-primary{background:#4fd0a0;color:#06150f;}
.hero-note{font-size:13px;color:#8792ac;margin-bottom:26px;}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;padding-block:22px 38px;border-top:1px solid var(--navy-line);}
.hero-stats b{display:block;font-family:var(--font-display);font-size:21px;}
.hero-stats span{color:#8792ac;font-size:12.5px;}
.hero-shot{align-self:end;transform:translateY(2px);}
.browser-chrome{background:#1a2540;border-radius:14px 14px 0 0;padding:10px 14px;display:flex;align-items:center;gap:7px;border:1px solid var(--navy-line);border-bottom:none;}
.browser-chrome i{width:9px;height:9px;border-radius:99px;background:#3a4a70;display:block;}
.browser-chrome .url{margin-left:10px;font-size:11px;color:#7d89a8;background:#0f1830;border-radius:99px;padding:4px 12px;}
.hero-shot img{border:1px solid var(--navy-line);border-top:none;box-shadow:var(--shadow-lg);width:100%;height:auto;}
@media (max-width:900px){
  .hero{padding-top:40px;}
  .hero-inner{grid-template-columns:1fr;gap:20px;}
  .hero-stats{padding-bottom:22px;}
}

/* strip */
.strip{background:var(--navy-2);color:#cdd6ee;padding:20px 0;border-bottom:1px solid var(--navy-line);}
.strip-inner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;}
.chip-lite{font-size:13px;font-weight:600;color:#aeb9d6;padding:6px 13px;border:1px solid var(--navy-line);border-radius:99px;}
.chip-lite b{color:#fff;font-weight:700;}

/* cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media (max-width:860px){ .grid-3{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .grid-3,.grid-2{grid-template-columns:1fr;} }
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;}
.card .ic{width:40px;height:40px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.card .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.card h3{font-size:16.5px;margin:0 0 6px;}
.card p{margin:0;font-size:14px;}
.badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:3px 9px;vertical-align:middle;margin-left:6px;background:var(--warn-soft);color:var(--warn);}
.badge.live{background:var(--green-soft);color:var(--green-ink);}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s;}
@media (max-width:900px){ .steps{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .steps{grid-template-columns:1fr;} }
.step{position:relative;padding:22px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);counter-increment:s;}
.step::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-on);font-weight:800;font-family:var(--font-display);margin-bottom:12px;}
.step h3{font-size:16px;margin:0 0 6px;}
.step p{font-size:13.5px;margin:0;}

/* roles table */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);}
table{border-collapse:collapse;width:100%;min-width:560px;}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:top;}
th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);background:var(--surface-2);}
tr:last-child td{border-bottom:0;}
td:first-child{font-weight:700;white-space:nowrap;}
td{color:var(--text-muted);}
td:first-child{color:var(--text);}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;}
@media (max-width:900px){ .plans{grid-template-columns:1fr;max-width:460px;} }
.plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;position:relative;}
.plan.pop{border:2px solid var(--accent);box-shadow:var(--shadow-md);}
.plan .tag{position:absolute;top:-12px;left:24px;background:var(--accent);color:var(--accent-on);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:4px 12px;}
.plan h3{font-size:19px;margin:0 0 4px;}
.plan .for{font-size:13.5px;min-height:50px;margin:0 0 14px;}
.plan .price{display:flex;align-items:baseline;gap:6px;}
.plan .price b{font-family:var(--font-display);font-size:38px;letter-spacing:-.02em;}
.plan .price span{color:var(--text-subtle);font-size:13px;}
.plan .xcg{font-size:12.5px;color:var(--text-subtle);margin:2px 0 18px;}
.plan ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px;flex:1;align-content:start;}
.plan li{display:flex;gap:10px;font-size:14px;color:var(--text-muted);}
.plan li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232457d9' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat;}
.plan li b{color:var(--text);}
.plan-note{margin-top:22px;padding:16px 18px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text);font-size:14px;}
.plan-note b{color:var(--accent-ink);}

/* tel band */
.tel-band{border-radius:22px;padding:34px;background:linear-gradient(135deg,#0f3a2f,#0b1d1a);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;}
.tel-band img{width:84px;height:84px;border-radius:20px;}
.tel-band h2{margin:0 0 6px;font-size:clamp(22px,3vw,28px);}
.tel-band p{color:#b8d9cc;margin:0;max-width:56ch;}
.tel-band .btn{background:#4fd0a0;color:#06150f;}
@media (max-width:760px){ .tel-band{grid-template-columns:1fr;text-align:left;} }

/* faq */
.faq{display:grid;gap:10px;max-width:820px;}
details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:0;}
summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:700;font-family:var(--font-display);font-size:15.5px;display:flex;justify-content:space-between;align-items:center;gap:14px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";font-size:22px;color:var(--accent);line-height:1;flex:none;}
details[open] summary::after{content:"\2013";}
details p{padding:0 18px 16px;margin:0;font-size:14.5px;}

/* contact */
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start;}
@media (max-width:820px){ .contact{grid-template-columns:1fr;} }
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;}
.contact-card h3{margin:0 0 10px;font-size:17px;}
.contact-card .big{font-family:var(--font-display);font-size:18px;font-weight:800;word-break:break-all;}
.checks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px;}
.checks li{font-size:14.5px;color:var(--text-muted);padding-left:26px;position:relative;}
.checks li::before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:800;}

/* footer */
footer{background:var(--navy-2);color:#9aa6c2;padding-block:40px 28px;margin-top:0;}
.foot{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start;}
.foot .brand{color:#fff;}
.foot .brand .word i{color:#8fb4ff;}
.foot .brand .sub{color:#7d89a8;}
.foot p{color:#9aa6c2;font-size:13.5px;max-width:42ch;margin:12px 0 0;}
.foot nav{display:flex;gap:18px;flex-wrap:wrap;}
.foot nav a{color:#cdd6ee;text-decoration:none;font-size:14px;font-weight:600;}
.foot nav a:hover{color:#fff;}
.legal{border-top:1px solid var(--navy-line);margin-top:28px;padding-top:18px;font-size:12.5px;color:#7d89a8;}

/* chatbot */
.cb-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:9px;background:var(--accent);color:var(--accent-on);border:0;border-radius:99px;padding:13px 18px 13px 15px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:var(--shadow-lg);}
.cb-fab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;}
.cb-panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:70;width:min(390px,calc(100vw - 32px));height:min(600px,calc(100dvh - 32px));background:var(--surface);border:1px solid var(--border-strong);border-radius:20px;box-shadow:var(--shadow-lg);display:none;flex-direction:column;overflow:hidden;}
.cb-panel.open{display:flex;}
.cb-head{display:flex;align-items:center;gap:11px;padding:14px 16px;background:linear-gradient(135deg,var(--navy-1),#17306b);color:#fff;}
body.tel .cb-head{background:linear-gradient(135deg,#0b1d1a,#0f3a2f);}
.cb-head img{width:34px;height:34px;border-radius:9px;}
.cb-head b{display:block;font-family:var(--font-display);font-size:15px;line-height:1.2;}
.cb-head small{color:#b9c3dd;font-size:12px;}
.cb-close{margin-left:auto;background:rgba(255,255,255,.12);border:0;color:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;font-size:18px;line-height:1;}
.cb-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg);}
.cb-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5;word-wrap:break-word;}
.cb-msg.bot{background:var(--surface);border:1px solid var(--border);color:var(--text);border-top-left-radius:4px;align-self:flex-start;}
.cb-msg.me{background:var(--accent);color:var(--accent-on);border-top-right-radius:4px;align-self:flex-end;}
.cb-msg a{color:inherit;font-weight:700;}
.cb-msg.bot a{color:var(--accent);}
.cb-msg p{margin:0 0 8px;color:inherit;}
.cb-msg p:last-child{margin:0;}
.cb-msg ul{margin:4px 0 8px;padding-left:18px;}
.cb-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 10px;background:var(--bg);}
.cb-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:99px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;}
.cb-chip:hover{border-color:var(--accent);color:var(--accent);}
.cb-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border);background:var(--surface);}
.cb-form input{flex:1;min-width:0;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:10px;padding:11px 13px;font-size:16px;font-family:inherit;}
.cb-form button{border:0;background:var(--accent);color:var(--accent-on);border-radius:10px;padding:0 16px;font-weight:700;cursor:pointer;}
.cb-foot{font-size:11.5px;color:var(--text-subtle);text-align:center;padding:0 12px 10px;background:var(--surface);}
@media (max-width:520px){ .cb-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0;} .cb-fab span{display:none;} .cb-fab{padding:14px;} }
