/* ============ kojro_ brand theme ============ */
:root{
  --kojro_c1:#2563EB; --kojro_c2:#EC4899;
  --kojro_grad:linear-gradient(90deg,var(--kojro_c1),var(--kojro_c2));
  --kojro_bg:#F8FAFC; --kojro_card:#FFFFFF; --kojro_ink:#0F172A; --kojro_mute:#475569;
  --kojro_line:#E2E8F0;
  --kojro_dark:#0F172A; --kojro_code1:#93C5FD; --kojro_code2:#F9A8D4;
  --kojro_r1:2px; --kojro_r2:4px; --kojro_r3:6px;
  --kojro_sp:clamp(56px,7vw,112px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--kojro_bg);color:var(--kojro_ink);line-height:1.6;font-size:clamp(15px,1.05vw,18px)}
img,svg{display:block;max-width:100%}
a{color:var(--kojro_c1)}
.kojro_wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.kojro_sec{padding:var(--kojro_sp) 0}
.kojro_h2{font-size:clamp(24px,2.4vw,36px);font-weight:800;letter-spacing:-.01em;margin-bottom:12px}
.kojro_h2 span{background:var(--kojro_grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kojro_sub{color:var(--kojro_mute);max-width:640px;margin-bottom:clamp(24px,3vw,44px)}
.kojro_h3{font-size:clamp(17px,1.3vw,20px);font-weight:700;margin-bottom:6px}
/* ============ gradient border (mask technique) ============ */
.kojro_gb{position:relative;background:var(--kojro_card);border-radius:var(--kojro_r3)}
.kojro_gb::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:var(--kojro_grad);opacity:.35;transition:opacity .25s;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.kojro_gb:hover::before,.kojro_gb:focus-within::before{opacity:1}
.kojro_gb:hover{box-shadow:0 8px 30px rgba(37,99,235,.08)}
/* ============ buttons ============ */
.kojro_btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
  padding:0 clamp(18px,2vw,28px);border:none;border-radius:var(--kojro_r1);cursor:pointer;
  font:inherit;font-weight:600;color:#fff;background:var(--kojro_grad);background-size:150% 100%;
  transition:background-position .3s,transform .15s,box-shadow .3s}
.kojro_btn:hover{background-position:100% 0;transform:translateY(-1px);box-shadow:0 6px 20px rgba(236,72,153,.25)}
.kojro_btn:active{transform:translateY(0)}
.kojro_btn2{background:#fff;color:var(--kojro_c1);border-radius:var(--kojro_r1);font-weight:600;
  padding:0 clamp(18px,2vw,28px);min-height:44px;display:inline-flex;align-items:center;cursor:pointer;position:relative;border:none;font:inherit;font-weight:600}
.kojro_btn2::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--kojro_grad);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;transition:opacity .25s}
.kojro_btn2:hover{background:linear-gradient(90deg,rgba(37,99,235,.06),rgba(236,72,153,.06))}
/* ============ skip link / a11y ============ */
.kojro_skip{position:absolute;left:-9999px;top:0;background:var(--kojro_c1);color:#fff;padding:10px 16px;border-radius:var(--kojro_r1);z-index:100}
.kojro_skip:focus{left:12px;top:12px}
:focus-visible{outline:2px solid var(--kojro_c1);outline-offset:2px}
/* ============ header ============ */
.kojro_head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--kojro_line)}
.kojro_head .kojro_wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
.kojro_logo{font-weight:800;font-size:20px;text-decoration:none;background:var(--kojro_grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kojro_menu{display:flex;list-style:none;gap:clamp(16px,2.5vw,32px)}
.kojro_menu a{position:relative;text-decoration:none;color:var(--kojro_ink);font-weight:500;padding:8px 2px}
.kojro_menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--kojro_grad);transform:scaleX(0);transition:transform .25s;transform-origin:left}
.kojro_menu a:hover::after,.kojro_menu a:focus-visible::after{transform:scaleX(1)}
.kojro_menu a:hover,.kojro_menu a:focus-visible{color:var(--kojro_c1)}
.kojro_burger{display:none;width:44px;height:44px;border:none;background:none;cursor:pointer;position:relative}
.kojro_burger span,.kojro_burger::before,.kojro_burger::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:var(--kojro_c1);border-radius:2px;transition:.3s}
.kojro_burger::before{top:14px}.kojro_burger span{top:21px}.kojro_burger::after{top:28px}
.kojro_burger[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}
.kojro_burger[aria-expanded="true"] span{opacity:0}
.kojro_burger[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:760px){
  .kojro_burger{display:block}
  .kojro_menu{position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--kojro_line);padding:8px 16px 16px;box-shadow:0 12px 24px rgba(15,23,42,.08);transform:translateY(-8px);opacity:0;visibility:hidden;transition:.25s}
  .kojro_menu.kojro_open{transform:translateY(0);opacity:1;visibility:visible}
  .kojro_menu a{display:block;padding:12px 4px}
}
/* ============ hero ============ */
.kojro_hero{padding:clamp(64px,9vw,140px) 0}
.kojro_hero h1{font-size:clamp(30px,4.6vw,58px);font-weight:800;letter-spacing:-.02em;line-height:1.15;max-width:820px}
.kojro_hero h1 span{background:var(--kojro_grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kojro_hero p{color:var(--kojro_mute);font-size:clamp(16px,1.3vw,20px);max-width:560px;margin:20px 0 32px}
.kojro_hero-cta{display:flex;gap:14px;flex-wrap:wrap}
/* ============ sliders ============ */
.kojro_slider{overflow:hidden;border-radius:var(--kojro_r3)}
.kojro_track{display:flex;transition:transform .5s ease}
.kojro_slide{flex:0 0 100%;padding:4px}
@media (min-width:760px){.kojro_reviews-track .kojro_slide{flex:0 0 50%}}
@media (min-width:1100px){.kojro_reviews-track .kojro_slide{flex:0 0 33.3333%}}
.kojro_snav{display:flex;gap:10px;justify-content:center;margin-top:22px}
.kojro_sbtn{width:40px;height:40px;border:none;border-radius:var(--kojro_r1);background:#fff;cursor:pointer;color:var(--kojro_c1);font-size:18px;font-weight:700;position:relative}
.kojro_sbtn::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--kojro_grad);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.kojro_sbtn:hover{background:linear-gradient(90deg,rgba(37,99,235,.08),rgba(236,72,153,.08))}
.kojro_dots{display:flex;gap:8px;justify-content:center;margin-top:14px}
.kojro_dot{width:10px;height:10px;border:none;border-radius:50%;background:var(--kojro_line);cursor:pointer;padding:0;transition:.25s}
.kojro_dot.kojro_active{background:var(--kojro_grad);width:24px;border-radius:6px}
/* service slide card */
.kojro_scard{height:100%;padding:clamp(22px,3vw,36px);text-align:left}
.kojro_scard .kojro_tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--kojro_grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}
/* ============ chips ============ */
.kojro_chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}
.kojro_chip{padding:8px 16px;border-radius:var(--kojro_r1);font-weight:600;font-size:14px;position:relative;background:#fff}
.kojro_chip::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--kojro_grad);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.kojro_chip:hover{background:linear-gradient(90deg,rgba(37,99,235,.07),rgba(236,72,153,.07))}
/* ============ grids/cards ============ */
.kojro_grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.kojro_card{padding:clamp(20px,2.4vw,30px);height:100%}
.kojro_price{font-size:22px;font-weight:800;margin:12px 0}
.kojro_small{color:var(--kojro_mute);font-size:14px}
.kojro_ico{width:46px;height:46px;border-radius:var(--kojro_r2);background:var(--kojro_grad);display:grid;place-items:center;color:#fff;font-weight:800;margin-bottom:14px}
/* ============ table ============ */
.kojro_table{width:100%;border-collapse:separate;border-spacing:0;min-width:520px}
.kojro_tablewrap{overflow-x:auto;padding:1px;border-radius:var(--kojro_r3);position:relative;background:var(--kojro_card)}
.kojro_tablewrap::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--kojro_grad);opacity:.35;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.kojro_table th,.kojro_table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--kojro_line)}
.kojro_table thead th{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--kojro_mute)}
.kojro_table .kojro_ok{background:var(--kojro_grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
.kojro_table .kojro_no{color:#94A3B8}
/* ============ steps ============ */
.kojro_steps{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:kojro_step}
.kojro_step{counter-increment:kojro_step;padding:clamp(20px,2.4vw,28px)}
.kojro_step::after{content:counter(kojro_step);position:absolute;top:14px;right:18px;font-size:44px;font-weight:800;line-height:1;
  background:var(--kojro_grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.25}
/* ============ reviews ============ */
.kojro_review{height:100%;padding:clamp(20px,2.4vw,28px)}
.kojro_rhead{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.kojro_avatar{width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px;background:var(--kojro_grad)}
.kojro_rname{font-weight:700}
.kojro_rrole{font-size:13px;color:var(--kojro_mute)}
.kojro_rtext{color:var(--kojro_mute)}
.kojro_rstars{color:var(--kojro_c2);letter-spacing:2px;margin-top:10px}
/* ============ frebie / code ============ */
.kojro_frebie{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center}
.kojro_code{background:var(--kojro_dark);border-radius:var(--kojro_r3);padding:clamp(18px,2.4vw,28px);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(12px,.95vw,14px);line-height:1.7;overflow-x:auto;color:#E2E8F0}
.kojro_code .k1{color:var(--kojro_code1)}.kojro_code .k2{color:var(--kojro_code2)}.kojro_code .kc{color:#64748B}
/* ============ details (FAQ) ============ */
.kojro_faq{display:grid;gap:12px;max-width:760px}
.kojro_faq details{position:relative;background:var(--kojro_card);border-radius:var(--kojro_r2);transition:background .25s,box-shadow .25s}
.kojro_faq details::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--kojro_grad);opacity:.4;transition:opacity .25s;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.kojro_faq details:hover,.kojro_faq details[open]{opacity:1}
.kojro_faq details:hover::before,.kojro_faq details[open]::before{opacity:1}
.kojro_faq details:hover,.kojro_faq details[open]{background:linear-gradient(90deg,rgba(37,99,235,.04),rgba(236,72,153,.04))}
.kojro_faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 18px;font-weight:700;border-radius:inherit}
.kojro_faq summary::-webkit-details-marker{display:none}
.kojro_faq summary::after{content:"+";font-size:24px;font-weight:700;line-height:1;color:var(--kojro_c1);transition:transform .3s,color .3s;flex:none}
.kojro_faq details[open] summary::after{transform:rotate(45deg);color:var(--kojro_c2)}
.kojro_faq details[open] summary{border-radius:var(--kojro_r2) var(--kojro_r2) 0 0}
.kojro_faq details[open] .kojro_ans{border-top:1px solid transparent;position:relative;padding:14px 18px;color:var(--kojro_mute)}
.kojro_faq details[open] .kojro_ans::before{content:"";position:absolute;top:0;left:18px;right:18px;height:1px;background:var(--kojro_grad);opacity:.5}
/* ============ forms ============ */
.kojro_form{max-width:520px}
.kojro_frow{position:relative;border-radius:var(--kojro_r1);margin-bottom:14px;background:#fff}
.kojro_frow::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--kojro_grad);opacity:.3;transition:opacity .25s;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.kojro_frow:focus-within::before{opacity:1;box-shadow:0 0 0 3px rgba(37,99,235,.15);border-radius:inherit}
.kojro_frow input,.kojro_frow select{width:100%;border:none;background:none;padding:13px 14px;font:inherit;border-radius:inherit;min-height:44px}
.kojro_frow input:focus,.kojro_frow select:focus{outline:none}
.kojro_note{font-size:13px;color:var(--kojro_mute);margin-top:10px}
.kojro_msg{display:none;margin-top:14px;padding:12px 16px;border-radius:var(--kojro_r1);font-weight:600;position:relative;background:#fff}
.kojro_msg::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--kojro_grad);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.kojro_msg.kojro_on{display:block}
.kojro_hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
/* ============ CTA banner ============ */
.kojro_cta{border-radius:var(--kojro_r3);background:var(--kojro_grad);color:#fff;text-align:center;padding:clamp(36px,5vw,64px) clamp(20px,4vw,48px)}
.kojro_cta h2{font-size:clamp(22px,2.6vw,36px);margin-bottom:10px}
.kojro_cta p{opacity:.9;max-width:560px;margin:0 auto 24px}
.kojro_cta .kojro_btn{background:#fff;color:var(--kojro_c1)}
/* ============ footer ============ */
.kojro_foot{background:var(--kojro_dark);color:#CBD5E1;padding:clamp(40px,5vw,64px) 0}
.kojro_foot a{color:#93C5FD;text-decoration:none}
.kojro_foot a:hover{color:var(--kojro_code2)}
.kojro_fgrid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.kojro_fbot{margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}