/*
 * KOR Core - štýly detailu služby.
 * Prevzaté zo snippetu „(STYLE) SERVICES template“.
 */

:root{
  --kor-bg:#eeeeee;
  --kor-accent:#3737c0;
  --kor-accent-2:#6b6bdb;
  --kor-accent-rgb:55, 55, 192;
  --kor-accent-2-rgb:107, 107, 219;
  --kor-accent-dark:#2d2d9d;
  --kor-accent-light:#6363ce;
  --kor-dark:#050505;
  --kor-white:#ffffff;
  --kor-muted:#5f5f5f;
  --kor-line:rgba(255,255,255,.12);
  --kor-line-dark:rgba(0,0,0,.08);
  --kor-radius:30px;
  --kor-radius-sm:20px;
  --kor-shadow:0 30px 80px rgba(0,0,0,.14);
  --kor-max:1440px;
}

html{ scroll-behavior:smooth; }
body.single-services{ background:var(--kor-bg); }

body.single-services .u-header{
  z-index:100;
}

body.single-services .kor-service-page{
  /* Hlavička je vďaka `u-overlap` mimo toku, obsah preto nič nedorovnáva. */
  background:var(--kor-bg);
  color:var(--kor-dark);
  position:relative;
  overflow:hidden;
}

.kor-service-shell{
  width:min(calc(100% - 40px), var(--kor-max));
  margin:0 auto;
}

.kor-service-section{
  position:relative;
  padding:72px 0;
  /*
   * Rovnaké bočné odsadenie ako má úvodný blok aj sekcie na domovskej
   * (pri 1440 px teda 60…1380). Bez neho boli sekcie o 30 px širšie na
   * každej strane a úvodný blok pôsobil užšie než zvyšok stránky.
   */
  margin-left:30px;
  margin-right:30px;
}

.kor-service-section--light{ background:var(--kor-bg); }
.kor-service-section--dark{ background:var(--kor-dark); color:var(--kor-white); }
.kor-service-section--statement{ background:var(--kor-bg); padding-top:42px; padding-bottom:54px; }
.kor-service-section--expert{ background:var(--kor-bg); padding-top:16px; padding-bottom:48px; }

.kor-service-section--with-doodles{
  overflow:hidden;
}

.kor-section-scribble{
  position:absolute;
  pointer-events:none;
  opacity:.28;
}

.kor-section-scribble::before,
.kor-section-scribble::after{
  content:"";
  position:absolute;
  display:block;
}

.kor-section-scribble--1{
  left:3%;
  top:10%;
  width:120px;
  height:22px;
}
.kor-section-scribble--1::before,
.kor-section-scribble--1::after{
  width:120px;
  height:4px;
  background:rgba(var(--kor-accent-rgb), .38);
  border-radius:999px;
}
.kor-section-scribble--1::before{ top:0; transform:rotate(-6deg); }
.kor-section-scribble--1::after{ top:10px; transform:rotate(-3deg); }

.kor-section-scribble--2{
  right:6%;
  top:16%;
  width:110px;
  height:110px;
  border:6px solid rgba(var(--kor-accent-rgb), .24);
  border-radius:50%;
}

.kor-section-scribble--3{
  right:10%;
  bottom:16%;
  width:90px;
  height:90px;
}
.kor-section-scribble--3::before,
.kor-section-scribble--3::after{
  left:50%;
  top:50%;
  width:80px;
  height:4px;
  background:rgba(var(--kor-accent-rgb), .32);
  border-radius:999px;
}
.kor-section-scribble--3::before{ transform:translate(-50%,-50%) rotate(0); }
.kor-section-scribble--3::after{ transform:translate(-50%,-50%) rotate(90deg); }

.kor-section-scribble--4{
  left:6%;
  top:14%;
  width:140px;
  height:24px;
}
.kor-section-scribble--4::before,
.kor-section-scribble--4::after{
  width:140px;
  height:4px;
  background:rgba(var(--kor-accent-rgb), .34);
  border-radius:999px;
}
.kor-section-scribble--4::before{ top:0; transform:rotate(4deg); }
.kor-section-scribble--4::after{ top:11px; transform:rotate(1deg); }

.kor-section-scribble--5{
  right:3%;
  top:0;
  width:170px;
  height:170px;
  border:7px solid rgba(var(--kor-accent-rgb), .18);
  border-radius:50%;
}

.kor-section-scribble--6{
  left:4%;
  bottom:14%;
  width:100px;
  height:100px;
  border:5px solid rgba(var(--kor-accent-rgb), .2);
  border-radius:50%;
}
.kor-section-scribble--7{
  right:5%;
  top:20%;
  width:120px;
  height:22px;
}
.kor-section-scribble--7::before,
.kor-section-scribble--7::after{
  width:120px;
  height:4px;
  background:rgba(var(--kor-accent-rgb), .3);
  border-radius:999px;
}
.kor-section-scribble--7::before{ top:0; transform:rotate(-8deg); }
.kor-section-scribble--7::after{ top:10px; transform:rotate(-3deg); }

.kor-section-scribble--8{
  left:5%;
  top:18%;
  width:95px;
  height:95px;
}
.kor-section-scribble--8::before,
.kor-section-scribble--8::after{
  left:50%;
  top:50%;
  width:86px;
  height:4px;
  background:rgba(var(--kor-accent-rgb), .28);
  border-radius:999px;
}
.kor-section-scribble--8::before{ transform:translate(-50%,-50%) rotate(0); }
.kor-section-scribble--8::after{ transform:translate(-50%,-50%) rotate(90deg); }

.kor-section-scribble--9{
  right:4%;
  bottom:16%;
  width:150px;
  height:26px;
}
.kor-section-scribble--9::before,
.kor-section-scribble--9::after{
  width:150px;
  height:4px;
  background:rgba(var(--kor-accent-rgb), .28);
  border-radius:999px;
}
.kor-section-scribble--9::before{ top:0; transform:rotate(7deg); }
.kor-section-scribble--9::after{ top:12px; transform:rotate(2deg); }

.kor-service-kicker,
.kor-service-section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  line-height:1;
  letter-spacing:.02em;
  font-weight:700;
  text-transform:uppercase;
}

.kor-service-kicker--light{ color:rgba(255,255,255,.86); }

.kor-service-heading{ margin-bottom:32px; }

.kor-service-section-title{
  margin:14px 0 0;
  font-size:clamp(42px, 6vw, 88px);
  line-height:.93;
  letter-spacing:-.05em;
  font-weight:700;
  max-width:1080px;
}

.kor-service-section-title--light{ color:#fff; }

.kor-service-section-text{
  max-width:780px;
  margin-top:18px;
  font-size:18px;
  line-height:1.65;
  color:#2e2e2e;
}

.kor-service-section-text--light{ color:rgba(255,255,255,.76); }

.kor-service-hero{
  position:relative;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.18), transparent 30%),
    radial-gradient(circle at 80% 40%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(135deg, var(--kor-accent-dark) 0%, var(--kor-accent) 38%, var(--kor-accent-light) 100%);
  /*
   * Zhodné s úvodnou sekciou na domovskej. Tam farebnú plochu drží blok
   * z Nicepage, ktorý ide až po hranu obsahovej mriežky — preto tu bočný
   * margin nie je žiadny (pri 1440 px teda 30…1410). Sekcie pod hero majú
   * o 30 px viac na každej strane, presne ako na domovskej.
   */
  border-radius:30px;
  overflow:hidden;
  margin:10px 0;
  min-height:calc(100vh - 20px);
  display:flex;
  align-items:center;
}

.kor-service-hero__bg{
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:38px 38px;
  mix-blend-mode:soft-light;
}

.kor-service-hero__noise,
.kor-cta-banner__noise{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background-image:radial-gradient(rgba(255,255,255,.6) .7px, transparent .7px);
  background-size:8px 8px;
}

.kor-service-hero__shell{
  position:relative;
  z-index:2;
  padding:200px 0 130px;
}

.kor-service-hero__grid{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(390px, .92fr);
  gap:34px;
  align-items:center;
}

.kor-service-hero__eyebrow-wrap{
  margin-bottom:18px;
}

.kor-service-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:10px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#fff;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  animation:korHeroPulse 2.8s ease-in-out infinite;
}

@keyframes korHeroPulse{
  0%,100%{ transform:translateY(0); box-shadow:0 10px 30px rgba(0,0,0,.08); }
  50%{ transform:translateY(-2px); box-shadow:0 16px 40px rgba(255,255,255,.12); }
}

.kor-service-hero__title{
  margin:0;
  color:#fff;
  font-size:clamp(56px, 8vw, 134px);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:700;
  max-width:860px;
}

.kor-service-hero__title-line{
  display:inline;
  position:relative;
}

.kor-service-hero__text{
  max-width:720px;
  margin-top:24px;
  color:rgba(255,255,255,.94);
  font-size:20px;
  line-height:1.5;
  font-weight:500;
}

.kor-service-hero__text p{ margin:0; }

.kor-service-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.kor-service-btn{
  min-height:62px;
  padding:16px 24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-decoration:none !important;
  font-size:18px;
  line-height:1;
  font-weight:700;
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease;
}

.kor-service-btn:hover{ transform:translateY(-4px) scale(1.015); }

.kor-service-btn__icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 20px;
}

.kor-service-btn__icon svg{
  width:20px;
  height:20px;
  display:block;
}

.kor-service-btn--primary{
  background:#000;
  color:#fff !important;
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.kor-service-btn--secondary{
  background:rgba(255,255,255,.9);
  color:#000 !important;
}

.kor-service-btn--white{
  background:#fff;
  color:#000 !important;
}

.kor-service-btn--full{
  width:100%;
  margin-top:22px;
}

.kor-service-hero__visual{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1200px;
}

.kor-service-hero__card,
.kor-service-doodle,
.kor-service-hero__float{
  transition:transform .22s ease-out;
  will-change:transform;
}

.kor-service-hero__card{
  position:relative;
  width:min(100%, 500px);
  aspect-ratio:4/5;
  border-radius:34px;
  padding:14px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 50px 120px rgba(0,0,0,.28);
  transform:rotate(-4deg);
}

.kor-service-hero__mockup{
  width:100%;
  height:100%;
  border-radius:26px;
  overflow:hidden;
  color:#fff;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:18px;
  background:
    radial-gradient(circle at top right, rgba(var(--kor-accent-rgb), .34), transparent 36%),
    linear-gradient(180deg, #090909 0%, #111111 100%);
}

.kor-service-hero__mockup-logo img{
  height:42px;
  width:auto;
  display:block;
}

.kor-service-hero__mockup-image{
  width:100%;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  aspect-ratio:16 / 9;
  /*
   * Obal je flexbox so zadanou výškou, takže položky v ňom stláča — `aspect-ratio`
   * pritom prehrá a obrázok sa scvrkne (na mobile mal výšku 16 px). Zmenšovanie
   * treba vypnúť a dolnú hranicu poistiť.
   */
  flex:0 0 auto;
  min-height:120px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}

.kor-service-hero__mockup-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.kor-service-hero__mockup-main{
  display:flex;
  flex-direction:column;
  gap:20px;
  justify-content:flex-start;
}

.kor-service-hero__mockup-title{
  font-size:clamp(28px, 4vw, 48px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:700;
}

.kor-service-hero__mockup-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.kor-service-hero__mockup-badge{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
  line-height:1.1;
  font-weight:700;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.kor-service-hero__mockup-badge:nth-child(3n+1){
  background:rgba(var(--kor-accent-rgb), .22);
  border-color:rgba(var(--kor-accent-rgb), .32);
}
.kor-service-hero__mockup-badge:nth-child(3n+2){
  background:rgba(255,255,255,.08);
}
.kor-service-hero__mockup-badge:nth-child(3n+3){
  background:rgba(255,174,120,.16);
  border-color:rgba(255,174,120,.24);
}

.kor-service-hero__float{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}

.kor-service-hero__float--a{
  width:132px;
  height:132px;
  border:8px solid rgba(255,255,255,.45);
  right:0;
  top:68px;
}
.kor-service-hero__float--b{
  width:170px;
  height:14px;
  background:rgba(255,255,255,.62);
  right:16px;
  top:188px;
  transform:rotate(-18deg);
}
.kor-service-hero__float--c{
  width:170px;
  height:170px;
  border:5px solid rgba(255,255,255,.48);
  left:18px;
  bottom:26px;
}
.kor-service-hero__float--d{
  width:48px;
  height:48px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.24);
  left:54px;
  top:136px;
}

.kor-service-doodle{
  position:absolute;
  pointer-events:none;
  opacity:.92;
}

.kor-service-doodle--cross{
  width:92px;
  height:92px;
  left:20px;
  top:134px;
}
.kor-service-doodle--cross::before,
.kor-service-doodle--cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:82px;
  height:3px;
  background:rgba(255,255,255,.88);
  transform-origin:center;
}
.kor-service-doodle--cross::before{ transform:translate(-50%,-50%) rotate(0deg); }
.kor-service-doodle--cross::after{ transform:translate(-50%,-50%) rotate(90deg); }

.kor-service-doodle--circle{
  width:112px;
  height:112px;
  border:5px solid rgba(255,255,255,.7);
  border-radius:50%;
  right:42px;
  bottom:90px;
}

.kor-service-doodle--line{
  width:120px;
  height:18px;
  border-top:5px solid rgba(255,255,255,.75);
  border-bottom:5px solid rgba(255,255,255,.75);
  left:30px;
  bottom:138px;
  transform:rotate(-4deg);
}

.kor-law-title{
  display:inline-block;
  position:relative;
}

.kor-law-title__word{
  position:relative;
  display:inline-block;
  white-space:nowrap;
  color:var(--kor-accent);
}

.kor-law-title__svg{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}

.kor-law-title__svg path{
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.kor-law-title__circle{
  position:absolute;
  left:-9%;
  top:-15%;
  width:118%;
  height:128%;
  color:var(--kor-accent);
  pointer-events:none;
}

.kor-law-title__circle path{
  stroke-width:8;
  stroke-dasharray:900;
  stroke-dashoffset:900;
}

.kor-law-title__underline{
  position:absolute;
  left:-2%;
  width:104%;
  height:.30em;
  bottom:-0.05em;
  color:var(--kor-accent);
  pointer-events:none;
}

.kor-law-title__underline path{
  stroke-width:9;
  stroke-dasharray:360;
  stroke-dashoffset:360;
}

.js-kor-law-title-wrap.is-visible .kor-law-title__circle path{
  animation:korDrawCircle 1.15s cubic-bezier(.22,.61,.36,1) .1s forwards;
}
.js-kor-law-title-wrap.is-visible .kor-law-title__underline path{
  animation:korDrawUnderline 1s cubic-bezier(.22,.61,.36,1) .08s forwards;
}
.js-kor-law-title-wrap.is-visible .kor-law-title__word{
  animation:korFloatSoft 4.9s ease-in-out 1.2s infinite;
}

@keyframes korDrawCircle{ to{ stroke-dashoffset:0; } }
@keyframes korDrawUnderline{ to{ stroke-dashoffset:0; } }
@keyframes korFloatSoft{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-2px); }
}

.kor-benefits-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:16px;
}

.kor-benefit-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.04);
  border-radius:22px;
  padding:22px;
  min-height:220px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.kor-benefit-card:hover{
  transform:translateY(-8px) rotate(-1deg);
  box-shadow:var(--kor-shadow);
  border-color:rgba(var(--kor-accent-rgb), .22);
}

.kor-benefit-card__index{
  font-size:68px;
  line-height:.8;
  letter-spacing:-.08em;
  font-weight:700;
}

.kor-benefit-card__title{
  margin:0;
  font-size:22px;
  line-height:.94;
  letter-spacing:-.045em;
  font-weight:700;
}

.kor-benefit-card__text{
  margin:0;
  color:#4c4c4c;
  font-size:16px;
  line-height:1.55;
}

.kor-expert-card{
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  gap:34px;
  align-items:start;
  padding:28px;
  background:#fff;
  border-radius:34px;
  box-shadow:0 20px 60px rgba(0,0,0,.06);
  overflow:hidden;
  position:relative;
}

.kor-expert-card::before{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:240px;
  height:240px;
  border-radius:50%;
  border:8px solid rgba(var(--kor-accent-rgb), .14);
}

.kor-expert-card__media{
  align-self:start;
  position:sticky;
  top:120px;
}

.kor-expert-card__photo-wrap{
  position:relative;
  aspect-ratio:4/5;
  border-radius:26px;
  overflow:hidden;
  background:#d7d7d7;
}

.kor-expert-card__photo{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(1) contrast(1.05);
  transition:transform .45s ease, filter .45s ease;
}

.kor-expert-card:hover .kor-expert-card__photo{
  transform:scale(1.04);
  filter:grayscale(.92) contrast(1.08);
}

.kor-expert-card__photo--placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:90px;
  font-weight:700;
  color:#000;
}

.kor-expert-card__title{
  margin:10px 0 0;
  font-size:clamp(38px, 4vw, 70px);
  line-height:.92;
  letter-spacing:-.055em;
  font-weight:700;
}

.kor-expert-card__focus{
  display:inline-flex;
  margin-top:14px;
  min-height:42px;
  padding:10px 14px;
  align-items:center;
  border-radius:999px;
  background:rgba(var(--kor-accent-rgb), .12);
  color:var(--kor-accent);
  font-weight:700;
}

.kor-expert-card__text,
.kor-expert-card__bio{
  margin-top:18px;
  max-width:760px;
  font-size:18px;
  line-height:1.7;
  color:#2f2f2f;
}

.kor-expert-card__bio p:first-child{ margin-top:0; }

.kor-expert-card__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.kor-expert-card__links a,
.kor-expert-card__links a:hover,
.kor-expert-card__links a:focus,
.kor-expert-card__links a:visited{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:#111;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700;
  transition:transform .24s ease, background .24s ease;
}

.kor-expert-card__links a:hover{
  transform:translateY(-2px);
  background:var(--kor-accent);
  color:#fff !important;
}

.kor-areas-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.kor-area-card{
  display:grid;
  grid-template-columns:110px minmax(0,.8fr) minmax(0,1.2fr);
  gap:24px;
  align-items:start;
  padding:26px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  transition:transform .28s ease, border-color .28s ease, background .28s ease;
}

.kor-area-card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--kor-accent-rgb), .45);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}

.kor-area-card__no{
  font-size:72px;
  line-height:.85;
  letter-spacing:-.08em;
  color:var(--kor-accent);
  font-weight:700;
}

.kor-area-card__title{
  margin:0;
  font-size:38px;
  line-height:.94;
  letter-spacing:-.05em;
  font-weight:700;
  color:#fff;
}

.kor-area-card__text{
  margin:16px 0 0;
  color:rgba(255,255,255,.68);
  font-size:17px;
  line-height:1.6;
}

.kor-area-card__items{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.kor-area-pill{
  display:inline-flex;
  align-items:center;
  min-height:50px;
  padding:12px 16px;
  border-radius:999px;
  font-size:15px;
  line-height:1.35;
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .24s ease, background .24s ease, border-color .24s ease;
}

.kor-area-pill:hover{
  transform:translateY(-4px);
  background:rgba(var(--kor-accent-rgb), .18);
  border-color:rgba(var(--kor-accent-rgb), .38);
}

.kor-process-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

.kor-process-card{
  position:relative;
  padding:24px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  border:1px solid rgba(0,0,0,.05);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease;
}

.kor-process-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg, var(--kor-accent), var(--kor-accent-light));
}

.kor-process-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--kor-shadow);
}

.kor-process-card__no{
  font-size:72px;
  line-height:.82;
  letter-spacing:-.08em;
  color:rgba(var(--kor-accent-rgb), .17);
  font-weight:700;
}

.kor-process-card__title{
  margin:8px 0 0;
  font-size:34px;
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:700;
}

.kor-process-card__text{
  margin:16px 0 0;
  font-size:17px;
  line-height:1.6;
  color:#4b4b4b;
}

.kor-statement{
  background:#fff;
  border-radius:34px;
  padding:38px;
  box-shadow:0 16px 50px rgba(0,0,0,.06);
  position:relative;
  overflow:hidden;
}

.kor-statement::before{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-40px;
  width:260px;
  height:180px;
  border:7px solid rgba(var(--kor-accent-rgb), .22);
  border-radius:50%;
  transform:rotate(-7deg);
  pointer-events:none;
}

.kor-statement__title{
  margin:0;
  max-width:980px;
  font-size:clamp(42px, 6vw, 94px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:700;
}

.kor-statement__content{
  margin-top:18px;
  max-width:900px;
  font-size:18px;
  line-height:1.75;
  color:#232323;
}

.kor-statement__content p:first-child{ margin-top:0; }

.kor-faq{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.kor-faq-item{
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
}

.kor-faq-item__button{
  width:100%;
  padding:24px 28px;
  border:0;
  background:none;
  color:#fff;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  cursor:pointer;
}

.kor-faq-item__question{
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:700;
}

.kor-faq-item__icon{
  font-size:28px;
  line-height:1;
  font-weight:700;
  color:var(--kor-accent);
  transition:transform .24s ease;
}

.kor-faq-item__answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .32s ease;
}

.kor-faq-item__answer-inner{
  overflow:hidden;
  padding:0 28px;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.75;
}

.kor-faq-item__answer-inner p:first-child{ margin-top:0; }

.kor-faq-item.is-open .kor-faq-item__answer{ grid-template-rows:1fr; }
.kor-faq-item.is-open .kor-faq-item__answer-inner{ padding-bottom:24px; }
.kor-faq-item.is-open .kor-faq-item__icon{ transform:rotate(45deg); }

.kor-service-section--cta{
  padding-top:56px;
  padding-bottom:120px;
}

.kor-cta-banner{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.12), transparent 28%),
    linear-gradient(135deg, var(--kor-accent-dark) 0%, var(--kor-accent) 40%, var(--kor-accent-light) 100%);
  color:#fff;
  border-radius:34px;
  padding:48px;
  box-shadow:0 30px 80px rgba(var(--kor-accent-rgb), .18);
}

.kor-cta-banner__title{
  margin:14px 0 0;
  max-width:900px;
  font-size:clamp(40px, 6vw, 90px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:700;
}

.kor-cta-banner__text{
  max-width:760px;
  margin:18px 0 0;
  font-size:19px;
  line-height:1.55;
  color:rgba(255,255,255,.9);
}

.kor-cta-banner__actions{ margin-top:28px; }

.kor-service-dock{
  position:fixed;
  left:0;
  right:0;
  bottom:18px;
  z-index:999;
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
}

/* Pri pätičke sa lišta odsunie — prekrývala odkazy aj firemné údaje. */
.kor-service-dock.is-hidden{
  opacity:0;
  visibility:hidden;
  transform:translateY(24px);
}

@media (prefers-reduced-motion: reduce){
  .kor-service-dock{ transition:opacity .28s ease, visibility .28s; }
  .kor-service-dock.is-hidden{ transform:none; }
}

.kor-service-dock__inner{
  width:min(calc(100% - 30px), 1180px);
  margin:0 auto;
  min-height:72px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(8,8,8,.84);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 25px 80px rgba(0,0,0,.25);
  display:flex;
  align-items:center;
  gap:12px;
  pointer-events:auto;
}

.kor-service-dock__brand{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:999px;
  background:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}

.kor-service-dock__brand img{
  width:100%;
  height:auto;
  display:block;
}

.kor-service-dock__links{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1;
  overflow:auto;
  scrollbar-width:none;
}
.kor-service-dock__links::-webkit-scrollbar{ display:none; }

.kor-service-dock__link{
  white-space:nowrap;
  min-height:48px;
  padding:0 16px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.7);
  text-decoration:none !important;
  font-size:15px;
  font-weight:700;
  transition:background .24s ease, color .24s ease, transform .24s ease;
}

.kor-service-dock__link:hover,
.kor-service-dock__link.is-active{
  background:#fff;
  color:#000;
}

.kor-service-dock__cta{
  min-height:50px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--kor-accent);
  color:#fff !important;
  text-decoration:none !important;
  font-size:15px;
  font-weight:700;
  white-space:nowrap;
  transition:transform .24s ease, filter .24s ease;
}

.kor-service-dock__cta:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
}

.reveal-up,
.reveal-scale{
  opacity:0;
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.2,.8,.2,1);
  will-change:transform, opacity;
}

.reveal-up{ transform:translateY(34px); }
.reveal-scale{ transform:translateY(28px) scale(.965); }
.reveal-up.is-visible,
.reveal-scale.is-visible{
  opacity:1;
  transform:none;
}

@media (max-width: 1280px){
  .kor-benefits-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .kor-area-card{ grid-template-columns:90px 1fr; }
  .kor-area-card__items{ grid-column:1 / -1; }
}

@media (max-width: 980px){

  .kor-service-hero{
    min-height:auto;
    border-radius:28px;
    margin:14px 0;
  }

  /* Sekcie majú o kúsok väčšie odsadenie než úvodný blok, ako na domovskej. */
  .kor-service-section{
    margin-left:14px;
    margin-right:14px;
  }

  .kor-service-hero__shell{
    padding:190px 0 120px;
  }

  .kor-service-hero__grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .kor-service-hero__visual{ min-height:unset; }

  .kor-service-hero__card{
    width:min(100%, 440px);
    margin:0 auto;
  }

  .kor-benefits-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .kor-process-grid{ grid-template-columns:1fr; }
  .kor-expert-card{ grid-template-columns:1fr; }
  .kor-expert-card__media{
    position:relative;
    top:auto;
  }
  .kor-service-section{ padding:60px 0; }
  .kor-statement{ padding:28px; }
  .kor-cta-banner{ padding:34px 26px; }
  .kor-service-dock{ bottom:12px; }
  .kor-service-dock__inner{ width:min(calc(100% - 16px), 100%); }
}

@media (max-width: 767px){

  .kor-service-shell{ width:min(calc(100% - 20px), var(--kor-max)); }

  .kor-service-hero__shell{
    padding:150px 0 110px;
  }

  .kor-service-hero__text{ font-size:17px; line-height:1.5; }
  .kor-service-btn{ width:100%; min-height:58px; font-size:16px; }
  .kor-benefits-grid{ grid-template-columns:1fr; }
  .kor-area-card{ grid-template-columns:1fr; gap:16px; padding:22px; }
  .kor-area-card__no{ font-size:54px; }
  .kor-area-card__title{ font-size:30px; }
  .kor-process-card{ padding:22px; }
  .kor-process-card__title{ font-size:28px; }
  .kor-faq-item__button{ padding:22px 20px; }
  .kor-faq-item__question{ font-size:22px; line-height:1.1; }
  .kor-faq-item__answer-inner{ padding:0 20px; font-size:16px; }
  .kor-faq-item.is-open .kor-faq-item__answer-inner{ padding-bottom:20px; }
  .kor-service-dock__brand,
  .kor-service-dock__cta{ display:none; }
  .kor-law-title__circle path{ stroke-width:7; }
  .kor-law-title__underline path{ stroke-width:7; }

  .kor-section-scribble--1,
  .kor-section-scribble--4,
  .kor-section-scribble--7,
  .kor-section-scribble--9{
    transform:scale(.8);
  }
}

@media (prefers-reduced-motion: reduce){
  .kor-service-hero__eyebrow,
  .kor-law-title__word,
  .kor-law-title__circle path,
  .kor-law-title__underline path{
    animation:none !important;
  }

  .kor-service-hero__card,
  .kor-service-doodle,
  .kor-service-hero__float{
    transition:none !important;
  }
}

.kor-pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.kor-pricing-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:26px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 14px 40px rgba(0,0,0,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  overflow:hidden;
}

.kor-pricing-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg, var(--kor-accent), var(--kor-accent-2));
}

.kor-pricing-card:hover{
  transform:translateY(-8px) rotate(-.4deg);
  box-shadow:var(--kor-shadow);
  border-color:rgba(var(--kor-accent-rgb), .18);
}

.kor-pricing-card__name{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(var(--kor-accent-rgb), .1);
  color:var(--kor-accent);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.kor-pricing-card__headline{
  margin:0;
  font-size:34px;
  line-height:.94;
  letter-spacing:-.05em;
  font-weight:700;
}

.kor-pricing-card__price-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.kor-pricing-card__price{
  font-size:52px;
  line-height:.9;
  letter-spacing:-.07em;
  font-weight:700;
  color:var(--kor-dark);
}

.kor-pricing-card__price-old{
  font-size:17px;
  line-height:1.2;
  color:#8b8b8b;
  text-decoration:line-through;
}

.kor-pricing-card__meta{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.kor-pricing-card__meta-item{
  padding:14px 16px;
  border-radius:18px;
  background:#f7f7f7;
}

.kor-pricing-card__meta-item span{
  display:block;
  font-size:12px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#7a7a7a;
  margin-bottom:6px;
}

.kor-pricing-card__meta-item strong{
  display:block;
  font-size:16px;
  line-height:1.4;
  color:#111;
}

.kor-pricing-card__features{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.kor-pricing-card__feature{
  position:relative;
  padding-left:18px;
  font-size:16px;
  line-height:1.55;
  color:#2f2f2f;
}

.kor-pricing-card__feature::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--kor-accent);
  transform:translateY(-50%);
}

.kor-pricing-card__actions{
  margin-top:auto;
}

@media (max-width: 1180px){
  .kor-pricing-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .kor-pricing-grid{
    grid-template-columns:1fr;
  }

  .kor-pricing-card{
    padding:22px;
  }

  .kor-pricing-card__headline{
    font-size:28px;
  }

  .kor-pricing-card__price{
    font-size:42px;
  }
}

@media (max-width: 767px){
  .kor-service-dock{
    display:none !important;
  }
}
