/* ============================================================
   KONPRANN — page layout
   Site chrome and the reading column. Load after components.css,
   before print.css.
   ============================================================ */

:root{ --pad:clamp(16px,5vw,32px); }

/* ---- site shell ------------------------------------------- */

.k-skip{
  position:fixed;z-index:100;left:var(--space-4);top:var(--space-3);transform:translateY(-160%);
  padding:10px 14px;background:var(--color-text);color:#fff;border-radius:var(--radius-sm);
  font-weight:var(--weight-bold);text-decoration:none;
}
.k-skip:focus{transform:translateY(0);color:#fff}

.k-sitehead{
  position:sticky;z-index:30;top:0;background:rgba(255,255,255,.96);
  border-bottom:var(--stroke-hair) solid var(--color-border);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.k-sitehead__inner{
  width:min(1120px,100%);margin:0 auto;padding:12px var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);
}
.k-sitebrand{display:flex;flex-direction:column;color:var(--color-text);text-decoration:none;line-height:1.05}
.k-sitebrand:hover{color:var(--color-accent)}
.k-sitebrand__eyebrow{
  margin-bottom:4px;font-size:11px;font-weight:var(--weight-black);line-height:1;
  letter-spacing:.13em;text-transform:uppercase;color:var(--color-accent);
}
.k-sitebrand__name{
  font-family:var(--font-display);font-size:clamp(19px,2.2vw,24px);
  font-weight:var(--weight-black);letter-spacing:-.02em;
}
.k-sitebrand__credentials{margin-top:4px;font-size:12px;font-weight:var(--weight-bold);color:var(--color-text-muted);letter-spacing:.02em}
.k-sitehead__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}
.k-header-link{
  min-height:var(--tap-min);display:flex;align-items:center;gap:7px;padding:8px 12px;
  border:1px solid var(--color-border);border-radius:var(--radius-pill);
  font-size:var(--text-xs);font-weight:var(--weight-bold);text-decoration:none;white-space:nowrap;
}
.k-header-link svg{width:19px;height:19px}
.k-sitehead .k-langbar{padding:0;background:transparent;border:0}
.k-sitehead .k-langbar button{font-size:var(--text-xs);padding:7px 14px}

.k-main{max-width:var(--measure);margin:0 auto;padding:0 var(--pad) var(--space-14)}

.k-masthead{
  max-width:var(--measure);margin:0 auto;
  padding:clamp(24px,6vw,40px) var(--pad) clamp(20px,4vw,28px);
  border-bottom:var(--stroke-rule) solid var(--color-text);
}
.k-masthead h1{margin-top:14px;font-size:clamp(34px,8.5vw,54px)}
.k-masthead__sub{margin-top:10px;font-size:var(--text-md);color:var(--color-text-muted);font-weight:var(--weight-medium)}
.k-project-meta{
  margin-top:var(--space-4);padding:var(--space-3) var(--space-4);
  border-left:4px solid var(--color-accent);background:var(--color-highlight);
  border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-body);
  font-size:var(--text-sm);line-height:1.45;
}
.k-project-meta p + p{margin-top:2px}
.k-project-meta strong{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.01em}

.k-section{margin-top:clamp(32px,7vw,48px)}
.k-section > h2{margin-top:var(--space-3);font-size:clamp(28px,6.5vw,40px)}
.k-section .k-step{margin-top:var(--space-4)}

.k-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);
        text-align:center;text-wrap:pretty}

.k-survey{
  margin-top:var(--space-6);padding:var(--space-5) clamp(18px,4vw,24px);
  background:var(--color-highlight);border-radius:var(--radius-xl);
}
.k-survey__intro{margin-top:var(--space-2);font-size:var(--text-base);color:var(--color-text-body)}
.k-survey iframe{display:block;margin-top:var(--space-4);border:0;max-width:100%}
.k-survey__fallback{margin-top:var(--space-3);font-weight:var(--weight-bold)}

.k-project-note{
  margin-top:clamp(28px,6vw,40px);padding:clamp(20px,5vw,28px);
  border:1px solid var(--color-border);border-radius:var(--radius-xl);
  background:var(--color-surface-sunk);
}
.k-project-note h2{margin-top:var(--space-2)}
.k-project-note > p[lang]{margin-top:var(--space-3);color:var(--color-text-body);font-size:var(--text-base)}

.k-sitefoot{
  background:var(--color-text);color:#fff;
  padding:clamp(28px,6vw,40px) var(--pad);text-align:center;
}
.k-sitefoot__line{
  font-family:var(--font-display);font-weight:var(--weight-black);
  font-size:clamp(24px,6vw,30px);line-height:1;letter-spacing:-.02em;
  color:var(--color-on-accent);
}
.k-sitefoot__owner{margin-top:var(--space-3);font-weight:var(--weight-bold);color:#fff}
.k-sitefoot__affiliation{margin-top:6px;font-size:var(--text-sm);color:var(--color-text-on-dark)}
.k-sitefoot__credit{margin-top:var(--space-3);font-size:14px;color:var(--color-muted-on-dark);text-wrap:pretty}

@media (max-width:680px){
  .k-sitehead__inner{align-items:flex-start;gap:var(--space-3)}
  .k-sitehead__actions{align-items:flex-end;flex-direction:column;gap:7px}
  .k-header-link{display:none}
  .k-sitehead .k-langbar{gap:6px}
  .k-sitehead .k-langbar button{padding:6px 12px}
  .k-sitebrand__credentials{max-width:180px;line-height:1.25}
}

/* ---- editorial banner ------------------------------------- */

.k-banner{
  margin-top:clamp(28px,6vw,40px);
  border-radius:var(--radius-xl);overflow:hidden;
  background:var(--color-surface-sunk);
  padding:var(--space-3);
}
.k-banner img{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;object-position:58% 18%;
  border-radius:var(--radius-md)}
.k-banner figcaption{
  padding:var(--space-3) var(--space-1) var(--space-1);
  font-size:var(--text-sm);color:var(--color-text-body);
}

/* ---- print sheet rows ------------------------------------- */

.k-sheet__head{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  padding-bottom:var(--space-3);
}
.k-sheet__meta{font-size:14px;font-weight:var(--weight-medium);letter-spacing:.04em;color:var(--color-text-label)}
.k-sheet__hero{display:flex;gap:26px;align-items:flex-start;padding-top:var(--space-6)}
.k-sheet__hero .k-figure{width:212px;height:238px;flex:none}
.k-sheet__contact{
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);
  margin-top:18px;padding-top:14px;
}
.k-sheet__tel{
  margin-top:var(--space-1);display:flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-weight:var(--weight-black);font-size:33px;
  line-height:1;letter-spacing:-.02em;color:var(--color-accent);
}
.k-sheet__tel svg{flex:none;width:27px;height:27px;stroke-width:1.9}
.k-sheet__tel a{text-decoration:none;color:inherit}
.k-sheet__note{text-align:right;font-size:13px;line-height:1.45;color:var(--color-text-muted);max-width:225px}
.k-sheet__note strong{color:var(--color-danger)}

.k-sheet__cta{
  margin-top:var(--space-5);display:flex;gap:22px;align-items:center;
  padding:22px var(--space-6);
}
.k-sheet__qr{
  position:relative;flex:none;width:180px;height:180px;
  background:#fff;border-radius:10px;padding:9px;
  transform:rotate(-2deg);box-shadow:var(--shadow-float);
}
.k-sheet__cta-title{
  display:flex;align-items:flex-start;gap:var(--space-3);
  font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-2xl);
  line-height:1.02;letter-spacing:-.02em;
}
.k-sheet__cta-title svg{flex:none;width:36px;height:36px;color:var(--color-on-accent)}
.k-sheet__url{
  margin-top:var(--space-1);font-family:var(--font-display);font-weight:var(--weight-bold);
  font-size:var(--text-lg);letter-spacing:-.01em;word-break:break-all;
}
.k-sheet__close{
  margin-top:var(--space-3);display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-5);padding:15px var(--space-5);
}
.k-sheet__close-tel{
  display:flex;align-items:center;gap:9px;
  font-family:var(--font-display);font-weight:var(--weight-black);font-size:29px;
  line-height:1;letter-spacing:-.02em;
}
.k-sheet__close-tel svg{flex:none;width:23px;height:23px;color:var(--color-on-accent);stroke-width:1.9}
.k-sheet__close-tel a{text-decoration:none;color:inherit}
