/* ===== NCRC4 Global Styles ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:#f8f9fa;color:#191c1d;line-height:1.6}
::selection{background:#d6e3ff;color:#001b3d}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}

:root{
--primary:#005bb2;--primary-container:#0073de;--on-primary:#fff;
--secondary:#3f5f91;--on-surface:#191c1d;--on-surface-variant:#404754;
--outline:#717785;--outline-variant:#c0c6d6;
--surface:#f8f9fa;--surface-container:#edeeef;
--inverse-surface:#2e3132;--inverse-on-surface:#f0f1f2;
--footer-bg:#0f172a;
}

/* Typography */
.serif-text,.font-headline{font-family:'Newsreader',serif}
h1,h2,h3,h4{font-family:'Newsreader',serif;font-weight:600;line-height:1.15}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.25rem}h4{font-size:1.125rem}
@media(min-width:768px){h1{font-size:3rem}h2{font-size:2.25rem}}

/* Layout */
.container{max-width:80rem;margin:0 auto;padding:0 2rem}
.grid-2{display:grid;grid-template-columns:1fr;gap:4rem;align-items:start}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}

/* Header */
.site-header{position:fixed;top:0;width:100%;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(203,213,225,.5)}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;max-width:80rem;margin:0 auto;width:100%}
.site-logo{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;color:#0f172a;font-family:'Newsreader',serif}
.main-nav{display:none;align-items:center;gap:2.5rem}
@media(min-width:768px){.main-nav{display:flex}}
.main-nav a{font-family:'Inter',sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.05em;color:#475569;transition:color .2s;padding-bottom:.25rem}
.main-nav a:hover,.main-nav a.active{color:var(--primary)}
.main-nav a.active{font-weight:600;border-bottom:2px solid var(--primary)}
.btn-primary{display:inline-block;background:var(--primary);color:var(--on-primary);padding:.625rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;font-family:'Inter',sans-serif;border:none;cursor:pointer;transition:opacity .3s}
.btn-primary:hover{opacity:.8}
.btn-primary:active{transform:scale(.95)}
.mobile-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
@media(min-width:768px){.mobile-toggle{display:none}}
.mobile-toggle span{display:block;width:24px;height:2px;background:#0f172a;border-radius:2px;transition:.3s}
.mobile-nav{display:none;flex-direction:column;gap:1rem;padding:1rem 2rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:.95rem;font-weight:500;color:#475569;padding:.5rem 0}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--primary)}

/* Main */
main{padding-top:5.5rem}

/* Hero banner */
.hero-banner{padding:2rem 0 0}
.hero-banner .banner-img{width:100%;height:12rem;object-fit:cover;border-radius:.125rem;overflow:hidden}
@media(min-width:768px){.hero-banner .banner-img{height:16rem}}
.hero-divider{border:none;border-top:1px solid #cbd5e1;margin-top:3rem}

/* Content */
.content-section{padding:4rem 0}
.section-block{margin-bottom:5rem}
.section-block:last-child{margin-bottom:0}
.text-body{color:var(--on-surface-variant);line-height:1.7}
.text-body p{margin-bottom:1.5rem}
.text-body p:last-child{margin-bottom:0}

/* Images */
.img-block{width:100%;max-width:28rem;aspect-ratio:1;background:#f1f5f9;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.img-block img{width:100%;height:100%;object-fit:cover}
.img-block--video{aspect-ratio:16/9}
.img-center{display:flex;justify-content:center}

/* Callout */
.callout{padding-left:1.5rem;border-left:4px solid #e2e8f0;font-style:italic;color:#94a3b8;padding-top:.5rem;padding-bottom:.5rem;margin-bottom:1.5rem}

/* Feature list */
.feature-list{display:flex;flex-direction:column;gap:1.5rem}
.feature-list li{display:flex;gap:.75rem}
.feature-list .bullet{font-weight:700;flex-shrink:0}

/* CTA text */
.cta-text{max-width:56rem;margin:0 auto;text-align:center;padding:3rem 0;border-top:1px solid #e2e8f0;margin-top:4rem}
.cta-text p{font-family:'Newsreader',serif;font-size:1.25rem;font-style:italic;color:#94a3b8;line-height:1.7}

/* Partners */
.partners-section{padding:5rem 0;background:#fff;border-top:1px solid #e2e8f0}
.partners-section h3{text-align:center;font-weight:700;font-family:'Inter',sans-serif;margin-bottom:3rem}
.partner-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;opacity:.8;filter:grayscale(1)}
@media(min-width:768px){.partner-logos{gap:5rem}}
.partner-logos img{height:2.5rem}
@media(min-width:768px){.partner-logos img{height:3.5rem}}

/* Footer */
.site-footer{background:var(--footer-bg);color:#fff;padding:5rem 2rem}
.footer-inner{max-width:80rem;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1fr;gap:4rem;margin-bottom:4rem}
@media(min-width:768px){.footer-top{grid-template-columns:1fr 1fr}}
.footer-top h4{font-size:1.25rem;font-weight:700;margin-bottom:2rem;font-family:'Inter',sans-serif}
.footer-contact p{color:#cbd5e1;font-weight:500;margin-bottom:1rem}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(min-width:768px){.footer-links{grid-template-columns:repeat(4,1fr)}}
.footer-links a{color:#cbd5e1;transition:color .2s}
.footer-links a:hover{color:#60a5fa}
.footer-bottom{border-top:1px solid #1e293b;padding-top:3rem;display:flex;flex-direction:column;gap:2rem}
@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between;align-items:flex-start}}
.footer-brand{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}
.footer-tagline{color:#94a3b8;max-width:24rem}
.footer-copy{color:#64748b;font-size:.875rem}

/* ===== Services Cards ===== */
.services-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.services-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.services-grid{grid-template-columns:1fr 1fr 1fr}}
.service-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:2rem;transition:box-shadow .2s}
.service-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.service-card h3{font-family:'Inter',sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:.75rem;color:var(--on-surface)}
.service-card p{color:var(--on-surface-variant);font-size:.925rem;line-height:1.65}
.service-card .card-link{display:inline-block;margin-top:1rem;color:var(--primary);font-weight:600;font-size:.875rem}
.service-card .card-link:hover{text-decoration:underline}

/* ===== Service detail page ===== */
.service-detail h4{font-family:'Inter',sans-serif;font-weight:700;font-size:1.05rem;color:var(--on-surface);margin-top:2.5rem;margin-bottom:1rem}
.service-detail ul{margin-left:1.25rem;margin-bottom:1.5rem}
.service-detail ul li{position:relative;padding-left:1rem;margin-bottom:.6rem;color:var(--on-surface-variant);line-height:1.65}
.service-detail ul li::before{content:"•";position:absolute;left:0;font-weight:700;color:var(--primary)}
.service-detail ol{margin-left:1.25rem;margin-bottom:1.5rem;counter-reset:ol-counter}
.service-detail ol li{position:relative;padding-left:.25rem;margin-bottom:.6rem;color:var(--on-surface-variant);line-height:1.65;list-style:decimal}
.service-detail .next-step{background:var(--inverse-surface);color:var(--inverse-on-surface);border-radius:.5rem;padding:2.5rem;margin-top:3rem;text-align:center}
.service-detail .next-step h4{color:#fff;margin-top:0}
.service-detail .next-step p{color:#cbd5e1;margin-bottom:1.25rem}
.service-detail .next-step .btn-primary{padding:.75rem 2rem}

/* ===== Om os / Profile ===== */
.profile-header{display:flex;flex-direction:column;gap:2rem;align-items:center;margin-bottom:3rem}
@media(min-width:768px){.profile-header{flex-direction:row;align-items:flex-start}}
.profile-photo{width:200px;height:200px;border-radius:.5rem;overflow:hidden;flex-shrink:0;background:#e2e8f0}
.profile-photo img{width:100%;height:100%;object-fit:cover}
.profile-meta h1{font-size:2rem;margin-bottom:.25rem}
.profile-meta .role{color:var(--on-surface-variant);margin-bottom:1rem;font-size:1rem}
.profile-meta .contact-line{display:flex;flex-wrap:wrap;gap:1.5rem;color:var(--on-surface-variant);font-size:.9rem;margin-bottom:.5rem}
.profile-meta .contact-line a{color:var(--primary);font-weight:500}
.profile-meta .contact-line a:hover{text-decoration:underline}

/* ===== Kontakt page ===== */
.contact-form{display:flex;flex-direction:column;gap:1.25rem}
.contact-form label{font-weight:500;font-size:.875rem;color:var(--on-surface);margin-bottom:.25rem;display:block}
.contact-form input,.contact-form textarea{width:100%;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:.375rem;font-family:'Inter',sans-serif;font-size:.95rem;color:var(--on-surface);background:#fff;transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,91,178,.1)}
.contact-form textarea{resize:vertical;min-height:8rem}
.contact-info-card{background:var(--inverse-surface);color:var(--inverse-on-surface);border-radius:.5rem;padding:2.5rem}
.contact-info-card h3{font-family:'Inter',sans-serif;font-weight:700;font-size:1.25rem;margin-bottom:1.5rem}
.contact-info-card p{margin-bottom:1rem;color:#cbd5e1}

/* Utilities */
.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-16{margin-bottom:4rem}
.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.text-center{text-align:center}
.font-bold{font-weight:700}
@media(min-width:768px){.md-order-1{order:1}.md-order-2{order:2}}
