:root { --ok-navy:#12304a; --ok-slate:#526477; --ok-blue:#2e81b7; --ok-blue-soft:#eaf4fa; --ok-surface:#f5f9fc; --ok-border:#dce7ee; --ok-red:#b4232a; --ok-red-dark:#8e1920; --ok-shadow:0 12px 32px rgba(18,48,74,.09); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; }
body { margin:0; color:var(--ok-navy); background:#fff; font-family:"Inter","Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--ok-blue); } a:hover { color:var(--ok-navy); }
.page-wrapper { min-height:100vh; display:flex; flex-direction:column; } .content { flex:1; }
.site-container { width:min(1160px,calc(100% - 40px)); margin:0 auto; }
.content > .background-div { min-height:calc(100vh - 160px); padding:124px 0 72px; background:var(--ok-surface); }
h1,h2,h3,h4,h5 { color:var(--ok-navy); font-weight:600; letter-spacing:-.035em; } h1 { font-size:clamp(2.3rem,4.6vw,4.3rem); line-height:1.04; } h2 { font-size:clamp(1.8rem,2.7vw,2.45rem); } p { color:var(--ok-slate); line-height:1.7; }

/* Header */
.navbar { position:fixed; inset:0 0 auto; min-height:82px; z-index:1030; padding:0; background:rgba(255,255,255,.96); border-bottom:1px solid rgba(18,48,74,.1); box-shadow:0 3px 16px rgba(18,48,74,.05); backdrop-filter:blur(12px); }
.navbar .navbar-inner { width:min(1240px,calc(100% - 40px)); min-height:82px; margin:0 auto; padding:0; }
.navbar-brand img { display:block; width:295px; height:40px; max-width:100%; object-fit:contain; }
.navbar .nav-link { color:var(--ok-navy); font-size:.9rem; font-weight:650; padding:.7rem .8rem; white-space:nowrap; }.navbar .nav-link:hover { color:var(--ok-red); }.navbar .nav-link i { margin-right:.38rem; color:var(--ok-blue); font-size:1rem; vertical-align:-.08em; }.navbar .nav-link:hover i { color:var(--ok-red); }
.navbar-toggler { border:1px solid var(--ok-border); padding:.45rem .55rem; }.navbar-toggler:focus { box-shadow:0 0 0 .2rem rgba(46,129,183,.2); }

/* Controls */
.btn { border-radius:8px; font-weight:700; padding:.7rem 1.05rem; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }.btn:hover { transform:translateY(-1px); }
.btn-primary,.btn-success { color:#fff; background:var(--ok-red); border-color:var(--ok-red); }.btn-primary:hover,.btn-primary:focus,.btn-success:hover,.btn-success:focus { color:#fff; background:var(--ok-red-dark); border-color:var(--ok-red-dark); box-shadow:0 8px 18px rgba(180,35,42,.18); }
.btn-secondary { color:var(--ok-navy); background:#fff; border-color:#aebfca; }.btn-secondary:hover,.btn-secondary:focus { color:var(--ok-navy); background:var(--ok-blue-soft); border-color:var(--ok-blue); }.btn-compact { font-size:.875rem; padding:.55rem .8rem; }

/* Landing */
.hero { min-height:680px; padding:150px 0 80px; overflow:hidden; background:linear-gradient(115deg,#fff 0%,#fff 52%,#edf7fc 100%); }.hero-inner { width:min(1160px,calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr); gap:48px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--ok-blue); font-size:.78rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.eyebrow::before { content:""; width:28px; height:2px; background:var(--ok-red); }
.hero h1 { max-width:680px; margin:18px 0 24px; }.hero .lead { max-width:640px; margin:0; font-size:1.08rem; }.hero .lead_bigger { color:var(--ok-navy); font-size:1.13rem; font-weight:750; margin:20px 0 6px; }.ctas { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-right { position:relative; }.hero-right img { position:relative; display:block; width:100%; max-width:540px; margin:0 auto; }
.trust-strip { background:var(--ok-navy); color:#fff; }.trust-strip .site-container { display:grid; grid-template-columns:repeat(3,1fr); }.trust-item { display:flex; gap:13px; align-items:center; min-height:108px; padding:20px 30px; border-right:1px solid rgba(255,255,255,.16); }.trust-item:last-child { border:0; }.trust-item i { color:#a7ddf6; font-size:1.55rem; }.trust-item strong { display:block; font-size:1.35rem; }.trust-item span { color:#d9e8f1; font-size:.88rem; }
.landing-section { padding:104px 0; border-top:1px solid var(--ok-border); }.landing-section.alt { background:var(--ok-surface); }.section-heading { max-width:720px; margin-bottom:44px; }.section-heading.centered { text-align:center; margin-left:auto; margin-right:auto; }.section-heading h2 { margin:12px 0; }.section-heading p { margin:0; }
.service-card,.team-card,.snippet-card,.training-card,.detail-card,.form-card { height:100%; border:1px solid var(--ok-border); border-radius:14px; background:#fff; box-shadow:0 4px 14px rgba(18,48,74,.035); }.service-card { padding:30px; }.service-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:24px; border-radius:12px; color:var(--ok-blue); background:var(--ok-blue-soft); font-size:1.4rem; }.service-card h3 { font-size:1.25rem; }.service-card ul { margin:20px 0 0; padding-left:20px; color:var(--ok-slate); line-height:1.7; }.copy-block { max-width:860px; margin:45px auto 0; text-align:center; }
.team-card { position:relative; padding:28px 22px 22px; overflow:hidden; text-align:center; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.team-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--ok-blue),#9bd1ea); }.team-card:hover { transform:translateY(-4px); border-color:#a8cadb; box-shadow:var(--ok-shadow); }.team-card__avatar { width:48px; height:48px; display:grid; place-items:center; margin:0 auto 15px; border-radius:50%; color:var(--ok-blue); background:var(--ok-blue-soft); font-size:1.35rem; }.team-card h3 { font-size:1.05rem; margin:0 0 6px; }.team-card .role { min-height:42px; margin-bottom:16px; color:var(--ok-slate); font-size:.89rem; }.team-card__contact { padding-top:13px; border-top:1px solid var(--ok-border); }.team-card__contact i { width:16px; margin-right:6px; color:var(--ok-blue); }.team-card a,.team-card p { font-size:.86rem; margin:4px 0; }.team-card a { color:var(--ok-navy); font-weight:650; text-decoration:none; }.team-card a:hover { color:var(--ok-red); text-decoration:underline; }
.support-panel { display:grid; grid-template-columns:1.2fr .8fr; gap:28px; padding:40px; border-radius:16px; color:#fff; background:var(--ok-navy); }.support-panel h2,.support-panel p { color:#fff; }.support-panel p { opacity:.84; }.support-panel .btn-secondary { align-self:center; justify-self:end; }
.contact-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:36px; align-items:stretch; }.contact-card { padding:32px; border-radius:14px; background:var(--ok-blue-soft); }.contact-card h3 { font-size:.98rem; line-height:1.45; letter-spacing:-.015em; }.contact-card p { margin:0; }.map-wrapper { overflow:hidden; border-radius:14px; min-height:360px; box-shadow:var(--ok-shadow); }.map-wrapper iframe { display:block; width:100%; height:100%; min-height:360px; border:0; }

/* Training catalogue */
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:34px; }.page-heading h1,.page-heading h2 { margin:0; font-size:clamp(2rem,4vw,3rem); }.page-heading p { margin:10px 0 0; }.training-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.training-card { display:flex; flex-direction:column; overflow:hidden; }.training-card__head { padding:24px 24px 18px; background:linear-gradient(135deg,#fff,var(--ok-blue-soft)); }.training-card__date { display:flex; align-items:center; gap:10px; color:var(--ok-blue); font-size:.86rem; font-weight:800; }.training-card__date i { font-size:1.15rem; }.training-card h3 { font-size:1.15rem; margin:15px 0 0; }.training-card__body { flex:1; padding:22px 24px; }.training-meta { display:grid; gap:11px; margin:0; padding:0; list-style:none; color:var(--ok-slate); font-size:.9rem; }.training-meta i { display:inline-block; width:18px; margin-right:6px; color:var(--ok-blue); text-align:center; }.training-card__footer { display:flex; gap:12px; justify-content:space-between; align-items:center; padding:18px 24px; border-top:1px solid var(--ok-border); }.training-price { color:var(--ok-navy); font-size:1.1rem; font-weight:800; }.training-price small { display:block; margin-top:2px; color:var(--ok-slate); font-size:.72rem; font-weight:500; }.badge { border-radius:99px; font-weight:750; padding:.38rem .62rem; }.badge.bg-primary,.badge-ano { background:#e8f3fb !important; color:#166493 !important; }.badge.bg-secondary,.badge-ne { background:#f5e8e9 !important; color:var(--ok-red) !important; }.flash-message { padding:14px 18px; margin-bottom:22px; border-radius:10px; }.flash-success { color:#0d5c39; background:#e5f5ed; }.flash-error { color:#8e1920; background:#fae8e8; }

/* Detail and form */
.detail-card,.form-card { padding:clamp(24px,4vw,42px); }.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:42px; }.detail-facts { display:grid; gap:2px; align-content:start; padding:20px; border-radius:12px; background:var(--ok-surface); }.detail-fact { padding:13px 0; border-bottom:1px solid var(--ok-border); }.detail-fact:last-child { border:0; }.detail-fact small { display:block; margin-bottom:3px; color:var(--ok-slate); font-weight:700; }.detail-rich-content { margin-top:32px; }.detail-rich-content h3 { font-size:1.25rem; margin-bottom:12px; }.summary-list { margin:28px 0 0; border-top:1px solid var(--ok-border); }.summary-list > div { display:grid; grid-template-columns:minmax(150px,.42fr) minmax(0,1fr); gap:20px; padding:12px 0; border-bottom:1px solid var(--ok-border); }.summary-list dt { color:var(--ok-slate); font-size:.88rem; font-weight:700; }.summary-list dd { margin:0; color:var(--ok-navy); overflow-wrap:anywhere; }.form-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding:20px 22px; margin-bottom:32px; border-radius:12px; background:var(--ok-blue-soft); }.form-intro h3 { margin:5px 0 0; font-size:1.15rem; }.form-section { padding:0 0 27px; margin-bottom:27px; border-bottom:1px solid var(--ok-border); }.form-section:last-of-type { border:0; margin-bottom:4px; }.form-section__title { margin-bottom:20px; font-size:1.05rem; }.form-label { color:var(--ok-navy); font-size:.91rem; font-weight:700; }.form-control,.form-select { min-height:44px; border-color:#b7c8d3; color:var(--ok-navy); border-radius:8px; }.form-control:focus,.form-select:focus { border-color:var(--ok-blue); box-shadow:0 0 0 .22rem rgba(46,129,183,.15); }.form-control-sm-custom { min-height:44px; } textarea.form-control-sm-custom { min-height:112px; }.input-group-text { min-height:44px; }.form-check-input { width:1.1rem; height:1.1rem; margin-top:.2rem; border-color:#90a5b3; }.form-check-input:checked { border-color:var(--ok-red); background-color:var(--ok-red); }.form-submit { min-width:190px; }.table { --bs-table-bg:transparent; --bs-table-color:var(--ok-navy); }
footer { padding:26px 20px; color:#cedce5; background:var(--ok-navy); text-align:center; font-size:.85rem; }
@media (max-width:1100px) { .navbar .nav-link { padding-left:.5rem; padding-right:.5rem; font-size:.84rem; }.training-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:991px) { .navbar .navbar-inner { min-height:72px; }.navbar { min-height:72px; }.navbar-collapse { margin-top:8px; padding:12px; border:1px solid var(--ok-border); border-radius:12px; background:#fff; box-shadow:var(--ok-shadow); }.navbar .nav-link { padding:.75rem; font-size:.95rem; }.hero { padding-top:122px; }.hero-inner,.support-panel,.contact-grid,.detail-layout { grid-template-columns:1fr; }.hero-right { max-width:520px; margin:0 auto; }.support-panel .btn-secondary { justify-self:start; }.page-heading { align-items:flex-start; flex-direction:column; } }
@media (max-width:700px) { .site-container,.hero-inner,.navbar .navbar-inner { width:min(100% - 28px,1160px); }.navbar-brand { max-width:calc(100% - 62px); }.navbar-brand img { width:220px; height:auto; }.hero { min-height:auto; padding:120px 0 58px; }.hero h1 { font-size:2.5rem; }.trust-strip .site-container,.training-grid { grid-template-columns:1fr; }.trust-item { min-height:82px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); padding:16px 10px; }.landing-section { padding:70px 0; }.contact-card,.support-panel { padding:26px; }.training-card__footer { align-items:stretch; flex-direction:column; }.training-card__footer .btn,.page-heading .btn { width:100%; }.form-intro { flex-direction:column; }.summary-list > div { grid-template-columns:1fr; gap:3px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
