:root {
  --navy: #101a2b;
  --navy-2: #192a46;
  --navy-3: #233754;
  --orange: #ed7b3d;
  --orange-soft: #fff0e7;
  --ink: #151a23;
  --muted: #68717d;
  --cream: #f4efe7;
  --sand: #e6ddd0;
  --surface: #f6f7f8;
  --white: #ffffff;
  --line: rgba(18, 27, 40, 0.12);
  --line-strong: rgba(18, 27, 40, 0.2);
  --success: #18794e;
  --warning: #b56200;
  --danger: #b42318;
  --shadow-sm: 0 10px 30px rgba(12, 22, 38, 0.08);
  --shadow: 0 26px 75px rgba(12, 22, 38, 0.14);
  --max: 1240px;
  --admin-sidebar: 286px;
  --ease: cubic-bezier(.2, .72, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open,
body.admin-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.wrap { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.section { padding: 112px 0; }
.serif { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ffc5a1;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 10px;
  font-weight: 850;
}
.eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; flex: 0 0 auto; }
.eyebrow.dark { color: var(--orange); }
.btn,
.admin-primary-button,
.admin-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
  transition: transform .2s var(--ease), background .2s, color .2s, border-color .2s, box-shadow .2s;
}
.btn:hover,
.admin-primary-button:hover,
.admin-secondary-button:hover { transform: translateY(-2px); }
.btn-light { background: #fff; color: var(--navy); box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.btn-light:hover { background: #fff3ec; }
.btn-dark,
.admin-primary-button { background: var(--navy); color: #fff; }
.btn-dark:hover,
.admin-primary-button:hover { background: var(--orange); }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.admin-secondary-button { color: var(--navy); border-color: var(--line-strong); background: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; }
.text-link::after { content: "↗"; transition: transform .2s; }
.text-link:hover::after { transform: translate(3px,-3px); }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.muted, .panel-note { color: var(--muted); }

/* --------------------------------------------------------------------------
   Public navigation
   -------------------------------------------------------------------------- */
.site-header {
  position: fixed;
  z-index: 500;
  inset: 0 0 auto;
  color: #fff;
  transition: background .28s, color .28s, box-shadow .28s, backdrop-filter .28s;
}
.site-header-overlay { background: linear-gradient(180deg, rgba(7,14,25,.62), rgba(7,14,25,0)); }
.site-header-solid,
.site-header.is-scrolled,
.site-header.menu-visible {
  background: rgba(16,26,43,.96);
  box-shadow: 0 10px 35px rgba(6,13,24,.16);
  backdrop-filter: blur(16px);
}
.site-header-spacer { height: 82px; background: var(--navy); }
.header-inner { height: 82px; display: flex; align-items: center; gap: 20px; }
.brand { display: flex; align-items: center; gap: 12px; margin-right: auto; min-width: max-content; }
.brand img { width: 46px; height: 46px; border-radius: 11px; object-fit: cover; box-shadow: 0 8px 22px rgba(0,0,0,.18); }
.brand b { display: block; font-size: 14px; letter-spacing: -.01em; }
.brand small { display: block; margin-top: 1px; color: rgba(255,255,255,.62); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.desktop-nav { display: flex; align-items: center; gap: 4px; }
.desktop-nav a { position: relative; padding: 11px 10px; border-radius: 999px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 800; white-space: nowrap; }
.desktop-nav a:hover,
.desktop-nav a.active { color: #fff; background: rgba(255,255,255,.1); }
.desktop-nav a.active::after { content: ""; position: absolute; left: 50%; bottom: 3px; width: 18px; height: 2px; border-radius: 10px; background: var(--orange); transform: translateX(-50%); }
.header-cta { min-height: 42px; padding-inline: 17px; background: #fff; color: var(--navy); box-shadow: none; }
.header-cta:hover { background: var(--orange); color: #fff; }
.menu { display: none; width: 44px; height: 44px; padding: 11px 9px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); cursor: pointer; }
.menu span { display: block; width: 23px; height: 2px; margin: 4px auto; border-radius: 2px; background: #fff; transition: transform .25s, opacity .25s; }
.menu[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-nav {
  position: fixed;
  z-index: 490;
  inset: 82px 0 0;
  display: block;
  color: #fff;
  background: linear-gradient(150deg, var(--navy), #0b1422 68%);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  transition: opacity .25s, visibility .25s, transform .25s;
  overflow-y: auto;
}
.mobile-nav.open { opacity: 1; visibility: visible; transform: none; }
.mobile-nav-inner { display: flex; flex-direction: column; padding-top: 34px; padding-bottom: 55px; }
.mobile-nav-inner>small { color: #ffc5a1; text-transform: uppercase; letter-spacing: .16em; font-size: 9px; font-weight: 850; margin-bottom: 16px; }
.mobile-nav-inner>a { display: flex; align-items: center; gap: 16px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.11); font-family: Georgia,serif; font-size: clamp(25px,7vw,38px); line-height: 1.05; }
.mobile-nav-inner>a span { color: var(--orange); font-family: Inter,sans-serif; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.mobile-nav-inner>a.active { color: #ffc5a1; }
.mobile-nav-secondary { display: flex; gap: 8px 18px; flex-wrap: wrap; padding: 22px 0; }
.mobile-nav-secondary a { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 750; }
.mobile-nav-contact { margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); }
.mobile-nav-contact a { display: block; font-size: 19px; font-weight: 800; }
.mobile-nav-contact span { color: rgba(255,255,255,.6); font-size: 11px; }

/* --------------------------------------------------------------------------
   Public homepage
   -------------------------------------------------------------------------- */
.hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--navy); }
.hero-media { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.018); animation: heroDrift 18s ease-in-out infinite alternate; }
@keyframes heroDrift { to { transform: scale(1.055); } }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,11,20,.86) 0%,rgba(5,11,20,.7) 43%,rgba(5,11,20,.22) 78%),linear-gradient(0deg,rgba(5,11,20,.72),transparent 50%); }
.hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.42fr) minmax(260px,.58fr); gap: 38px; align-items: end; padding: 166px 0 48px; }
.hero-copy { max-width: 830px; }
.hero h1 { max-width: 880px; margin: 20px 0 24px; font-size: clamp(58px,7vw,96px); line-height: .93; text-wrap: balance; }
.hero h1 em { display: block; color: #ffc09a; font-style: normal; }
.hero p { max-width: 700px; margin: 0 0 30px; color: rgba(255,255,255,.78); font-size: clamp(17px,1.7vw,21px); }
.hero-actions { display: flex; align-items: center; gap: 19px; flex-wrap: wrap; }
.hero .text-link { color: #fff; }
.hero-project-card { align-self: end; max-width: 350px; justify-self: end; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: rgba(11,20,34,.78); box-shadow: 0 24px 65px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.hero-project-card img { height: 190px; object-fit: cover; }
.hero-project-card div { padding: 20px; }
.hero-project-card small { color: #ffc5a1; font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.hero-project-card strong { display: block; margin: 7px 0 12px; font-family: Georgia,serif; font-size: 23px; font-weight: 400; line-height: 1.08; }
.hero-project-card span { color: rgba(255,255,255,.66); font-size: 10px; font-weight: 800; }
.hero-proof { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
.hero-proof span { padding: 20px 24px 0 0; color: rgba(255,255,255,.62); font-size: 10px; }
.hero-proof span+span { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.15); }
.hero-proof b { display: block; margin-bottom: 4px; color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }

.home-route-section { padding: 92px 0 110px; background: #fff; }
.home-route-intro { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: end; margin-bottom: 42px; }
.home-route-intro h2 { max-width: 760px; margin: 14px 0 0; font-size: clamp(48px,5.8vw,76px); line-height: .98; }
.home-route-intro>p { margin: 0; color: var(--muted); }
.home-route-grid { display: grid; grid-template-columns: 1.28fr .72fr .72fr; grid-template-rows: 320px 320px; gap: 14px; }
.home-route-card { position: relative; overflow: hidden; min-height: 0; color: #fff; background: var(--navy); }
.home-route-card:first-child { grid-row: 1/3; }
.home-route-card:last-child { grid-column: 2/4; }
.home-route-card img { height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.home-route-card:hover img { transform: scale(1.045); }
.home-route-overlay { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(4,10,18,.82),rgba(4,10,18,.06) 74%); }
.home-route-content { position: absolute; z-index: 2; inset: auto 0 0; padding: 25px; }
.home-route-content>span { position: absolute; right: 22px; bottom: 23px; color: rgba(255,255,255,.45); font-family: Georgia,serif; font-size: 30px; }
.home-route-content small { color: #ffc5a1; text-transform: uppercase; letter-spacing: .13em; font-size: 8px; font-weight: 900; }
.home-route-content h3 { margin: 6px 0 5px; font-family: Georgia,serif; font-size: 34px; font-weight: 400; line-height: 1; }
.home-route-featured .home-route-content h3 { font-size: 49px; }
.home-route-content p { max-width: 440px; margin: 0 50px 14px 0; color: rgba(255,255,255,.7); font-size: 12px; }
.home-route-content b { font-size: 10px; }

.home-own-team { background: var(--cream); }
.home-own-team-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 88px; align-items: center; }
.home-own-team-media { position: relative; min-height: 650px; }
.home-own-team-main { position: absolute; inset: 0 72px 72px 0; height: calc(100% - 72px); object-fit: cover; }
.home-own-team-detail { position: absolute; right: 0; bottom: 0; width: 48%; height: 42%; object-fit: cover; border: 10px solid var(--cream); box-shadow: var(--shadow); }
.home-own-team-label { position: absolute; left: 26px; bottom: 28px; width: 235px; padding: 17px 19px; color: #fff; background: var(--navy); }
.home-own-team-label strong { display: block; font-family: Georgia,serif; font-size: 23px; font-weight: 400; }
.home-own-team-label span { display: block; margin-top: 3px; color: rgba(255,255,255,.62); font-size: 9px; }
.home-own-team-copy h2 { margin: 14px 0 22px; font-size: clamp(48px,5.3vw,72px); line-height: .98; }
.home-own-team-copy>p { color: var(--muted); font-size: 16px; }
.home-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 31px 0; border: 1px solid var(--line); background: var(--line); }
.home-check-grid div { padding: 19px; background: #fff; }
.home-check-grid b { display: block; margin-bottom: 5px; font-size: 13px; }
.home-check-grid span { display: block; color: var(--muted); font-size: 10px; }

.home-project-story { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 780px; color: #fff; background: var(--navy); }
.home-project-story-copy { display: flex; flex-direction: column; justify-content: center; padding: 82px max(46px,calc((100vw - var(--max))/2)); padding-right: 65px; }
.home-project-story-copy h2 { margin: 15px 0 20px; font-size: clamp(48px,5.6vw,76px); line-height: .97; }
.home-project-story-copy>p { color: rgba(255,255,255,.68); font-size: 15px; }
.home-project-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 30px 0; background: rgba(255,255,255,.14); }
.home-project-facts div { padding: 16px; background: rgba(255,255,255,.06); }
.home-project-facts small { display: block; color: #ffc5a1; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.home-project-facts b { display: block; margin-top: 5px; font-size: 11px; }
.home-project-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; min-height: 780px; gap: 2px; background: rgba(255,255,255,.15); }
.home-project-gallery figure { position: relative; margin: 0; overflow: hidden; }
.home-project-gallery .gallery-large { grid-row: 1/3; }
.home-project-gallery img { height: 100%; object-fit: cover; }
.home-project-gallery figcaption { position: absolute; left: 16px; bottom: 16px; padding: 7px 9px; color: var(--navy); background: rgba(255,255,255,.94); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }

.home-value { background: #fff; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 58px; margin-bottom: 48px; }
.section-head h2 { max-width: 790px; margin: 14px 0 0; font-size: clamp(46px,5.4vw,72px); line-height: .98; }
.section-head>p { max-width: 460px; margin: 0; color: var(--muted); }
.home-value-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-value-grid article { min-height: 270px; padding: 30px 26px; border-right: 1px solid var(--line); }
.home-value-grid article:last-child { border-right: 0; }
.home-value-grid span { color: var(--orange); font-family: Georgia,serif; font-size: 28px; }
.home-value-grid h3 { margin: 45px 0 12px; font-size: 22px; line-height: 1.1; letter-spacing: -.03em; }
.home-value-grid p { margin: 0; color: var(--muted); font-size: 12px; }

.home-process { background: #f9f8f6; }
.home-process-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 45px; }
.home-process-head h2 { max-width: 800px; margin: 14px 0 0; font-size: clamp(46px,5.4vw,72px); line-height: .98; }
.home-process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.home-process-list li { display: grid; grid-template-columns: 92px .95fr 1.05fr; align-items: center; min-height: 145px; border-bottom: 1px solid var(--line); }
.home-process-list>li>span { color: var(--orange); font-family: Georgia,serif; font-size: 28px; }
.home-process-list small { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.home-process-list h3 { margin: 5px 0 0; font-size: 27px; letter-spacing: -.035em; }
.home-process-list p { margin: 0; color: var(--muted); font-size: 13px; }

.home-fast { padding-block: 0; color: #fff; background: var(--navy); }
.home-fast-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 570px; width: 100%; max-width: none; }
.home-fast-copy { display: flex; flex-direction: column; justify-content: center; padding: 75px max(48px,calc((100vw - var(--max))/2)); padding-right: 70px; }
.home-fast-copy h2 { margin: 14px 0 18px; font-size: clamp(50px,5.8vw,79px); line-height: .95; }
.home-fast-copy>p { max-width: 620px; color: rgba(255,255,255,.7); font-size: 16px; }
.home-fast-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 23px; }
.home-fast-actions>span { max-width: 230px; color: rgba(255,255,255,.52); font-size: 9px; }
.home-fast-media { min-height: 570px; }
.home-fast-media img { height: 100%; object-fit: cover; }

.home-region { background: var(--cream); }
.home-region-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; }
.home-region h2 { margin: 14px 0 0; font-size: clamp(48px,5.6vw,74px); line-height: .98; }
.home-region-copy>p { max-width: 650px; color: var(--muted); font-size: 16px; }
.region-tags { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 28px; }
.region-tags span { padding: 10px 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 10px; font-weight: 800; }

/* Generic project, service and knowledge components */
.project-list { background: #fff; }
.project-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 27px; }
.project-card { display: block; }
.project-card-image { position: relative; aspect-ratio: 4/3; overflow: hidden; background: #eee; }
.project-card-image img { height: 100%; object-fit: cover; transition: transform .65s var(--ease); }
.project-card:hover .project-card-image img { transform: scale(1.035); }
.project-card-image span { position: absolute; left: 14px; bottom: 14px; padding: 8px 10px; border-radius: 999px; background: rgba(255,255,255,.94); color: var(--ink); font-size: 9px; font-weight: 850; }
.project-card h3 { margin: 17px 0 8px; font-size: 26px; line-height: 1.08; letter-spacing: -.035em; }
.project-card p { margin: 0 0 13px; color: var(--muted); font-size: 13px; }
.project-card>b { color: var(--orange); font-size: 10px; }
.service-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.service-grid-three { grid-template-columns: repeat(3,1fr); }
.service-card { overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-sm); }
.service-image { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.service-image img { height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.service-card:hover .service-image img { transform: scale(1.04); }
.service-index { position: absolute; top: 16px; left: 16px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: rgba(16,26,43,.88); font-family: Georgia,serif; }
.service-body { padding: 26px; }
.service-body h3 { margin: 0 0 9px; font-size: 29px; font-weight: 550; letter-spacing: -.04em; }
.service-body p { margin: 0 0 18px; color: var(--muted); font-size: 13px; }
.knowledge { background: #fff; }
.knowledge-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.knowledge-card { display: block; padding: 25px; border: 1px solid var(--line); background: #fff; transition: transform .22s, box-shadow .22s; }
.knowledge-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.knowledge-card img { height: 190px; margin: -25px -25px 20px; width: calc(100% + 50px); object-fit: cover; }
.knowledge-card small { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.knowledge-card h2,.knowledge-card h3 { margin: 10px 0; font-size: 25px; line-height: 1.08; }
.knowledge-card p { color: var(--muted); font-size: 12px; }
.knowledge-card span { font-size: 10px; font-weight: 850; }
.empty-state { grid-column: 1/-1; padding: 28px; border: 1px solid var(--line); background: #fff; color: var(--muted); }

/* FAQ, contact and lead wizard */
.faq-section { background: #faf9f7; }
.faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 75px; }
.faq-grid h2 { margin: 14px 0 18px; font-size: clamp(46px,5.2vw,70px); line-height: .98; }
.faq-grid>div:first-child>p { color: var(--muted); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { padding: 21px 0; border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding-right: 35px; list-style: none; cursor: pointer; font-size: 16px; font-weight: 800; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 0; top: -7px; color: var(--orange); font-family: Georgia,serif; font-size: 28px; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { margin: 13px 40px 0 0; color: var(--muted); font-size: 13px; }
.contact { color: #fff; background: var(--navy); }
.contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 65px; align-items: start; }
.contact-copy h1,.contact-copy h2 { margin: 15px 0 20px; font-size: clamp(48px,5.7vw,76px); line-height: .97; }
.contact-copy>p { max-width: 540px; color: rgba(255,255,255,.68); }
.contact-expectations { display: grid; gap: 12px; margin: 30px 0; }
.contact-expectations div { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; }
.contact-expectations>div>span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #ffc5a1; font-family: Georgia,serif; }
.contact-expectations p { margin: 0; color: rgba(255,255,255,.55); font-size: 10px; }
.contact-expectations b { display: block; color: #fff; font-size: 12px; }
.contact-details { display: flex; flex-direction: column; gap: 8px; margin-top: 30px; color: rgba(255,255,255,.7); }
.contact-details a { font-weight: 800; }
.contact-page { padding-top: 0; }
.contact-page .contact-grid { padding-block: 78px 105px; }
.lead-ready-card,.lead-card { padding: 35px; color: var(--ink); background: #fff; box-shadow: var(--shadow); }
.lead-wizard { min-height: 430px; }
.wizard-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-bottom: 27px; }
.wizard-progress span { display: flex; align-items: center; gap: 6px; padding: 9px 10px; border-radius: 8px; background: #f0f2f4; color: #888f98; font-size: 9px; font-weight: 850; }
.wizard-progress span i { font-style: normal; }
.wizard-progress span.active { color: #fff; background: var(--navy); }
.wizard-progress span.complete { color: #17623f; background: #e7f5ec; }
.wizard-step { display: none; }
.wizard-step.active { display: block; animation: wizardIn .25s ease-out; }
@keyframes wizardIn { from { opacity: 0; transform: translateX(10px); } }
.wizard-question small { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.wizard-question h3 { margin: 7px 0; font-size: 28px; line-height: 1.08; }
.wizard-question p { margin: 0 0 21px; color: var(--muted); font-size: 12px; }
.choice-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.choice-card { display: block; cursor: pointer; }
.choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.choice-card span { display: flex; align-items: center; min-height: 62px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #faf9f7; font-size: 12px; font-weight: 760; transition: border-color .2s, box-shadow .2s, background .2s; }
.choice-card input:checked+span { border-color: var(--orange); background: #fff7f2; box-shadow: 0 0 0 3px rgba(237,123,61,.13); }
.wizard-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 24px; }
.wizard-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 17px 0; border: 1px solid var(--line); background: var(--line); }
.wizard-summary div { padding: 12px; background: #fff; }
.wizard-summary dt { color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.wizard-summary dd { margin: 4px 0 0; font-size: 11px; font-weight: 750; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.fields .full { grid-column: 1/-1; }
.fields label>span { display: block; margin-bottom: 6px; font-size: 10px; font-weight: 850; }
.lead-form input,.lead-form select,.lead-form textarea,.login-card input {
  display: block; width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); outline: none;
}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(237,123,61,.1); }
.consent { display: flex!important; align-items: flex-start; gap: 9px; }
.consent input { width: auto!important; margin-top: 3px; }
.consent span { margin: 0!important; color: var(--muted); font-weight: 500!important; }
.file-field small { display: block; margin-top: 6px; color: var(--muted); font-size: 8px; }
.full-button { width: 100%; margin-top: 18px; }
.hp { position: absolute!important; left: -99999px!important; }
.alert { padding: 12px 14px; margin-bottom: 14px; border-radius: 8px; }
.alert.error { color: #8b1c1c; background: #fff0f0; }
.success-card { padding: 27px; text-align: center; }
.success-icon { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 14px; border-radius: 50%; color: var(--success); background: #e8f7ee; font-size: 23px; }
.success-card h3 { margin: 0 0 8px; font-size: 25px; }
.success-card p { color: var(--muted); }

/* Inner public pages */
.inner-main { min-height: 70vh; }
.inner-hero { position: relative; min-height: 72vh; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--navy); }
.inner-hero-media { position: absolute; inset: 0; }
.inner-hero-media img { height: 100%; object-fit: cover; }
.inner-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,11,20,.87),rgba(5,11,20,.45) 58%,rgba(5,11,20,.09)),linear-gradient(0deg,rgba(5,11,20,.62),transparent 48%); }
.inner-hero-copy { position: relative; z-index: 2; max-width: 900px; padding: 165px 0 62px; }
.inner-hero h1 { margin: 18px 0 22px; font-size: clamp(52px,7vw,90px); line-height: .94; }
.inner-hero p { max-width: 720px; margin: 0 0 26px; color: rgba(255,255,255,.76); font-size: 18px; }
.compact-top { min-height: auto; padding-top: 55px; }
.page-intro { max-width: 100%; background: #fff; }
.page-intro .wrap>h1,.page-intro h1 { max-width: 1000px; margin: 14px 0 22px; font-size: clamp(48px,6vw,78px); line-height: .98; }
.page-intro .wrap>p,.page-intro p { max-width: 780px; color: var(--muted); font-size: 16px; }
.intro-grid { display: grid; grid-template-columns: .42fr 1.58fr; gap: 75px; }
.intro-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; margin-top: 28px; }
.intro-copy p { margin: 0; color: var(--muted); }
.benefit-section { background: #faf9f7; }
.benefit-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.benefit-grid article { min-height: 215px; padding: 29px; border: 1px solid var(--line); background: #fff; }
.benefit-grid span { color: var(--orange); font-family: Georgia,serif; font-size: 25px; }
.benefit-grid h3 { margin: 17px 0 9px; font-size: 23px; line-height: 1.12; }
.benefit-grid p { color: var(--muted); font-size: 12px; }
.own-people { background: var(--cream); }
.own-people-grid,.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.own-people-grid>img,.story-grid>img,.own-people-grid>div:first-child img,.story-grid>div:first-child img { height: 100%; min-height: 500px; object-fit: cover; }
.story-copy h2,.own-people-grid h2 { margin: 14px 0 19px; font-size: clamp(44px,5vw,68px); line-height: .98; }
.story-copy p,.own-people-grid p { color: var(--muted); }
.check-list { display: grid; gap: 10px; margin: 25px 0; padding: 0; list-style: none; }
.check-list li,.check-list div { padding: 13px 14px; border: 1px solid var(--line); background: #fff; font-size: 12px; font-weight: 760; }
.check-list li::before,.check-list div::before { content: "✓"; margin-right: 9px; color: var(--orange); font-weight: 900; }
.gallery-section { background: #fff; }
.gallery-grid { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 245px; gap: 12px; }
.gallery-grid figure { margin: 0; overflow: hidden; background: #eee; }
.gallery-grid figure:nth-child(4n+1) { grid-column: span 7; grid-row: span 2; }
.gallery-grid figure:nth-child(4n+2),.gallery-grid figure:nth-child(4n+3) { grid-column: span 5; }
.gallery-grid figure:nth-child(4n+4) { grid-column: span 12; }
.gallery-grid img { height: 100%; object-fit: cover; }
.project-hero { padding: 145px 0 48px; color: #fff; background: var(--navy); }
.project-hero h1 { margin: 15px 0; font-size: clamp(48px,6vw,80px); line-height: .96; }
.project-hero p { max-width: 760px; color: rgba(255,255,255,.7); font-size: 17px; }
.project-hero .meta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 24px; color: #ffc5a1; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.project-story-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.project-story article { padding: 23px; border-top: 3px solid var(--orange); background: #faf9f7; }
.project-story h2 { margin: 0 0 11px; font-size: 18px; }
.project-story p { margin: 0; color: var(--muted); font-size: 12px; }
.article-page { padding: 110px 0; }
.article-wrap { width: min(calc(100% - 48px),900px); margin: auto; }
.article-page h1 { margin: 15px 0 20px; font-size: clamp(48px,6vw,76px); line-height: .98; }
.article-intro { color: var(--muted); font-size: 19px; }
.article-image { max-height: 520px; margin: 33px 0; object-fit: cover; }
.article-content { font-size: 16px; line-height: 1.75; }
.article-content p { margin: 0 0 1.2em; }
.article-cta { margin-top: 42px; padding: 28px; background: var(--cream); }
.legal-page { min-height: 100vh; padding: 45px 0 90px; background: #faf9f7; }
.legal-wrap { max-width: 860px; }
.legal-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 65px; font-weight: 850; }
.legal-brand img { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; }
.legal-page h1 { margin: 16px 0 24px; font-size: clamp(52px,7vw,80px); line-height: .96; }
.legal-page .lead { max-width: 760px; color: var(--muted); font-size: 18px; }
.legal-page h2 { margin: 38px 0 8px; font-size: 22px; }
.legal-page p { color: var(--muted); }
.legal-meta { display: flex; flex-direction: column; gap: 4px; margin-top: 50px; padding-top: 23px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }

/* Public footer */
.site-footer { color: #fff; background: #0a1220; }
.footer-top { display: grid; grid-template-columns: 1.35fr .65fr; gap: 75px; align-items: end; padding: 85px 0 65px; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-promise h2 { max-width: 800px; margin: 14px 0 18px; font-size: clamp(44px,5vw,68px); line-height: .98; }
.footer-promise p { max-width: 680px; margin: 0 0 23px; color: rgba(255,255,255,.62); }
.footer-contact-card { padding: 25px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
.footer-contact-card small { display: block; color: #ffc5a1; font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.footer-contact-card a,.footer-contact-card span { display: block; margin-top: 7px; color: rgba(255,255,255,.65); font-size: 11px; }
.footer-contact-card .footer-phone { margin: 10px 0 3px; color: #fff; font-family: Georgia,serif; font-size: 27px; }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3,1fr); gap: 45px; padding: 55px 0; }
.footer-brand .footer-logo { width: 58px; height: 58px; margin-bottom: 14px; border-radius: 12px; object-fit: cover; }
.footer-brand strong { font-size: 17px; }
.footer-brand p { max-width: 390px; color: rgba(255,255,255,.55); font-size: 11px; }
.footer-grid b { display: block; margin-bottom: 14px; font-size: 12px; }
.footer-grid>div:not(.footer-brand) a,.footer-grid>div:not(.footer-brand) span { display: block; margin: 7px 0; color: rgba(255,255,255,.58); font-size: 11px; }
.footer-grid a:hover { color: #fff!important; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0 24px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.38); font-size: 9px; }
.mobile-contact-bar { position: fixed; z-index: 600; left: 12px; right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); display: none; grid-template-columns: 1fr 1fr; gap: 8px; }
.mobile-contact-bar a { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; color: #fff; background: var(--navy); box-shadow: 0 10px 34px rgba(0,0,0,.2); font-size: 11px; font-weight: 850; }
.mobile-contact-bar a:first-child { background: var(--orange); }

/* --------------------------------------------------------------------------
   Admin environment and navigation
   -------------------------------------------------------------------------- */
.admin-route { padding-top: 38px; background: var(--surface); }
.environment-banner {
  position: fixed;
  z-index: 2000;
  inset: 0 0 auto;
  height: 38px;
  display: grid;
  grid-template-columns: 86px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 0 17px;
  color: #fff;
  box-shadow: 0 7px 25px rgba(0,0,0,.18);
}
.environment-banner strong { font-size: 14px; letter-spacing: .15em; }
.environment-banner span { font-size: 10px; font-weight: 850; }
.environment-banner small { opacity: .72; font: 8px ui-monospace,SFMono-Regular,Menlo,monospace; }
.environment-local { background: #6938a8; }
.environment-dev,.environment-stage { background: #006f94; }
.environment-prod { background: #c72b20; }
.admin-shell { display: grid; grid-template-columns: var(--admin-sidebar) minmax(0,1fr); min-height: calc(100vh - 38px); background: var(--surface); }
.admin-sidebar {
  position: sticky;
  top: 38px;
  z-index: 120;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 38px);
  overflow-y: auto;
  color: #fff;
  background: linear-gradient(180deg,#0d1727,var(--navy));
  border-right: 1px solid rgba(255,255,255,.07);
}
.admin-sidebar-head { padding: 21px 18px 15px; }
.admin-brand { display: flex; align-items: center; gap: 11px; }
.admin-brand img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.admin-brand b { display: block; font-size: 13px; }
.admin-brand span { display: block; color: rgba(255,255,255,.5); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.admin-stage-card { display: grid; grid-template-columns: 48px 1fr; gap: 10px; align-items: center; margin-top: 17px; padding: 11px; border-radius: 11px; background: rgba(255,255,255,.06); }
.admin-stage-card>span { display: grid; place-items: center; min-height: 35px; border-radius: 8px; color: #fff; background: #6938a8; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.admin-stage-card.admin-stage-dev>span,.admin-stage-card.admin-stage-stage>span { background: #007da5; }
.admin-stage-card.admin-stage-prod>span { background: #d92d20; }
.admin-stage-card b { display: block; font-size: 9px; }
.admin-stage-card small { display: block; color: rgba(255,255,255,.48); font-size: 7px; line-height: 1.3; }
.admin-sidebar-nav { display: grid; gap: 6px; padding: 8px 12px 18px; }
.admin-overview-link,.admin-nav-primary { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; min-height: 56px; padding: 9px 10px; border-radius: 11px; color: rgba(255,255,255,.66); }
.admin-overview-link:hover,.admin-overview-link.active,.admin-nav-group.active>.admin-nav-primary,.admin-nav-primary:hover { color: #fff; background: rgba(255,255,255,.08); }
.admin-nav-icon,.admin-nav-number { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #ffc5a1; background: rgba(255,255,255,.07); font-size: 9px; font-weight: 900; }
.admin-overview-link b,.admin-nav-primary b { display: block; font-size: 10px; }
.admin-overview-link small,.admin-nav-primary small { display: block; margin-top: 2px; color: rgba(255,255,255,.42); font-size: 7px; }
.admin-nav-primary i { color: rgba(255,255,255,.36); font-style: normal; }
.admin-subnav { display: grid; gap: 3px; margin: 4px 0 5px 43px; padding: 5px 0 5px 12px; border-left: 1px solid rgba(255,255,255,.12); }
.admin-subnav a { padding: 7px 9px; border-radius: 7px; color: rgba(255,255,255,.52); font-size: 8px; font-weight: 800; }
.admin-subnav a:hover,.admin-subnav a.active { color: #fff; background: rgba(255,255,255,.08); }
.admin-subnav-two-column { grid-template-columns: 1fr 1fr; margin-left: 24px; }
.admin-system-section { margin: auto 12px 12px; padding: 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.035); }
.admin-system-section>small { display: block; margin-bottom: 7px; color: rgba(255,255,255,.38); font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.admin-system-section a { display: flex; justify-content: space-between; padding: 8px 7px; border-radius: 7px; color: rgba(255,255,255,.58); font-size: 8px; font-weight: 800; }
.admin-system-section a:hover,.admin-system-section a.active { color: #fff; background: rgba(255,255,255,.08); }
.admin-system-section i { font-style: normal; }
.admin-sidebar-footer { padding: 15px 18px 20px; border-top: 1px solid rgba(255,255,255,.08); }
.admin-user-card { display: grid; grid-template-columns: 34px 1fr; gap: 9px; align-items: center; }
.admin-user-card>span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--navy); background: #fff; font-size: 11px; font-weight: 900; }
.admin-user-card b { display: block; font-size: 9px; }
.admin-user-card small { display: block; overflow: hidden; color: rgba(255,255,255,.42); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.admin-footer-actions { display: flex; justify-content: space-between; margin-top: 11px; }
.admin-footer-actions a { color: rgba(255,255,255,.5); font-size: 8px; font-weight: 800; }
.admin-footer-actions a:hover { color: #fff; }
.admin-mobile-bar,.admin-sidebar-backdrop { display: none; }
.admin-stage-pill { display: inline-grid; place-items: center; min-width: 48px; height: 28px; padding: 0 9px; border-radius: 999px; color: #fff; background: #6938a8; font-size: 8px; font-weight: 950; letter-spacing: .1em; }
.admin-stage-pill.admin-stage-dev,.admin-stage-pill.admin-stage-stage { background: #007da5; }
.admin-stage-pill.admin-stage-prod { background: #d92d20; }
.admin-main { width: 100%; max-width: 1560px; margin: 0 auto; padding: 44px clamp(24px,4vw,58px) 70px; min-width: 0; }
.admin-main.narrow-admin { max-width: 1120px; }
.admin-main.wide-form-admin { max-width: 1660px; }

/* Admin page language */
.admin-title { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 25px; }
.admin-title>div:first-child { min-width: 0; }
.admin-title span,.admin-kicker { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.admin-title h1 { margin: 4px 0 0; font-size: clamp(31px,3.5vw,47px); line-height: 1; letter-spacing: -.045em; }
.admin-title p { max-width: 780px; margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.admin-title>a:not(.btn):not(.admin-primary-button) { color: #285a86; font-size: 10px; font-weight: 850; }
.admin-title-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.admin-title-actions a { padding: 9px 11px; border-radius: 9px; color: #253447; background: #eaf0f4; font-size: 9px; font-weight: 850; }
.admin-primary-button { min-height: 42px; border-radius: 10px; padding-inline: 15px; font-size: 10px; }
.admin-primary-button span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 7px; border-radius: 999px; color: var(--navy); background: #fff; }
.admin-secondary-button { min-height: 42px; border-radius: 10px; padding-inline: 15px; font-size: 10px; }
.admin-flash,.deploy-flash { padding: 12px 15px; margin-bottom: 15px; border-radius: 10px; font-size: 10px; font-weight: 750; }
.admin-flash.success,.deploy-flash.success { color: #17623f; background: #e7f5ec; }
.admin-flash.error,.deploy-flash.error { color: #9d251d; background: #ffedeb; }
.admin-empty { padding: 25px; color: var(--muted); font-size: 11px; }
.admin-empty-success { color: var(--success); background: #f0faf5; border-radius: 10px; }

.admin-welcome { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 27px; padding: 32px; border-radius: 22px; color: #fff; background: linear-gradient(135deg,var(--navy),var(--navy-3)); box-shadow: var(--shadow-sm); }
.admin-welcome h1 { margin: 6px 0 8px; font-size: clamp(32px,4vw,50px); line-height: 1; letter-spacing: -.045em; }
.admin-welcome p { max-width: 680px; margin: 0; color: rgba(255,255,255,.62); font-size: 11px; }
.admin-welcome-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.admin-welcome .admin-secondary-button { color: #fff; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); }
.admin-module-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-bottom: 20px; }
.admin-module-card { position: relative; display: grid; grid-template-columns: 35px 1fr auto; gap: 10px; min-height: 150px; padding: 21px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgba(16,26,43,.04); transition: transform .2s, box-shadow .2s, border-color .2s; }
.admin-module-card:hover { transform: translateY(-3px); border-color: rgba(237,123,61,.45); box-shadow: var(--shadow-sm); }
.admin-module-card>span { color: var(--orange); font-family: Georgia,serif; font-size: 22px; }
.admin-module-card small { color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.admin-module-card h2 { margin: 7px 0 7px; font-size: 18px; line-height: 1.08; }
.admin-module-card p { margin: 0; color: var(--muted); font-size: 9px; }
.admin-module-card>i { color: var(--muted); font-style: normal; }
.admin-module-card-accent { color: #fff; border-color: var(--navy); background: var(--navy); }
.admin-module-card-accent small,.admin-module-card-accent p,.admin-module-card-accent>i { color: rgba(255,255,255,.55); }

.dashboard-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-bottom: 20px; }
.dashboard-kpi { display: block; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 9px 28px rgba(16,26,43,.035); }
.dashboard-kpi small,.panel-head small { display: block; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.dashboard-kpi strong { display: block; margin: 7px 0 2px; font-size: 25px; line-height: 1; letter-spacing: -.04em; }
.dashboard-kpi span { color: var(--muted); font-size: 9px; }
.dashboard-kpi.warning { border-top: 4px solid #f79009; }
.dashboard-kpi.success { border-top: 4px solid #16a064; }
.dashboard-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0; }
.admin-panel,.admin-wizard-card,.admin-form { border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 9px 28px rgba(16,26,43,.035); }
.admin-panel { padding: 21px; }
.admin-form { display: grid; gap: 17px; padding: 22px; }
.panel-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 13px; }
.panel-head h2 { margin: 3px 0 0; font-size: 21px; letter-spacing: -.035em; }
.panel-head>a { color: #285a86; font-size: 9px; font-weight: 850; }
.compact-row,.incident-row,.list-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.compact-row:first-of-type,.incident-row:first-of-type,.list-row:first-of-type { border-top: 0; }
.compact-row b,.incident-row b,.list-row b,.list-row strong { display: block; font-size: 11px; }
.compact-row small,.incident-row small,.list-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.compact-row>strong,.incident-row>strong { white-space: nowrap; font-size: 10px; }
.status-line-failed>strong { color: var(--danger); }
.status-line-success>strong { color: var(--success); }

/* Admin forms, data, tables and guided workspaces */
.admin-form label,.deployment-target-form label,.admin-wizard-card label {
  display: block; color: #263449; font-size: 12px; font-weight: 850; letter-spacing: -.01em;
}
.admin-form label>span,.deployment-target-form label>span,.admin-wizard-card label>span { display: block; margin-bottom: 8px; }
.admin-form input,.admin-form select,.admin-form textarea,
.deploy-target input,.deploy-target select,
.deployment-target-form input,.deployment-target-form select,.deployment-target-form textarea,
.admin-wizard-card input,.admin-wizard-card select,.admin-wizard-card textarea,
.date-filter input,.date-filter select,.lead-row select {
  display: block; width: 100%; min-height: 52px; margin-top: 0; padding: 13px 15px;
  border: 1px solid rgba(16,26,43,.16); border-radius: 13px; color: var(--ink); background: #fff;
  outline: none; box-shadow: 0 1px 0 rgba(16,26,43,.02); transition: border-color .18s,box-shadow .18s,background .18s,transform .18s;
  font-size: 14px; font-weight: 550;
}
.admin-form textarea,.deployment-target-form textarea,.admin-wizard-card textarea { min-height: 138px; resize: vertical; line-height: 1.55; }
.admin-form input:hover,.admin-form select:hover,.admin-form textarea:hover,
.deployment-target-form input:hover,.deployment-target-form select:hover,.deployment-target-form textarea:hover,
.admin-wizard-card input:hover,.admin-wizard-card select:hover,.admin-wizard-card textarea:hover { border-color: rgba(16,26,43,.3); }
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,
.deployment-target-form input:focus,.deployment-target-form select:focus,.deployment-target-form textarea:focus,
.admin-wizard-card input:focus,.admin-wizard-card select:focus,.admin-wizard-card textarea:focus {
  border-color: var(--orange); box-shadow: 0 0 0 4px rgba(237,123,61,.13),0 10px 30px rgba(16,26,43,.06); background: #fffdfb;
}
.admin-form input::placeholder,.admin-form textarea::placeholder,.admin-wizard-card input::placeholder,.admin-wizard-card textarea::placeholder { color: #98a0ab; font-weight: 450; }
.admin-form label small,.deployment-target-form label small,.admin-wizard-card label small {
  display: block; margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.45; font-weight: 500;
}
.admin-form code,.admin-wizard-card code { padding: 2px 5px; border-radius: 5px; background: #eef2f5; font-size: .92em; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.form-grid .full { grid-column: 1/-1; }
.check-field,.toggle-line,.permission-grid label {
  display: flex!important; align-items: flex-start; gap: 11px; min-height: 70px; padding: 15px;
  border: 1px solid var(--line); border-radius: 13px; background: #fff; transition: border-color .18s,background .18s,transform .18s;
}
.check-field:hover,.toggle-line:hover,.permission-grid label:hover { border-color: rgba(237,123,61,.5); background: #fffaf7; transform: translateY(-1px); }
.check-field input,.toggle-line input,.permission-grid input { width: 18px!important; min-height: 18px!important; height: 18px; margin: 2px 0 0!important; accent-color: var(--orange); }
.toggle-line span,.permission-grid span { margin: 0!important; }
.toggle-line b,.permission-grid b { display: block; font-size: 12px; }
.form-section { padding: 25px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: 0 10px 32px rgba(16,26,43,.035); }
.form-section h2 { margin: 0 0 18px; font-size: 23px; letter-spacing: -.035em; }
.form-section>label+label { margin-top: 18px; }
.form-actions { display: flex; align-items: center; gap: 15px; }
.permission-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; }
.permission-grid span,.toggle-line span { font-size: 11px; font-weight: 750; }
.field-error>input,.field-error>select,.field-error>textarea,.is-invalid { border-color: #d92d20!important; box-shadow: 0 0 0 4px rgba(217,45,32,.09)!important; }
.pill { display: inline-flex; padding: 5px 8px; margin: 2px; border-radius: 999px; background: #eef2f5; font-size: 7px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.pill.success { color: var(--success); background: #e7f5ec; }
.pill.warning { color: var(--warning); background: #fff2da; }
.responsive-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th,td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; font-size: 10px; vertical-align: top; }
th { color: var(--muted); background: #f7f7f6; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
td small { color: var(--muted); }
.admin-data-table { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.data-row { display: grid; grid-template-columns: 1fr 1.3fr 1fr 1fr 1fr; gap: 15px; align-items: center; padding: 14px 17px; border-bottom: 1px solid var(--line); font-size: 10px; }
.data-row:last-child { border-bottom: 0; }
.data-row:hover:not(.data-head) { background: #fbfaf8; }
.data-row b { display: block; }
.data-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.data-head { color: var(--muted); background: #f7f5f2; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.lead-list { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.lead-row { display: grid; grid-template-columns: .55fr 1fr .8fr 1fr 1.15fr .55fr; gap: 13px; align-items: center; padding: 14px; border-bottom: 1px solid var(--line); font-size: 9px; }
.lead-row:last-child { border-bottom: 0; }
.lead-row strong { display: block; }
.lead-row span,.lead-row a,.lead-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; word-break: break-word; }
.lead-head { padding-block: 10px; color: var(--muted); background: #faf9f7; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

/* Multi-screen admin wizard: same photographic navy/orange language as the public demo. */
.admin-wizard-card { overflow: visible; padding: 0; border-radius: 25px; }
.admin-wizard-premium { background: #fff; }
.wizard-hero {
  position: relative; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end;
  min-height: 205px; padding: 38px 42px; overflow: hidden; border-radius: 24px 24px 0 0;
  color: #fff; background:
    radial-gradient(circle at 88% 18%,rgba(237,123,61,.28),transparent 25%),
    linear-gradient(135deg,var(--navy),#223957 76%,#2c4668);
}
.wizard-hero::after { content:""; position:absolute; right:-70px; top:-130px; width:310px; height:310px; border:58px solid rgba(255,255,255,.055); border-radius:50%; }
.wizard-hero>div { position: relative; z-index: 1; }
.wizard-hero small,.step-kicker { color: #ffc39d; font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.wizard-hero h2 { max-width: 860px; margin: 10px 0 12px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(31px,4vw,52px); line-height: .99; letter-spacing: -.045em; font-weight: 400; }
.wizard-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.69); font-size: 13px; }
.wizard-progress-ring { display: grid; place-items: center; width: 94px; height: 94px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 9px rgba(255,255,255,.035); }
.wizard-progress-ring strong { grid-area: 1/1; transform: translate(-7px,-2px); font: 400 36px/1 Georgia,serif; }
.wizard-progress-ring span { grid-area: 1/1; transform: translate(20px,13px); color: rgba(255,255,255,.55); font-size: 11px; }
.wizard-tabs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 0; padding: 0 24px; border-bottom: 1px solid var(--line); background: #fff; }
.wizard-tabs button { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 10px; min-height: 86px; padding: 18px 13px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #536070; background: transparent; text-align: left; cursor: pointer; transition: color .2s,border-color .2s,background .2s; }
.wizard-tabs button:hover { color: var(--navy); background: #fbf7f3; }
.wizard-tabs button>span { grid-row: 1/3; align-self: center; color: #9aa2ac; font: 400 24px/1 Georgia,serif; }
.wizard-tabs button>b { align-self: end; font-size: 11px; }
.wizard-tabs button>small { color: #8a929d; font-size: 8px; }
.wizard-tabs button.active { color: var(--navy); border-bottom-color: var(--orange); background: #fff8f4; }
.wizard-tabs button.active>span,.wizard-tabs button.complete>span { color: var(--orange); }
.wizard-feedback { min-height: 38px; padding: 11px 42px; color: #596575; background: #f7f8f9; font-size: 10px; font-weight: 650; }
.wizard-feedback.error { color: #9d251d; background: #fff0ee; }
.wizard-feedback.success { color: #17623f; background: #e9f7ef; }
.wizard-feedback.info { color: #315a7f; background: #edf6fb; }
.wizard-layout { display: grid; grid-template-columns: minmax(0,1fr) 315px; gap: 0; }
.wizard-fields { min-width: 0; padding: 36px 42px 0; }
.admin-form-section { min-height: 420px; }
.js-ready .admin-form-section { display: none; }
.js-ready .admin-form-section.active { display: block; animation: wizardPanelIn .36s var(--ease) both; }
@keyframes wizardPanelIn { from { opacity:0; transform:translateY(13px); } to { opacity:1; transform:none; } }
.admin-form-section h2 { margin: 7px 0 10px; font-size: clamp(27px,3vw,38px); line-height: 1.06; letter-spacing: -.04em; }
.step-intro { max-width: 760px; margin: 0 0 27px; color: var(--muted); font-size: 12px; }
.admin-help { position: sticky; top: 68px; align-self: start; min-height: 100%; padding: 34px 27px; border-left: 1px solid var(--line); border-radius: 0 0 24px 0; color: #fff; background: linear-gradient(155deg,#15233a,#203a59); }
.admin-help h3 { margin: 17px 0 19px; font-family: Georgia,serif; font-size: 28px; line-height: 1.05; font-weight: 400; }
.admin-help b { display: block; margin-bottom: 7px; color: #fff; font-size: 12px; }
.admin-help p,.admin-help li { color: rgba(255,255,255,.68); font-size: 10px; }
.admin-help ul { padding-left: 17px; }
.help-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 50%; color: #fff; background: var(--orange); font: 700 18px/1 Georgia,serif; }
.help-warning { margin-top: 25px; padding: 15px; border: 1px solid rgba(255,255,255,.1); border-left: 3px solid var(--orange); border-radius: 10px; background: rgba(255,255,255,.06); }
.help-warning strong,.help-warning span { display: block; }
.help-warning span { margin-top: 5px; color: rgba(255,255,255,.65); font-size: 9px; }
.wizard-actions { display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; min-height: 84px; margin: 34px -42px 0; padding: 17px 42px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); }
.wizard-actions-sticky { position: sticky; z-index: 20; bottom: 0; backdrop-filter: blur(14px); }
.wizard-actions .btn { min-width: 142px; }
.wizard-action-status { text-align: center; }
.wizard-action-status span { display: block; color: var(--navy); font-size: 10px; font-weight: 900; }
.wizard-action-status small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.wizard-actions [hidden] { display: none!important; }
.wizard-tabs [aria-current="step"] { pointer-events: none; }
.admin-callout { margin-top: 22px; padding: 18px; border-left: 4px solid var(--orange); border-radius: 0 12px 12px 0; background: #fff4e9; }
.admin-callout-blue { border-left-color: #2d7da7; background: #eff8fc; }
.admin-callout p { margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.seo-tips { display: grid; gap: 7px; margin-top: 11px; }
.seo-tips span { display: block; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 9px; }
.utm-result { margin-top: 17px; padding: 17px; border-radius: 13px; background: var(--cream); }
.utm-result textarea { width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.admin-choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.admin-choice-grid label { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }

/* Safe rich-text editor */
.rich-editor-source { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.rich-editor { overflow: hidden; border: 1px solid rgba(16,26,43,.16); border-radius: 15px; background: #fff; box-shadow: 0 1px 0 rgba(16,26,43,.02); transition: border-color .18s,box-shadow .18s; }
.rich-editor:focus-within { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(237,123,61,.13),0 12px 35px rgba(16,26,43,.06); }
.rich-editor.editor-invalid { border-color: #d92d20; box-shadow: 0 0 0 4px rgba(217,45,32,.09); }
.rich-editor-toolbar { display: flex; align-items: center; gap: 4px; min-height: 49px; padding: 7px 9px; overflow-x: auto; border-bottom: 1px solid var(--line); background: #f7f8f9; }
.rich-editor-toolbar button,.rich-editor-toolbar select { flex: 0 0 auto; min-height: 34px!important; width: auto!important; margin: 0!important; padding: 7px 10px!important; border: 1px solid transparent!important; border-radius: 8px!important; color: #344154!important; background: transparent!important; box-shadow: none!important; font-size: 10px!important; font-weight: 800!important; cursor: pointer; }
.rich-editor-toolbar button:hover,.rich-editor-toolbar select:hover { color: var(--navy)!important; border-color: var(--line)!important; background: #fff!important; }
.rich-editor-toolbar select { border-color: var(--line)!important; background: #fff!important; }
.rich-editor-divider { width: 1px; height: 24px; margin: 0 3px; background: var(--line); }
.rich-editor-canvas { min-height: 255px; padding: 20px 21px; color: var(--ink); outline: none; font-size: 14px; line-height: 1.7; }
.rich-editor-canvas:empty::before { content:"Begin met typen…"; color:#9aa2ad; }
.rich-editor-canvas h2 { margin: 24px 0 9px; font: 400 28px/1.1 Georgia,serif; }
.rich-editor-canvas h3 { margin: 20px 0 7px; font-size: 18px; }
.rich-editor-canvas p { margin: 0 0 13px; }
.rich-editor-canvas blockquote { margin: 18px 0; padding: 13px 17px; border-left: 4px solid var(--orange); background: #fff6ef; }
.rich-editor-canvas a { color: #1d6c9d; text-decoration: underline; }
.rich-editor-meta { display: flex; justify-content: space-between; gap: 15px; padding: 8px 13px; border-top: 1px solid var(--line); color: var(--muted); background: #fbfbfb; font-size: 8px; }
.editor-invalid .rich-editor-meta [data-editor-feedback] { color: #b42318; font-weight: 800; }
.rich-copy h2 { margin: 28px 0 10px; font-family: Georgia,serif; font-size: 29px; font-weight: 400; }
.rich-copy h3 { margin: 22px 0 8px; }
.rich-copy p,.rich-copy ul,.rich-copy ol,.rich-copy blockquote { margin: 0 0 16px; }
.rich-copy blockquote { padding: 15px 18px; border-left: 4px solid var(--orange); background: #fff7f2; }
.rich-copy a { color: #1d6c9d; text-decoration: underline; }

/* Deployment probe and review */
.connection-test-card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,#fff,#faf8f5); }
.connection-test-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.connection-test-head small { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.connection-test-head h3 { margin: 4px 0 0; font-size: 24px; }
.connection-results { margin-top: 19px; }
.connection-placeholder,.connection-summary { display: flex; align-items: center; gap: 13px; padding: 17px; border-radius: 13px; background: #eef2f5; }
.connection-placeholder>span,.connection-summary>span { display: grid; place-items: center; width: 37px; height: 37px; flex: 0 0 auto; border-radius: 50%; color: #fff; background: #84909d; font-weight: 900; }
.connection-placeholder b,.connection-summary b { display:block; font-size: 11px; }
.connection-placeholder p,.connection-summary small { display:block; margin:2px 0 0; color:var(--muted); font-size:9px; }
.connection-placeholder.is-running>span { border: 3px solid rgba(255,255,255,.45); border-top-color:#fff; animation: connectionSpin .8s linear infinite; }
@keyframes connectionSpin { to { transform:rotate(360deg); } }
.connection-summary.success { color:#145c3c; background:#e7f5ec; }
.connection-summary.success>span { background:#18794e; }
.connection-summary.error { color:#8f2018; background:#ffedeb; }
.connection-summary.error>span { background:#b42318; }
.connection-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
.connection-check { display:grid; grid-template-columns:30px 1fr; gap:10px; min-height:115px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.connection-check>span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#fff; background:#84909d; font-weight:900; }
.connection-check.status-success { border-color:#a5dcc0; }
.connection-check.status-success>span { background:#18794e; }
.connection-check.status-warning { border-color:#f2ca8f; }
.connection-check.status-warning>span { background:#b56200; }
.connection-check.status-error { border-color:#efaaa5; }
.connection-check.status-error>span { background:#b42318; }
.connection-check small { color:var(--muted); font-size:7px; text-transform:uppercase; letter-spacing:.08em; }
.connection-check b { display:block; margin:4px 0; font-size:10px; }
.connection-check p { margin:0; color:var(--muted); font-size:8px; word-break:break-word; }
.connection-auth-note { margin:13px 2px 0; color:var(--muted); font-size:9px; }
.deployment-review { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin:22px 0; }
.deployment-review>div { min-height:87px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#faf9f7; }
.deployment-review small { display:block; color:var(--muted); font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.deployment-review strong { display:block; margin-top:7px; font-size:11px; word-break:break-word; }
.check-list-rich { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.check-list-rich>div { display:grid; grid-template-columns:35px 1fr; gap:10px; padding:15px; border-radius:12px; background:#f3f5f7; }
.check-list-rich span { color:var(--orange); font:400 21px/1 Georgia,serif; }
.check-list-rich p { margin:0; color:var(--muted); font-size:9px; }
.check-list-rich b { display:block; margin-bottom:3px; color:var(--ink); font-size:10px; }
.post-form-actions { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:22px; padding:25px; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--navy),var(--navy-3)); }
.post-form-actions span { color:#ffc39d; font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.post-form-actions h2 { margin:5px 0; font-size:25px; }
.post-form-actions p { margin:0; color:rgba(255,255,255,.64); font-size:10px; }
.post-form-buttons { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.post-form-buttons form { margin:0; }
.post-form-actions .btn:not(.btn-dark) { color:#fff; border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.08); }
.danger-zone { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:20px; padding:19px; border:1px solid #f2b8b3; border-radius:15px; background:#fff3f2; }
.danger-zone b,.danger-zone small { display:block; }
.danger-zone small { color:#9d514b; font-size:9px; }

/* Lead OS */
.funnel-list { display: grid; gap: 10px; }
.funnel-row { display: grid; grid-template-columns: 140px 1fr 38px 44px; gap: 9px; align-items: center; font-size: 9px; }
.funnel-row>div { height: 10px; overflow: hidden; border-radius: 999px; background: #edf0f2; }
.funnel-row i { display: block; height: 100%; border-radius: inherit; background: var(--orange); }
.funnel-row small { color: var(--muted); text-align: right; }
.lead-dashboard-columns { grid-template-columns: 1.2fr .8fr; }

/* Accounting and document generator */
.accounting-nav { display: none; }
.document-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.document-actions form { margin: 0; }
.document-actions button,.document-actions a,.line-add-button,.tiny-button,.copy-button,.target-profile-actions button { display: inline-flex; align-items: center; justify-content: center; padding: 9px 12px; border: 0; border-radius: 9px; color: #fff; background: var(--navy); cursor: pointer; font-size: 9px; font-weight: 850; }
.tiny-button,.line-add-button { color: #253447; background: #eef2f5; }
.danger-link { margin-top: 18px; border: 0; color: var(--danger); background: transparent; cursor: pointer; font-size: 10px; font-weight: 850; }
.document-lines { display: grid; gap: 12px; }
.document-line { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #faf9f7; }
.line-top { display: grid; grid-template-columns: 1fr 36px; gap: 11px; align-items: end; }
.line-top>button { height: 36px; border: 0; border-radius: 8px; color: var(--danger); background: #ffe9e7; cursor: pointer; font-size: 19px; }
.line-grid { display: grid; grid-template-columns: 2fr .55fr .65fr .8fr .55fr; gap: 11px; align-items: end; margin-top: 11px; }
.line-name { grid-column: 1/3; }
.line-description { grid-column: 1/5; }
.line-total { padding: 9px 0; text-align: right; }
.line-total small { display: block; color: var(--muted); font-size: 7px; }
.line-total strong { font-size: 14px; }
.document-live-total { display: flex; justify-content: flex-end; align-items: center; gap: 17px; margin-top: 17px; padding: 17px; border-radius: 12px; color: #fff; background: var(--navy); }
.document-live-total span { font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.document-live-total strong { font-size: 23px; }

/* Deployment profiles, debug and release center */
.target-profile-grid,.deploy-target-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.target-profile-card,.deploy-target { padding: 23px; border: 2px solid #68bdd6; border-radius: 19px; background: #fff; box-shadow: var(--shadow-sm); }
.target-profile-card.target-profile-prod,.deploy-target.prod-target { border-color: #ef8a82; }
.target-profile-card.inactive { opacity: .56; }
.target-profile-head { display: grid; grid-template-columns: auto 1fr; gap: 3px 11px; align-items: center; }
.target-profile-head>span { grid-row: 1/3; padding: 8px 9px; border-radius: 8px; color: #fff; background: #007da5; font-size: 8px; font-weight: 950; letter-spacing: .12em; }
.target-profile-prod .target-profile-head>span { background: #d92d20; }
.target-profile-head b { font-size: 17px; }
.target-profile-head small { color: var(--muted); }
.target-profile-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; }
.target-profile-card dt { color: var(--muted); font-size: 6px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.target-profile-card dd { margin: 3px 0 0; font-size: 9px; font-weight: 750; word-break: break-word; }
.target-profile-actions { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; }
.target-profile-actions>a,.target-profile-actions button { padding: 8px 9px; border: 0; border-radius: 8px; color: #253447; background: #eef2f5; font-size: 8px; font-weight: 850; }
.target-validation { margin: 13px 0 0; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }
.inline-notice { display: block; margin: 9px 0; padding: 9px 11px; border-radius: 8px; color: #8a4b00; background: #fff6e8; font-size: 9px; font-weight: 850; }
.deploy-center { background: var(--surface); }
.deploy-environment-hero { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: 35px; align-items: end; min-height: 270px; padding: 38px; overflow: hidden; border-radius: 25px; color: #fff; box-shadow: var(--shadow-sm); }
.deploy-environment-hero::after { content: ""; position: absolute; right: -230px; top: -250px; width: 480px; height: 480px; border: 85px solid rgba(255,255,255,.06); border-radius: 50%; }
.deploy-env-local { background: linear-gradient(145deg,#5f2b9a,#8a57cb); }
.deploy-env-dev,.deploy-env-stage { background: linear-gradient(145deg,#005f80,#0097bd); }
.deploy-env-prod { background: linear-gradient(145deg,#8f1710,#df3025); }
.deploy-environment-hero>div { position: relative; z-index: 1; }
.deploy-environment-hero span { font-size: 8px; font-weight: 900; letter-spacing: .2em; }
.deploy-environment-hero h1 { margin: 10px 0 17px; font-size: clamp(48px,6vw,82px); line-height: .9; letter-spacing: -.055em; }
.deploy-environment-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.74); font-size: 13px; }
.deploy-current-meta { padding: 19px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.deploy-current-meta dl { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 0; }
.deploy-current-meta dt { color: rgba(255,255,255,.52); font-size: 7px; letter-spacing: .13em; text-transform: uppercase; }
.deploy-current-meta dd { margin: 3px 0 0; font-size: 10px; font-weight: 850; word-break: break-word; }
.deploy-section-head,.run-section-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin: 42px 0 20px; }
.deploy-section-head span,.run-section-head span { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.deploy-section-head h2,.run-section-head h2 { margin: 5px 0 0; font-size: 31px; letter-spacing: -.04em; }
.jenkins-state { min-width: 205px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.jenkins-state b,.jenkins-state a { display: block; font-size: 9px; }
.jenkins-state a { margin-top: 2px; color: var(--muted); }
.jenkins-state.ready { border-color: #9bd4b3; background: #effaf3; }
.jenkins-state.ready b { color: var(--success); }
.jenkins-state.missing { border-color: #efc1bd; background: #fff4f3; }
.jenkins-state.missing b { color: var(--danger); }
.production-lock { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 16px 19px; border: 2px solid #f04438; border-radius: 13px; color: #8f1710; background: #fff1f0; }
.production-lock span { font-size: 10px; }
.deploy-target h3 { margin: 0 0 10px; font-size: 28px; letter-spacing: -.04em; }
.deploy-target p { min-height: 58px; color: var(--muted); font-size: 11px; }
.target-label { margin-bottom: 11px; color: #007da5; font-size: 7px; font-weight: 950; letter-spacing: .15em; }
.prod-target .target-label { color: #d92d20; }
.deploy-target ul { display: grid; gap: 7px; margin: 19px 0; padding: 0; list-style: none; }
.deploy-target li { font-size: 10px; font-weight: 700; }
.deploy-target li::before { content: "✓"; margin-right: 7px; color: var(--success); }
.prod-target li::before { color: #d92d20; }
.deploy-button { width: 100%; min-height: 46px; border: 0; border-radius: 10px; color: #fff; background: #007da5; cursor: pointer; font-size: 10px; font-weight: 900; }
.deploy-button.prod { background: #d92d20; }
.deploy-button:disabled { cursor: not-allowed; opacity: .45; }
.dry-run-toggle { display: flex!important; align-items: center; gap: 8px; margin: 12px 0; color: var(--muted); font-size: 9px; }
.dry-run-toggle input { width: auto; margin: 0; }
.deployment-runs { display: grid; gap: 10px; }
.deployment-run { display: grid; grid-template-columns: 82px 130px 1fr 120px 180px; gap: 14px; align-items: center; padding: 15px; border: 1px solid var(--line); border-left: 5px solid #aab2bc; border-radius: 13px; background: #fff; }
.deployment-run.status-success { border-left-color: #16a064; }
.deployment-run.status-failed { border-left-color: #d92d20; }
.deployment-run.status-running { border-left-color: #007da5; }
.deployment-run small { display: block; color: var(--muted); font-size: 7px; }
.deployment-run strong { display: block; font-size: 9px; }
.deployment-run span { display: block; color: var(--muted); font-size: 8px; }
.run-status i { display: block; width: 8px; height: 8px; margin-bottom: 5px; border-radius: 50%; background: #aab2bc; }
.status-success .run-status i { background: #16a064; }
.status-failed .run-status i { background: #d92d20; }
.status-running .run-status i { background: #007da5; }
.run-links { display: flex; justify-content: flex-end; gap: 6px; align-items: center; flex-wrap: wrap; }
.run-links a,.run-links summary,.run-links button { padding: 6px 8px; border: 0; border-radius: 7px; color: #253447; background: #eef2f5; cursor: pointer; font-size: 8px; font-weight: 850; list-style: none; }
.run-links details { position: relative; }
.run-links details pre { position: absolute; z-index: 30; right: 0; top: 32px; width: min(620px,75vw); max-height: 360px; margin: 0; padding: 15px; overflow: auto; border-radius: 11px; color: #dbe7f2; background: #10141b; white-space: pre-wrap; font: 9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; box-shadow: var(--shadow); }
.incident-row { padding-left: 11px; border-left: 4px solid #f79009; }
.incident-row.status-resolved { border-left-color: #16a064; opacity: .72; }
.debug-output-panel pre { max-height: 520px; padding: 17px; overflow: auto; border-radius: 11px; color: #dbe7f2; background: #10141b; white-space: pre-wrap; font: 9px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }
.debug-chatgpt-panel { border-top: 4px solid var(--orange); }
.copy-button { background: #253447; }
details.admin-panel>summary { cursor: pointer; color: #26364b; font-size: 11px; font-weight: 850; }
details.admin-panel[open]>summary { margin-bottom: 13px; }

/* Login */
.login-shell { position:relative; min-height:100vh; display:grid; place-items:center; overflow:hidden; padding:45px 20px; background:linear-gradient(135deg,#0c1626,#192c48 63%,#213b5c); }
.login-shell::before { content:""; position:absolute; inset:0; opacity:.24; background:radial-gradient(circle at 18% 15%,rgba(237,123,61,.65),transparent 23%),radial-gradient(circle at 84% 82%,rgba(67,120,163,.7),transparent 25%); }
.login-shell::after { content:""; position:absolute; width:500px; height:500px; right:-180px; top:-200px; border:90px solid rgba(255,255,255,.035); border-radius:50%; }
.login-frame { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(390px,.72fr); width:min(1030px,100%); min-height:620px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:28px; background:rgba(255,255,255,.06); box-shadow:0 45px 120px rgba(0,0,0,.34); backdrop-filter:blur(20px); }
.login-story { position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:55px; color:#fff; background:linear-gradient(180deg,rgba(16,26,43,.15),rgba(16,26,43,.94)),url('/media/projects/dakkapel-finished.webp') center/cover; }
.login-story small { color:#ffc39d; font-size:9px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.login-story h1 { max-width:560px; margin:12px 0 16px; font:400 clamp(42px,5vw,68px)/.95 Georgia,serif; letter-spacing:-.055em; }
.login-story p { max-width:520px; margin:0; color:rgba(255,255,255,.72); font-size:13px; }
.login-card { width:auto; min-width:0; padding:52px 45px; border-radius:0; background:#fff; box-shadow:none; }
.login-card img { width:72px; height:72px; border-radius:14px; object-fit:cover; }
.login-card small { display:block; margin-top:30px; color:var(--orange); font-size:8px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.login-card h2 { margin:7px 0 8px; font-size:36px; letter-spacing:-.045em; }
.login-card>p { margin:0 0 28px; color:var(--muted); font-size:11px; }
.login-card label { display:block; margin:16px 0; font-size:11px; font-weight:850; }
.login-card label input:not([type="checkbox"]) { width:100%; min-height:54px; margin-top:7px; padding:14px 15px; border:1px solid var(--line-strong); border-radius:13px; outline:none; font-size:14px; }
.login-card label input:focus { border-color:var(--orange); box-shadow:0 0 0 4px rgba(237,123,61,.13); }
.login-remember { display:flex!important; align-items:flex-start; gap:9px; margin:16px 0!important; color:#475466; font-weight:650!important; }
.login-remember input { width:18px; height:18px; margin:1px 0 0!important; accent-color:var(--orange); }
.login-remember span { font-size:10px; }
.login-remember small { margin:2px 0 0; color:var(--muted); font-size:8px; font-weight:500; letter-spacing:0; text-transform:none; }
.login-card .btn { width:100%; margin-top:12px; }
.login-security-note { display:flex; gap:9px; margin-top:19px; padding:12px; border-radius:10px; color:#546173; background:#f5f7f8; font-size:8px; }

/* Responsive */
@media (max-width: 1180px) {
  .desktop-nav { gap: 1px; }
  .desktop-nav a { padding-inline: 8px; font-size: 10px; }
  .header-cta { display: none; }
  .hero-layout { grid-template-columns: 1fr 300px; }
  .home-route-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(2,330px); }
  .home-route-card:first-child,.home-route-card:last-child { grid-column: auto; grid-row: auto; }
  .home-route-featured .home-route-content h3 { font-size: 38px; }
  .home-value-grid { grid-template-columns: repeat(2,1fr); }
  .home-value-grid article:nth-child(2) { border-right: 0; }
  .home-value-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
  .admin-module-grid { grid-template-columns: repeat(2,1fr); }
  .dashboard-kpis { grid-template-columns: repeat(2,1fr); }
  .data-row { min-width: 840px; }
  .admin-data-table { overflow-x: auto; }
  .line-grid { grid-template-columns: 1fr 1fr 1fr; }
  .line-name,.line-description { grid-column: 1/3; }
  .deployment-run { grid-template-columns: 74px 115px 1fr; }
  .deployment-run>div:nth-child(4),.deployment-run>div:nth-child(5) { grid-column: auto; }
  .run-links { justify-content: flex-start; }
}

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .menu { display: block; }
  .hero-layout { grid-template-columns: 1fr; padding-top: 155px; }
  .hero-project-card { display: none; }
  .hero-proof { margin-top: 40px; }
  .home-route-intro,.home-own-team-grid,.home-region-grid,.faq-grid,.contact-grid,.intro-grid,.own-people-grid,.story-grid { grid-template-columns: 1fr; gap: 42px; }
  .home-project-story { grid-template-columns: 1fr; }
  .home-project-story-copy { padding: 72px 40px; }
  .home-project-gallery { min-height: 620px; }
  .home-process-list li { grid-template-columns: 70px .8fr 1.2fr; }
  .home-fast-grid { grid-template-columns: 1fr; }
  .home-fast-copy { padding: 72px 40px; }
  .home-fast-media { min-height: 430px; }
  .project-grid,.service-grid-three,.benefit-grid,.knowledge-grid { grid-template-columns: repeat(2,1fr); }
  .footer-top,.footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-promise { grid-column: 1/-1; }
  .admin-shell { display: block; }
  .admin-mobile-bar { position: sticky; top: 38px; z-index: 155; display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; min-height: 62px; padding: 9px 14px; color: #fff; background: var(--navy); box-shadow: 0 8px 26px rgba(0,0,0,.16); }
  .admin-mobile-bar>a { display: flex; align-items: center; gap: 9px; }
  .admin-mobile-bar img { width: 35px; height: 35px; border-radius: 8px; object-fit: cover; }
  .admin-mobile-bar strong { font-size: 11px; }
  .admin-menu-toggle { width: 42px; height: 42px; padding: 10px 8px; border: 0; border-radius: 10px; background: rgba(255,255,255,.1); cursor: pointer; }
  .admin-menu-toggle span { display: block; width: 22px; height: 2px; margin: 4px auto; background: #fff; transition: transform .2s,opacity .2s; }
  .admin-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .admin-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .admin-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .admin-sidebar { position: fixed; z-index: 170; top: 38px; bottom: 0; left: 0; width: min(320px,86vw); height: auto; transform: translateX(-105%); transition: transform .25s var(--ease); box-shadow: 24px 0 60px rgba(0,0,0,.28); }
  .admin-sidebar.open { transform: none; }
  .admin-sidebar-backdrop { position: fixed; z-index: 165; inset: 38px 0 0; display: block; background: rgba(5,11,20,.56); opacity: 0; visibility: hidden; transition: opacity .22s,visibility .22s; }
  .admin-sidebar-backdrop.open { opacity: 1; visibility: visible; }
  .admin-main { padding-top: 30px; }
  .admin-help { position: static; }
  .wizard-layout { grid-template-columns: 1fr; }
  .target-profile-grid,.deploy-target-grid { grid-template-columns: 1fr; }
  .deploy-environment-hero { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .wrap { width: min(calc(100% - 30px),var(--max)); }
  .section { padding: 78px 0; }
  .site-header-spacer { height: 72px; }
  .header-inner { height: 72px; }
  .brand img { width: 39px; height: 39px; }
  .brand b { font-size: 12px; }
  .mobile-nav { top: 72px; }
  .hero-layout { padding: 135px 0 36px; }
  .hero h1 { font-size: clamp(46px,13vw,67px); }
  .hero h1 em { display: inline; }
  .hero p { font-size: 16px; }
  .hero-proof { grid-template-columns: 1fr; }
  .hero-proof span,.hero-proof span+span { padding: 13px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .home-route-section { padding: 72px 0; }
  .home-route-intro { display: block; }
  .home-route-intro>p { margin-top: 18px; }
  .home-route-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .home-route-card { min-height: 390px; }
  .home-route-content h3,.home-route-featured .home-route-content h3 { font-size: 39px; }
  .home-own-team-media { min-height: 500px; }
  .home-own-team-main { inset: 0 35px 55px 0; height: calc(100% - 55px); }
  .home-own-team-detail { width: 53%; height: 37%; border-width: 7px; }
  .home-own-team-label { left: 15px; bottom: 17px; }
  .home-check-grid { grid-template-columns: 1fr; }
  .home-project-story-copy { padding: 63px 24px; }
  .home-project-facts { grid-template-columns: 1fr; }
  .home-project-gallery { grid-template-columns: 1fr; grid-template-rows: 360px 250px 250px; }
  .home-project-gallery .gallery-large { grid-row: auto; }
  .home-value-grid { grid-template-columns: 1fr; }
  .home-value-grid article { min-height: auto; border-right: 0; border-top: 1px solid var(--line); }
  .home-value-grid article:first-child { border-top: 0; }
  .home-value-grid h3 { margin-top: 25px; }
  .home-process-head { display: block; }
  .home-process-head .text-link { margin-top: 18px; }
  .home-process-list li { grid-template-columns: 48px 1fr; padding: 24px 0; }
  .home-process-list li>div { grid-column: 2; }
  .home-process-list p { margin-top: 10px; }
  .home-fast-copy { padding: 62px 24px; }
  .project-grid,.service-grid,.service-grid-three,.benefit-grid,.knowledge-grid,.project-story-grid { grid-template-columns: 1fr; }
  .faq-grid { gap: 30px; }
  .fields,.choice-grid,.wizard-summary,.intro-copy { grid-template-columns: 1fr; }
  .fields .full { grid-column: auto; }
  .lead-ready-card,.lead-card { padding: 22px 17px; }
  .wizard-progress span i { display: none; }
  .footer-top,.footer-grid { grid-template-columns: 1fr; }
  .footer-top { padding-top: 65px; }
  .footer-bottom { flex-direction: column; gap: 5px; padding-bottom: 88px; }
  .mobile-contact-bar { display: grid; }
  .inner-hero { min-height: 75vh; }
  .inner-hero-copy { padding: 135px 0 45px; }
  .inner-hero h1 { font-size: 50px; }
  .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 280px; }
  .gallery-grid figure:nth-child(n) { grid-column: auto; grid-row: auto; }
  .article-wrap { width: min(calc(100% - 30px),900px); }
  .admin-main { padding: 24px 13px 60px; }
  .admin-title,.admin-welcome { display: block; }
  .admin-title h1 { font-size: 30px; }
  .admin-title-actions,.admin-welcome-actions { justify-content: flex-start; margin-top: 14px; }
  .admin-module-grid,.dashboard-kpis,.dashboard-columns { grid-template-columns: 1fr; }
  .admin-module-card { min-height: 125px; }
  .form-grid,.permission-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .admin-panel,.admin-form,.admin-wizard-card { padding: 16px; }
  .lead-row { grid-template-columns: 1fr; padding: 16px; }
  .lead-head { display: none; }
  .lead-row>div { padding-bottom: 9px; border-bottom: 1px dashed var(--line); }
  .lead-row>div:last-child { border-bottom: 0; }
  .wizard-tabs { grid-template-columns: 1fr 1fr; }
  .admin-choice-grid { grid-template-columns: 1fr; }
  .funnel-row { grid-template-columns: 105px 1fr 30px; }
  .funnel-row small { display: none; }
  .line-grid { grid-template-columns: 1fr 1fr; }
  .line-name,.line-description { grid-column: 1/-1; }
  .line-total { text-align: left; }
  .deploy-environment-hero { min-height: 350px; padding: 25px 20px; }
  .deploy-environment-hero h1 { font-size: 49px; }
  .deploy-current-meta dl { grid-template-columns: 1fr; }
  .deploy-section-head,.run-section-head,.production-lock { display: block; }
  .jenkins-state { margin-top: 13px; }
  .deployment-run { grid-template-columns: 1fr; }
  .deployment-run>div { padding-bottom: 9px; border-bottom: 1px dashed var(--line); }
  .deployment-run>div:last-child { border-bottom: 0; }
  .run-links { justify-content: flex-start; }
  .run-links details[open] pre { position: fixed; inset: 70px 10px 10px; width: auto; max-height: none; }
}


@media (max-width: 1050px) {
  .wizard-layout { grid-template-columns:1fr; }
  .admin-help { position:static; min-height:0; border-top:1px solid rgba(255,255,255,.1); border-left:0; border-radius:0 0 24px 24px; }
  .wizard-fields { padding-bottom:0; }
  .wizard-tabs { grid-template-columns:repeat(3,1fr); }
  .login-frame { grid-template-columns:1fr; width:min(620px,100%); }
  .login-story { min-height:300px; padding:38px; }
}
@media (max-width: 720px) {
  .wizard-hero { grid-template-columns:1fr; min-height:0; padding:30px 23px; }
  .wizard-progress-ring { width:72px; height:72px; }
  .wizard-tabs { display:flex; overflow-x:auto; padding:0 12px; scroll-snap-type:x mandatory; }
  .wizard-tabs button { min-width:165px; scroll-snap-align:start; }
  .wizard-feedback { padding-inline:22px; }
  .wizard-fields { padding:27px 20px 0; }
  .admin-form-section { min-height:0; }
  .wizard-actions { grid-template-columns:1fr 1fr; margin:28px -20px 0; padding:15px 20px; }
  .wizard-actions .btn { min-width:0; width:100%; }
  .wizard-action-status { grid-column:1/-1; grid-row:1; }
  .rich-editor-toolbar { align-items:stretch; }
  .rich-editor-canvas { min-height:220px; }
  .connection-test-head,.post-form-actions,.danger-zone { display:block; }
  .connection-test-head button,.post-form-buttons { margin-top:15px; }
  .connection-check-grid,.deployment-review,.check-list-rich { grid-template-columns:1fr; }
  .login-shell { padding:16px; }
  .login-frame { border-radius:20px; }
  .login-story { min-height:235px; padding:28px 24px; }
  .login-story h1 { font-size:43px; }
  .login-card { padding:34px 23px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto!important; animation: none!important; transition: none!important; }
  .reveal { opacity: 1; transform: none; }
}

/* KC_V436_FOOTER_BEGIN
   Klus Consultancy — self-contained professional footer
   Scope: .kc-footer-v42 only
*/
.kc-footer-v42{
  --kc-footer-bg:#0b1422;
  --kc-footer-bg-soft:#111f32;
  --kc-footer-text:#f7f8fa;
  --kc-footer-muted:rgba(247,248,250,.62);
  --kc-footer-dim:rgba(247,248,250,.44);
  --kc-footer-line:rgba(255,255,255,.11);
  --kc-footer-accent:#ed7b3d;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  max-width:none!important;
  margin:0;
  padding:clamp(64px,7vw,96px) 0 26px;
  background:
    radial-gradient(circle at 9% 2%,rgba(237,123,61,.13),transparent 28rem),
    radial-gradient(circle at 88% 18%,rgba(77,123,165,.11),transparent 32rem),
    linear-gradient(145deg,var(--kc-footer-bg) 0%,#0d1828 58%,#09111d 100%);
  color:var(--kc-footer-text);
  box-sizing:border-box;
}
.kc-footer-v42::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--kc-footer-accent),#f3a16f 34%,rgba(255,255,255,.12) 70%,transparent);
}
.kc-footer-v42::after{
  content:"";
  position:absolute;
  z-index:0;
  width:360px;
  height:360px;
  right:-170px;
  bottom:-210px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:50%;
  box-shadow:0 0 0 46px rgba(255,255,255,.018),0 0 0 92px rgba(255,255,255,.012);
  pointer-events:none;
}
.kc-footer-v42,
.kc-footer-v42 *{box-sizing:border-box}
.kc-footer-v42>.wrap{
  position:relative;
  z-index:1;
  width:min(calc(100% - 48px),1240px);
  max-width:1240px;
  margin-inline:auto;
}
.kc-footer-v42 .footer-grid{
  display:grid;
  grid-template-columns:minmax(300px,1.48fr) repeat(3,minmax(140px,.68fr));
  align-items:start;
  gap:clamp(34px,4.2vw,64px);
  width:100%;
  margin:0;
}
.kc-footer-v42 .footer-brand{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  align-items:start;
  gap:18px;
  min-width:0;
  padding:0;
}
.kc-footer-v42 .footer-brand img{
  display:block;
  width:68px;
  height:68px;
  max-width:none;
  margin:0;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  box-shadow:0 16px 38px rgba(0,0,0,.24);
}
.kc-footer-v42 .footer-brand>div{min-width:0}
.kc-footer-v42 .footer-brand strong{
  display:block;
  margin:1px 0 8px;
  color:#fff;
  font-size:clamp(18px,1.6vw,22px);
  font-weight:820;
  line-height:1.15;
  letter-spacing:-.025em;
}
.kc-footer-v42 .footer-brand p{
  max-width:440px;
  margin:0;
  color:var(--kc-footer-muted);
  font-size:13px;
  line-height:1.72;
}
.kc-footer-v42 .footer-brand a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:42px;
  margin-top:19px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.075);
  color:#fff;
  font-size:11px;
  font-weight:820;
  line-height:1.2;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.kc-footer-v42 .footer-brand a:hover{
  transform:translateY(-2px);
  border-color:rgba(237,123,61,.65);
  background:var(--kc-footer-accent);
  color:#fff;
}
.kc-footer-v42 .footer-grid>div:not(.footer-brand){
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  gap:0;
  color:inherit;
}
.kc-footer-v42 .footer-grid b{
  display:block;
  margin:1px 0 17px;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.145em;
  text-transform:uppercase;
}
.kc-footer-v42 .footer-grid>div:not(.footer-brand)>a{
  position:relative;
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  margin:0 0 11px;
  padding:2px 0;
  color:var(--kc-footer-muted);
  font-size:12px;
  font-weight:650;
  line-height:1.45;
  text-decoration:none;
  transition:color .2s ease,transform .2s ease;
}
.kc-footer-v42 .footer-grid>div:not(.footer-brand)>a::before{
  content:"";
  width:0;
  height:1px;
  margin-right:0;
  background:var(--kc-footer-accent);
  transition:width .2s ease,margin-right .2s ease;
}
.kc-footer-v42 .footer-grid>div:not(.footer-brand)>a:hover{
  color:#fff;
  transform:translateX(2px);
}
.kc-footer-v42 .footer-grid>div:not(.footer-brand)>a:hover::before{
  width:10px;
  margin-right:7px;
}
.kc-footer-v42 .kc-footer-local-v42 a{font-size:12px!important}
.kc-footer-v42 a:focus-visible{
  outline:3px solid rgba(237,123,61,.55);
  outline-offset:4px;
  border-radius:5px;
}
.kc-footer-v42 .footer-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:20px;
  width:100%;
  margin-top:clamp(40px,5vw,64px);
  padding-top:20px;
  border-top:1px solid var(--kc-footer-line);
  color:var(--kc-footer-dim);
  font-size:9px;
  line-height:1.5;
}
.kc-footer-v42 .footer-bottom>span{
  min-width:0;
  margin:0;
  color:var(--kc-footer-dim);
  font-size:9px;
}
.kc-footer-v42 .footer-bottom>span:last-child{text-align:right}
.kc-footer-v42 .footer-bottom nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-wrap:wrap;
  min-width:0;
}
.kc-footer-v42 .footer-bottom nav a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin:0;
  padding:0 9px;
  border-radius:999px;
  color:rgba(255,255,255,.55);
  font-size:9px;
  font-weight:700;
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.kc-footer-v42 .footer-bottom nav a:hover{
  background:rgba(255,255,255,.07);
  color:#fff;
}

/* Keep the mobile conversion bar visually separate from the footer. */
.kc-footer-v42 + .mobile-contact-bar.kc-mobile-conversion-v43{
  isolation:isolate;
}

@media(max-width:980px){
  .kc-footer-v42 .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:38px 44px;
  }
  .kc-footer-v42 .footer-brand{
    grid-column:1/-1;
    max-width:720px;
    padding-bottom:4px;
  }
  .kc-footer-v42 .footer-bottom{
    grid-template-columns:1fr auto;
  }
  .kc-footer-v42 .footer-bottom nav{
    grid-column:1/-1;
    grid-row:1;
    justify-content:flex-start;
    order:-1;
  }
  .kc-footer-v42 .footer-bottom>span:last-child{text-align:right}
}

@media(max-width:620px){
  .kc-footer-v42{
    padding:58px 0 calc(112px + env(safe-area-inset-bottom));
  }
  .kc-footer-v42>.wrap{
    width:min(calc(100% - 30px),1240px);
  }
  .kc-footer-v42 .footer-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .kc-footer-v42 .footer-brand{
    grid-column:auto;
    grid-template-columns:58px minmax(0,1fr);
    gap:15px;
    padding:0 0 32px;
  }
  .kc-footer-v42 .footer-brand img{
    width:58px;
    height:58px;
    border-radius:15px;
  }
  .kc-footer-v42 .footer-brand p{
    font-size:12px;
    line-height:1.65;
  }
  .kc-footer-v42 .footer-brand a{
    width:100%;
    min-height:46px;
    margin-top:16px;
    padding-inline:14px;
    white-space:normal;
    text-align:center;
  }
  .kc-footer-v42 .footer-grid>div:not(.footer-brand){
    padding:22px 0 19px;
    border-top:1px solid var(--kc-footer-line);
  }
  .kc-footer-v42 .footer-grid b{
    margin-bottom:12px;
    font-size:9px;
  }
  .kc-footer-v42 .footer-grid>div:not(.footer-brand)>a{
    width:100%;
    min-height:34px;
    margin:0;
    font-size:12px;
  }
  .kc-footer-v42 .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-top:12px;
    padding-top:20px;
  }
  .kc-footer-v42 .footer-bottom nav{
    order:0;
    justify-content:flex-start;
    gap:3px;
    margin-left:-8px;
  }
  .kc-footer-v42 .footer-bottom>span,
  .kc-footer-v42 .footer-bottom>span:last-child{
    text-align:left;
  }
}

@media(max-width:390px){
  .kc-footer-v42 .footer-brand{
    grid-template-columns:50px minmax(0,1fr);
  }
  .kc-footer-v42 .footer-brand img{
    width:50px;
    height:50px;
  }
}

@media(prefers-reduced-motion:reduce){
  .kc-footer-v42 a{transition:none!important}
  .kc-footer-v42 .footer-brand a:hover,
  .kc-footer-v42 .footer-grid>div:not(.footer-brand)>a:hover{transform:none}
}
/* KC_V436_FOOTER_END */

