/* Beroun sub-site of caroline.partners.solutions: the look of the Beroun brochure */
:root{
  --navy:#0b1a2b; --navy-2:#122a43; --blue:#1769aa; --sky:#dff0fb;
  --gold:#e6a32b; --ink:#15263a; --muted:#52677d; --line:#d7e3ed;
  --paper:#ffffff; --pale:#f2f7fb;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55}
a{color:var(--blue)}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}

/* ---------- header ---------- */
.b-header{position:sticky;top:0;z-index:20;background:#0b1a2bf2;backdrop-filter:blur(6px);border-bottom:1px solid #ffffff1a}
.b-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.b-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.14em}
.b-brand img{width:38px;height:auto}
.b-brand small{display:block;font-size:.62rem;letter-spacing:.16em;color:var(--gold);font-weight:800;white-space:nowrap}
.b-nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.b-nav a{color:#c9d8e6;text-decoration:none;font-size:.86rem;font-weight:600;padding:8px 11px;border-radius:999px}
.b-nav a:hover{color:#fff;background:#ffffff14}
.b-nav a.active{color:var(--navy);background:var(--gold)}
.b-nav a.out{border:1px solid #ffffff33}
.nav-toggle{display:none}
.nav-toggle-label{display:none;cursor:pointer;width:34px;height:34px;position:relative}
.nav-toggle-label span,.nav-toggle-label span::before,.nav-toggle-label span::after{position:absolute;left:6px;width:22px;height:2px;background:#fff;content:""}
.nav-toggle-label span{top:16px}.nav-toggle-label span::before{top:-7px;left:0}.nav-toggle-label span::after{top:7px;left:0}

/* ---------- cover and page heads ---------- */
.cover{position:relative;min-height:600px;color:#fff;background:var(--navy) url('../img/bg_hero.webp') right center/cover no-repeat;display:flex;align-items:center}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1a2bf5 0%,#0b1a2bd0 45%,#0b1a2b20 80%)}
.cover-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:center;width:100%;padding-top:56px;padding-bottom:56px}
.cover-cat{width:100%;max-height:520px;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 45%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 60% 60% at 50% 45%,#000 55%,transparent 100%)}
.logo-mark{width:82px;height:auto;display:block;margin:0 0 18px}
.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800;color:var(--gold);margin:0 0 14px}
.cover h1{font-size:clamp(3.2rem,9vw,6.6rem);letter-spacing:-.065em;line-height:.92;margin:0 0 22px}
.lead{font-size:clamp(1.1rem,2.2vw,1.45rem);line-height:1.35;max-width:760px}
.page-head{position:relative;color:#fff;background:var(--navy) url('../img/bg_circuit.webp') center/cover no-repeat;padding:clamp(54px,8vw,96px) 0 clamp(40px,6vw,64px)}
.page-head::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b1a2be6,#0b1a2bc8)}
.page-head .wrap{position:relative}
.page-head h1{font-size:clamp(2.2rem,5.4vw,3.8rem);letter-spacing:-.045em;line-height:1.02;margin:0 0 16px;max-width:900px}
.page-head .lead{color:#e6eef6}
.page-head.sunrise{background-image:url('../img/bg_sunrise.webp')}
.page-head.hero{background-image:url('../img/bg_hero.webp')}

/* ---------- sections ---------- */
section{position:relative;padding:clamp(40px,6vw,76px) 0;border-bottom:1px solid var(--line)}
section h2{font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.08;letter-spacing:-.04em;color:var(--navy);margin:0 0 18px}
h3{font-size:1.05rem;line-height:1.3;color:var(--blue);margin:0 0 8px}
p{margin:0 0 14px}
.intro{max-width:860px;font-size:1.08rem}
.grid{display:grid;gap:16px}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.mt{margin-top:26px}
.card{background:var(--pale);border:1px solid var(--line);border-radius:16px;padding:22px}
.card p{font-size:.96rem;margin:0}
.card p+p{margin-top:10px}
.feature{background:#e9f4fc;border-color:#c9dfef}
.warning{background:#fff5df;border-color:#f0d8a1}
a.card{display:block;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}
a.card:hover{transform:translateY(-2px);border-color:var(--blue)}
a.card .more{display:inline-block;margin-top:12px;font-weight:700;color:var(--blue);font-size:.9rem}

.dark{background:var(--navy) url('../img/bg_sunrise.webp') center/cover no-repeat;color:#fff;border-bottom:0}
.dark::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b1a2bd9,#0b1a2bb3 60%,#0b1a2bf0)}
.dark.circuit{background-image:url('../img/bg_circuit.webp')}
.dark.circuit::before{background:linear-gradient(180deg,#0b1a2bcc,#0b1a2be6)}
.dark>.wrap{position:relative}
.dark h2{color:#fff}
.dark .intro{color:#e6eef6}
.dark .card{background:#ffffff14;border-color:#ffffff30;color:#fff}
.dark .card h3{color:#9fd3f5}
.dark .card p{color:#e6eef6}

/* facts, lists */
.facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.facts span{border:1px solid #ffffff40;background:#ffffff12;color:#e6eef6;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:700;letter-spacing:.02em}
.light-facts span{border-color:var(--line);background:var(--pale);color:var(--navy)}
.ticks{margin:10px 0 0;padding:0;list-style:none}
.ticks li{position:relative;padding-left:20px;margin:0 0 7px;font-size:.95rem}
.ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--blue)}
.dark .ticks li{color:#e6eef6}
.dark .ticks li::before{background:var(--gold)}

/* numbers */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.stat{background:var(--sky);border-radius:16px;padding:20px;text-align:center}
.stat b{display:block;font-size:2.2rem;letter-spacing:-.04em;color:var(--navy);line-height:1.1}
.stat span{font-size:.88rem;color:var(--muted);font-weight:600}

/* problem rows */
.row-card{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;background:var(--pale);border:1px solid var(--line);border-radius:16px;padding:20px}
.row-card .ico{width:50px;height:50px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:1.3rem}

/* models */
.model-list{display:grid;gap:14px}
.model{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--pale);scroll-margin-top:84px}
.model-num{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:800}
.model h3{font-size:1.25rem}

/* roles */
.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
.role{border-radius:16px;padding:22px;border:1px solid #ffffff30;background:#ffffff14}
.role .who{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:800}
.role h3{color:#fff;font-size:1.25rem;margin:6px 0 8px}
.role p{color:#e6eef6;font-size:.95rem;margin:0}

/* architecture */
.architecture{background:#0b1a2bcc;border:1px solid #365875;color:#e9f2fb;border-radius:20px;padding:clamp(22px,4vw,38px)}
.architecture .sub{color:#bfd4e8}
.stack{display:grid;gap:10px;margin-top:24px}
.stack-row{padding:14px 18px;border:1px solid #365875;background:#142d47;border-radius:12px;text-align:center;font-weight:700}
.stack-row.primary{background:#1d5d91;border-color:#5aa5d8}
.stack-row.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;border:0;background:transparent}
.stack-row.modules span{padding:12px 8px;border:1px solid #3c688c;background:#193b5b;border-radius:10px;font-size:.9rem}
.arrow{text-align:center;color:#8bc9f5;font-size:1.5rem;line-height:1}

/* agents */
.lifecycle{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.lifecycle span{background:#193b5b;border:1px solid #3c688c;color:#e9f2fb;border-radius:10px;padding:8px 13px;font-size:.86rem;font-weight:700}
.lifecycle i{color:var(--blue);font-style:normal;font-weight:800}
.steps{counter-reset:s;display:grid;gap:12px;margin-top:22px}
.step{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;background:var(--pale);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.step::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:800}
.step p{margin:0;font-size:.96rem}

/* tables */
.tbl-wrap{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:16px}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px}
th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
thead th{background:var(--navy);color:#fff;font-weight:700}
tbody th{color:var(--navy);font-weight:700;background:var(--pale)}
td.us{background:#e9f4fc;color:var(--navy);font-weight:700}
tr:last-child th,tr:last-child td{border-bottom:0}
code{font-family:Consolas,"SFMono-Regular",monospace;font-size:.88em;background:#e9f4fc;color:var(--navy);padding:1px 6px;border-radius:6px}

/* code blocks */
.code{font-family:Consolas,"SFMono-Regular",monospace;font-size:.84rem;background:var(--navy);color:#cfe6f7;border-radius:14px;padding:18px 20px;white-space:pre;overflow-x:auto;margin-top:16px;line-height:1.5}
.code .k{color:var(--gold)}
.code .c{color:#7f9bb5}
.caption{margin-top:10px;color:var(--muted);font-size:.9rem}

/* scenes */
.scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.scene{background:var(--pale);border-left:4px solid var(--gold);border-radius:0 16px 16px 0;padding:18px 20px}
.scene h3{color:var(--navy)}
.scene p{font-size:.95rem;margin:0}

/* benefits, devices */
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.benefit{background:var(--sky);border-radius:16px;padding:22px 16px;text-align:center;font-weight:700;color:var(--navy)}
.benefit .symbol{display:block;font-size:1.8rem;color:var(--blue);margin-bottom:10px}
.devices-photo{display:block;width:100%;max-width:760px;height:auto;margin:22px auto}
.spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:22px}
.spec div{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:.94rem}
.spec div:nth-child(odd){border-right:1px solid var(--line)}
.spec dt{font-weight:700;color:var(--navy)}
.spec dd{margin:0}

/* closing */
.closing{text-align:center;color:#fff;background:var(--navy) url('../img/bg_hero.webp') center/cover no-repeat;border-bottom:0;padding:clamp(56px,8vw,96px) 0}
.closing::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b1a2bd0,#0b1a2bf2)}
.closing>.wrap{position:relative}
.closing h2{color:#fff;margin:0 auto 16px;max-width:760px}
.closing .lead{margin:0 auto;max-width:720px}
.pill{display:inline-block;margin:22px 6px 0;border:1px solid var(--gold);color:var(--gold);padding:12px 26px;border-radius:999px;font-weight:700;letter-spacing:.04em;text-decoration:none}
.pill.solid{background:var(--gold);color:var(--navy)}
.next{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:32px}
.next a{font-weight:700;text-decoration:none}

/* ---------- footer ---------- */
.b-footer{background:var(--navy);color:#9fb6cc;font-size:.88rem;padding:40px 0 26px}
.b-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.b-footer h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.b-footer a{display:block;color:#c9d8e6;text-decoration:none;margin:0 0 6px}
.b-footer a:hover{color:var(--gold)}
.b-footer .base{border-top:1px solid #ffffff1a;margin-top:26px;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:1140px){
  .nav-toggle-label{display:block}
  .b-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy);padding:12px 16px 18px;flex-direction:column;align-items:stretch}
  .nav-toggle:checked~.b-nav{display:flex}
}
@media (max-width:980px){
  .cover-inner{grid-template-columns:1fr}
  .cover-cat{display:none}
  .grid.three,.grid.four,.benefits,.stats{grid-template-columns:1fr 1fr}
  .roles,.scenes{grid-template-columns:1fr}
  .b-footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .grid.three,.grid.two,.grid.four,.benefits,.stats,.spec{grid-template-columns:1fr}
  .spec div:nth-child(odd){border-right:0}
  .spec div{grid-template-columns:110px 1fr}
  .stack-row.modules{grid-template-columns:1fr 1fr}
  .b-footer .cols{grid-template-columns:1fr}
}
