:root {
  --blue: #007BFF;
  --blue-dark: #005FCC;
  --blue-light: #E6F1FF;
  --navy: #0A192F;
  --navy-2: #10243F;
  --ink: #0a1628;
  --muted: #667085;
  --line: #E2E6EE;
  --soft: #F6F8FB;
  --white: #FFFFFF;
  --green: #159947;
  --gold: #F5C242;
  --architecture-grey: #A6AAB5;
  --safety-amber: #F5C242;
  --shadow-sm: 0 8px 24px rgba(10, 25, 47, .07);
  --shadow-lg: 0 24px 70px rgba(10, 25, 47, .15);
  --radius: 18px;
  --container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; scroll-padding-top: 88px; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--ink); background: #fff; font-family: "Segoe UI", Arial, ui-sans-serif, system-ui, sans-serif; font-size: clamp(.95rem, .9rem + .15vw, 1.04rem); line-height: 1.65; -webkit-font-smoothing: antialiased; }
body:not(.admin-body):not(.login-page) { padding-top: 72px; }
body.menu-open, body.chat-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
svg { display: block; }
.container { width: min(var(--container), calc(100% - 32px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 999; left: 16px; top: -80px; padding: 10px 14px; border-radius: 8px; color: #fff; background: var(--blue); transition: top .2s; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid rgba(7, 94, 209, .28); outline-offset: 3px; }

/* Header */
.site-header { position: fixed; z-index: 60; top: 0; right: 0; left: 0; width: 100%; border-bottom: 1px solid rgba(223, 231, 241, .9); background: rgba(255,255,255,.94); backdrop-filter: blur(18px); transition: box-shadow .25s, background .25s; animation: nav-drop-in .55s cubic-bezier(.2,.7,.2,1) both; }
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(7,27,51,.08); background: rgba(255,255,255,.98); }
.navbar { height: 72px; display: flex; align-items: center; gap: 24px; transition: height .25s cubic-bezier(.2,.7,.2,1); }
.site-header.is-scrolled .navbar { height: 64px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(7,94,209,.18); border-radius: 50%; color: #fff; background: #fff; font-size: 16px; font-weight: 900; letter-spacing: -.04em; box-shadow: 0 8px 22px rgba(7,27,51,.1); }
.brand-mark img { width: 100%; height: 100%; object-fit: cover; }
.brand-text { display: grid; line-height: 1; }
.brand-text strong { color: var(--blue); font-size: 17px; letter-spacing: -.045em; }
.brand-text small { margin-top: 4px; color: var(--navy); font-size: 8px; font-weight: 800; letter-spacing: .2em; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: clamp(9px, 1vw, 16px); margin-left: auto; }
.nav-links a { position: relative; color: #26364a; font-size: 11px; font-weight: 700; white-space: nowrap; animation: nav-link-in .45s cubic-bezier(.2,.7,.2,1) both; }
.nav-links a:nth-child(1) { animation-delay: .08s; }.nav-links a:nth-child(2) { animation-delay: .12s; }.nav-links a:nth-child(3) { animation-delay: .16s; }.nav-links a:nth-child(4) { animation-delay: .2s; }.nav-links a:nth-child(5) { animation-delay: .24s; }.nav-links a:nth-child(6) { animation-delay: .28s; }.nav-links a:nth-child(7) { animation-delay: .32s; }.nav-links a:nth-child(8) { animation-delay: .36s; }.nav-links a:nth-child(9) { animation-delay: .4s; }.nav-links a:nth-child(10) { animation-delay: .44s; }
.nav-links a::after { position: absolute; right: 0; bottom: -10px; left: 0; height: 2px; content: ''; background: var(--blue); transform: scaleX(0); transition: transform .2s; }
.nav-links a:hover, .nav-links a.is-active { color: var(--blue); }
.nav-links a:hover::after, .nav-links a.is-active::after { transform: scaleX(1); }
.nav-cta { flex: 0 0 auto; margin-left: 4px; animation: nav-cta-in .5s .38s cubic-bezier(.2,.7,.2,1) both; }
.mobile-menu-btn { display: none; width: 44px; height: 44px; margin-left: auto; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #fff; cursor: pointer; }
.mobile-menu-btn span { display: block; height: 2px; margin: 5px 0; border-radius: 2px; background: var(--navy); transition: .2s; }
.mobile-menu-btn[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.mobile-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mobile-menu-btn[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.mobile-navigation { position: absolute; z-index: 80; top: 100%; right: 0; left: 0; max-height: calc(100vh - 72px); overflow: auto; border-top: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-lg); }
.mobile-navigation-inner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; padding-block: 16px 22px; }
.mobile-navigation a:not(.btn) { padding: 12px 10px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; }
.mobile-navigation .btn { grid-column: 1/-1; margin-top: 6px; }
@keyframes nav-drop-in { from { opacity: 0; transform: translateY(-18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes nav-link-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes nav-cta-in { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }

/* Primitives */
.btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 16px; border: 1px solid transparent; border-radius: 9px; font-size: 13px; font-weight: 800; line-height: 1; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--blue); box-shadow: 0 10px 24px rgba(7,94,209,.22); }
.btn-primary:hover { background: var(--blue-dark); box-shadow: 0 14px 28px rgba(7,94,209,.28); }
.btn-white { color: var(--blue); background: #fff; border-color: rgba(255,255,255,.65); }
.btn-whatsapp { color: #fff; background: var(--green); }
.btn-outline { color: var(--blue); border-color: #a9bfda; background: transparent; }
.btn-ghost-light { color: #fff; border-color: rgba(255,255,255,.35); background: transparent; }
.btn-block { width: 100%; }
.section { padding: clamp(68px, 8vw, 108px) 0; }
.section-head { max-width: 720px; margin: 0 auto clamp(32px, 4vw, 48px); text-align: center; }
.section-head-row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 24px; text-align: left; }
.section-head-row .section-title { max-width: 620px; }
.eyebrow { display: block; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow-light { color: #8fc3ff; }
.section-title { margin: 10px 0 12px; font-size: clamp(1.85rem, 1.35rem + 2vw, 3.2rem); line-height: 1.08; letter-spacing: -.045em; }
.section-sub { margin: 0; color: var(--muted); }
.grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { padding: clamp(22px, 3vw, 30px); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s, border-color .25s; }
.card:hover { border-color: #c7d8ec; transform: translateY(-4px); box-shadow: 0 18px 40px rgba(7,27,51,.11); }
.card h2, .card h3 { margin: 0 0 10px; line-height: 1.25; }
.card p { margin: 0 0 14px; color: var(--muted); }
.text-link, .card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--blue); font-size: 13px; font-weight: 800; }
.text-link span, .card-link span { transition: transform .2s; }
.text-link:hover span, .card-link:hover span { transform: translateX(4px); }
.line-icon { width: 38px; height: 38px; display: inline-grid; place-items: center; flex: 0 0 auto; color: currentColor; }
.line-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.line-icon-blue { color: var(--blue); border-radius: 10px; background: #edf5ff; }
.badge { display: inline-flex; padding: 5px 9px; border-radius: 99px; color: var(--blue); background: #edf5ff; font-size: 11px; font-weight: 800; }
.meta { color: var(--muted); font-size: 13px; }
.alert { margin-bottom: 18px; padding: 13px 15px; border-radius: 10px; font-size: 14px; font-weight: 700; }
.alert-success { color: #08783a; border: 1px solid #a9e7c3; background: #effbf4; }
.alert-error { color: #a62424; border: 1px solid #f2b7b7; background: #fff2f2; }
.spam-trap { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Home */
.hero { position: relative; min-height: 610px; display: grid; overflow: hidden; color: #fff; background: var(--navy); }
.hero-media, .hero-shade { position: absolute; inset: 0; }
.hero-media { overflow: hidden; background: url('/images/generated/home/home-hero-engineering.jpg') center / cover no-repeat; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-shade { background: linear-gradient(90deg, rgba(3,17,32,.97) 0%, rgba(3,17,32,.88) 36%, rgba(3,17,32,.34) 70%, rgba(3,17,32,.08) 100%); }
.hero-grid { position: relative; z-index: 1; min-height: 610px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .55fr); align-items: center; gap: 60px; padding-block: 82px 98px; }
.hero-copy { max-width: 710px; }
.hero h1 { margin: 0; max-width: 760px; font-size: clamp(2.4rem, 2rem + 2.8vw, 4.25rem); line-height: 1.05; letter-spacing: -.055em; text-wrap: balance; }
.hero-copy > p { max-width: 600px; margin: 22px 0 0; color: rgba(255,255,255,.82); font-size: clamp(1rem, .92rem + .35vw, 1.2rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-proof { align-self: end; margin-bottom: 6px; padding: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(4,27,51,.7); backdrop-filter: blur(12px); }
.hero-proof > strong { font-size: 17px; }
.hero-proof p { margin: 8px 0 15px; color: rgba(255,255,255,.72); font-size: 13px; }
.hero-proof-row { display: flex; flex-wrap: wrap; gap: 7px; }
.hero-proof-row span { padding: 6px 8px; border: 1px solid rgba(255,255,255,.15); border-radius: 5px; color: rgba(255,255,255,.84); font-size: 10px; font-weight: 800; }
.trust-strip { position: relative; z-index: 3; margin-top: -50px; }
.trust-inner { display: grid; grid-template-columns: repeat(6, 1fr); padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; color: #fff; background: var(--navy); box-shadow: var(--shadow-lg); }
.trust-item { min-height: 74px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-right: 1px solid rgba(255,255,255,.1); }
.trust-item:last-child { border-right: 0; }
.trust-item .line-icon { width: 32px; height: 32px; color: #78b6ff; }
.trust-item .line-icon svg { width: 22px; height: 22px; }
.trust-item strong, .trust-item small { display: block; }
.trust-item strong { font-size: 11px; line-height: 1.3; }
.trust-item small { margin-top: 3px; color: rgba(255,255,255,.6); font-size: 9px; line-height: 1.3; }
.services-section { padding-top: clamp(96px, 10vw, 140px); }
.service-grid { grid-template-columns: repeat(3, 1fr); }
.service-card { min-height: 252px; display: flex; flex-direction: column; padding: 25px; border: 1px solid var(--line); border-radius: 15px; background: #fff; transition: .25s; }
.service-card:hover { border-color: #aac8ed; transform: translateY(-5px); box-shadow: var(--shadow-sm); }
.service-card h3 { margin: 20px 0 8px; font-size: 17px; line-height: 1.25; }
.service-card p { margin: 0; color: var(--muted); font-size: 13px; }
.service-card .text-link { margin-top: auto; padding-top: 18px; }
.sector-section { padding-top: 0; }
.sector-panel { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 50px; padding: clamp(32px, 5vw, 60px); border-radius: 20px; color: #fff; background: linear-gradient(125deg, #061a31, #093b67); overflow: hidden; }
.sector-copy p { max-width: 470px; margin: 0 0 24px; color: rgba(255,255,255,.72); }
.sector-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.sector-chip { min-height: 108px; display: flex; flex-direction: column; justify-content: space-between; padding: 15px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; background: rgba(255,255,255,.06); transition: .2s; }
.sector-chip:hover { background: rgba(255,255,255,.13); transform: translateY(-3px); }
.sector-chip strong { font-size: 12px; }
.projects-section { background: var(--soft); }
.project-grid { grid-template-columns: repeat(4, 1fr); }
.project-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; transition: .25s; }
.project-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-sm); }
.image-frame { aspect-ratio: 16/10; overflow: hidden; background: #d9e4ee; }
.image-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.project-card:hover .image-frame img { transform: scale(1.035); }
.project-body { padding: 18px; }
.project-body h3 { margin: 0 0 6px; font-size: 15px; line-height: 1.3; }
.project-body p, .project-body span { margin: 0; color: var(--muted); font-size: 12px; }
.why-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(40px, 7vw, 96px); align-items: start; }
.why-intro { position: sticky; top: 110px; }
.why-intro > p { color: var(--muted); }
.why-grid { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 30px; }
.feature-row { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 23px 0; border-top: 1px solid var(--line); }
.feature-number { color: var(--blue); font-size: 12px; font-weight: 800; }
.feature-row h3 { margin: 0 0 6px; font-size: 15px; }
.feature-row p { margin: 0; color: var(--muted); font-size: 13px; }
.reviews-section { color: #fff; background: var(--navy); }
.section-head-light .section-title { color: #fff; }
.review-grid { grid-template-columns: repeat(3, 1fr); }
.testimonial { margin: 0; padding: 28px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.05); }
.stars { color: var(--gold); letter-spacing: .15em; }
.testimonial p { min-height: 104px; margin: 18px 0 22px; color: rgba(255,255,255,.78); }
.testimonial footer strong, .testimonial footer span { display: block; }
.testimonial footer strong { font-size: 13px; }
.testimonial footer span { color: rgba(255,255,255,.5); font-size: 11px; }
.review-action-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; padding: clamp(24px,4vw,38px); border: 1px solid #d5e6f8; border-radius: 24px; background: linear-gradient(135deg, #fff 0%, #f6fbff 100%); box-shadow: 0 18px 48px rgba(7,27,51,.08); }
.review-action-panel h2 { margin: 8px 0 10px; color: var(--ink); font-size: clamp(1.7rem, 1.35rem + 1.2vw, 2.6rem); line-height: 1.08; letter-spacing: -.045em; }
.review-action-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.review-response { margin-top: 14px; padding: 12px 14px; border-left: 3px solid var(--blue); border-radius: 12px; background: #f5faff; color: #3d5068; font-size: 14px; }
.review-submit-form { max-width: 980px; margin-inline: auto; }
.founder-section { background: #fff; }
.founder-block { display: grid; grid-template-columns: 1fr .88fr; align-items: stretch; gap: clamp(30px, 6vw, 80px); }
.founder-copy { align-self: center; max-width: 590px; }
.founder-copy > p { color: var(--muted); font-size: 17px; }
.founder-signature { margin: 28px 0; padding-left: 17px; border-left: 3px solid var(--blue); }
.founder-signature strong, .founder-signature span { display: block; }
.founder-signature strong { font-size: 13px; }
.founder-signature span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.founder-visual { min-height: 520px; overflow: hidden; border-radius: 16px; background: var(--soft); }
.founder-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.contact-band-section { padding-top: 0; }
.contact-band { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(30px, 5vw, 52px); border-radius: 18px; color: #fff; background: linear-gradient(120deg, var(--blue-dark), var(--blue)); }
.contact-band h2 { margin: 7px 0; font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.6rem); line-height: 1.15; }
.contact-band p { margin: 0; color: rgba(255,255,255,.75); }
.contact-band-actions { display: flex; flex-wrap: wrap; gap: 9px; flex: 0 0 auto; }

/* Inner pages */
.page-hero { position: relative; overflow: hidden; padding: clamp(62px, 8vw, 104px) 0; border-bottom: 1px solid rgba(255,255,255,.08); color: #fff; background: var(--navy); }
.page-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.page-hero::before { position: absolute; z-index: 1; inset: 0; content: ''; background-image: linear-gradient(90deg, rgba(3,17,32,.94) 0%, rgba(3,17,32,.74) 46%, rgba(3,17,32,.28) 78%, rgba(3,17,32,.1) 100%); opacity: 1; }
.page-hero::after { display: none; content: none; }
.page-hero-inner { position: relative; z-index: 2; }
.page-hero h1 { max-width: 880px; margin: 10px 0 14px; font-size: clamp(2rem, 1.45rem + 2.5vw, 3.8rem); line-height: 1.07; letter-spacing: -.05em; text-wrap: balance; }
.page-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); }
.page-hero .eyebrow { color: #78b6ff; }
.breadcrumbs { display: flex; gap: 8px; margin-top: 25px; color: rgba(255,255,255,.68); font-size: 11px; font-weight: 700; }
.breadcrumbs a { color: #8ec5ff; }
.prose { color: #334155; line-height: 1.8; }
.prose h2, .prose h3 { color: var(--ink); line-height: 1.2; }
.prose img { display: block; width: 100%; max-width: 100%; height: auto; margin: 24px 0; border-radius: 18px; box-shadow: 0 18px 46px rgba(7, 27, 51, .10); }
.prose p > img:only-child { margin: 28px 0; }
.article-video-card { margin: 30px 0; overflow: hidden; border: 1px solid #d7e6f6; border-radius: 22px; background: linear-gradient(180deg, #f8fbff, #fff); box-shadow: 0 18px 42px rgba(7, 27, 51, .08); }
.article-video-copy { padding: 24px 26px 18px; }
.article-video-copy h2 { margin: 8px 0 8px; font-size: clamp(1.25rem, 1.05rem + .7vw, 1.85rem); }
.article-video-copy p { margin: 0; color: var(--muted); }
.article-video-frame { aspect-ratio: 16 / 9; background: #020b14; }
.article-video-frame.is-short { max-width: 420px; aspect-ratio: 9 / 16; margin-inline: auto; }
.article-video-frame iframe,
.article-video-frame video { width: 100%; height: 100%; display: block; border: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field.full { grid-column: 1/-1; }
label { color: #344256; font-size: 12px; font-weight: 800; }
input, textarea, select { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #cfdae7; border-radius: 9px; color: var(--ink); background: #fff; outline: 0; transition: .2s; }
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(7,94,209,.1); }
input[type="file"] { padding: 9px; }
.empty-state { grid-column: 1/-1; padding: 46px; border: 1px dashed #b8c8db; border-radius: var(--radius); text-align: center; background: var(--soft); }
.content-summary-list { display: grid; gap: 7px; margin: 14px 0 18px; padding: 0; list-style: none; color: #43536b; font-size: 13px; }
.content-summary-list li { position: relative; padding-left: 18px; line-height: 1.55; }
.content-summary-list li::before { position: absolute; left: 0; top: .68em; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); content: ''; box-shadow: 0 0 0 3px rgba(7,94,209,.11); }
.newsletter-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr); align-items: center; gap: clamp(20px,4vw,42px); padding: clamp(24px,4vw,38px); border: 1px solid #cfe2fb; border-radius: 24px; background: linear-gradient(135deg,#ffffff 0%,#f4f9ff 56%,#eaf4ff 100%); box-shadow: 0 18px 48px rgba(7,27,51,.08); }
.newsletter-card h2 { margin: 8px 0 10px; color: var(--ink); font-size: clamp(1.8rem,1.45rem + 1.2vw,2.7rem); line-height: 1.08; letter-spacing: -.05em; }
.newsletter-card .section-sub { margin: 0; }
.newsletter-form { display: grid; gap: 12px; }
.newsletter-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; gap: 10px; }
.newsletter-fields input { min-height: 48px; background: #fff; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 9px; color: #52657e; font-size: 12px; line-height: 1.5; }
.newsletter-consent.full { grid-column: 1/-1; }
.newsletter-consent input { width: auto; min-height: 0; margin-top: 2px; }
.technical-partner-section { padding-top: 0; background: linear-gradient(180deg, #fff 0%, #f7fbff 100%); }
.technical-partner-card { max-width: 980px; margin-inline: auto; overflow: hidden; border: 1px solid #dbe8f6; border-radius: 22px; background: #fff; box-shadow: 0 18px 48px rgba(7,27,51,.08); transition: transform .25s, box-shadow .25s; }
.technical-partner-card:hover { transform: translateY(-4px); box-shadow: 0 24px 58px rgba(7,27,51,.11); }
.technical-partner-main { display: grid; grid-template-columns: minmax(230px,.36fr) minmax(0,1fr); align-items: stretch; }
.technical-partner-photo { position: relative; min-height: 360px; overflow: hidden; background: #d9e4ee; }
.technical-partner-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.technical-partner-card:hover .technical-partner-photo img { transform: scale(1.035); }
.technical-partner-photo::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, rgba(4,18,34,0) 35%, rgba(4,18,34,.72) 100%); }
.technical-partner-photo span { position: absolute; z-index: 1; left: 16px; bottom: 16px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: #fff; background: rgba(7,27,51,.66); backdrop-filter: blur(10px); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.technical-partner-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(22px,4vw,38px); }
.technical-partner-card h3 { margin: 7px 0 7px; font-size: clamp(1.55rem, 1.2rem + 1.6vw, 2.45rem); line-height: 1.08; letter-spacing: -.045em; }
.technical-partner-card p { max-width: 760px; margin: 0; color: var(--muted); }
.technical-partner-role { margin-bottom: 12px !important; color: #24425f !important; font-size: 13px; font-weight: 800; }
.technical-partner-brief { font-size: 17px; line-height: 1.75; }
.technical-partner-toggle { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; padding: 10px 14px; border: 1px solid #bdd5f2; border-radius: 999px; color: var(--blue); background: #f6fbff; font-size: 12px; font-weight: 900; cursor: pointer; transition: .2s; }
.technical-partner-toggle:hover { border-color: var(--blue); background: #edf6ff; transform: translateY(-1px); }
.technical-partner-details { display: grid; gap: 18px; padding: 24px clamp(22px,4vw,38px) clamp(22px,4vw,34px); border-top: 1px solid #e2edf8; background: #f9fcff; }
.technical-partner-details[hidden] { display: none; }
.technical-partner-details h3 { margin: 0 0 8px; font-size: 18px; letter-spacing: -.03em; }
.technical-partner-connect { display: grid; gap: 10px; }
.technical-partner-links { display: flex; flex-wrap: wrap; gap: 9px; }
.technical-partner-links a { min-width: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px; border: 1px solid #d5e4f4; border-radius: 999px; color: #24425f; background: #fff; font-size: 11px; font-weight: 850; transition: .2s; }
.technical-partner-links a svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.technical-partner-links a:not(.is-featured) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.technical-partner-links a.is-featured { padding-inline: 14px; color: #fff; border-color: var(--blue); background: var(--blue); }
.technical-partner-links a:hover { color: var(--blue); border-color: #aecaed; background: #fff; transform: translateY(-1px); }
.technical-partner-links a.is-featured:hover { color: var(--blue); }
.technical-partner-less { justify-self: start; margin-top: 0; }
.credibility-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.credibility-grid .card h2 { margin: 8px 0; color: var(--blue); font-size: clamp(2rem, 1.5rem + 1.8vw, 3rem); line-height: 1; }
.field-help { color: var(--muted); font-size: 12px; }
.alert ul { margin: 8px 0 0; padding-left: 18px; }
.enquiry-section { background: linear-gradient(180deg, #fff 0%, #f6f8fb 100%); }
.enquiry-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(24px, 5vw, 54px); align-items: start; }
.enquiry-card { padding: clamp(24px, 4vw, 38px); border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-lg); }
.enquiry-form-head { margin-bottom: 24px; }
.enquiry-form-head .section-title { font-size: clamp(1.55rem, 1.25rem + 1.3vw, 2.45rem); }
.enquiry-form { gap: 17px; }
.enquiry-form input, .enquiry-form textarea, .enquiry-form select { border-radius: 11px; background: #fbfdff; }
.enquiry-side { display: grid; gap: 18px; position: sticky; top: 96px; }
.enquiry-side .card h2 { margin-top: 10px; }
.enquiry-steps { display: grid; gap: 14px; margin: 20px 0 0; padding: 0; list-style: none; }
.enquiry-steps li { display: grid; gap: 4px; padding-left: 17px; border-left: 3px solid var(--blue); }
.enquiry-steps strong { font-size: 13px; }
.enquiry-steps span { color: var(--muted); font-size: 13px; }

/* Phase 6 operating foundations */
.phase6-section { background: linear-gradient(180deg, #fff 0%, #f6f8fb 100%); }
.phase6-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.phase6-card { min-height: 250px; display: flex; flex-direction: column; padding: clamp(20px, 2.6vw, 28px); border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s, border-color .25s; }
.phase6-card-image { width: calc(100% + clamp(40px, 5.2vw, 56px)); margin: calc(-1 * clamp(20px, 2.6vw, 28px)) calc(-1 * clamp(20px, 2.6vw, 28px)) 18px; aspect-ratio: 16/7; }
.phase6-card:hover { border-color: #b7d0ee; transform: translateY(-4px); box-shadow: 0 18px 42px rgba(7,27,51,.1); }
.phase6-card h3 { margin: 14px 0 8px; font-size: 18px; line-height: 1.22; letter-spacing: -.02em; }
.phase6-card p { margin: 0 0 13px; color: var(--muted); font-size: 13px; }
.phase6-card .card-link { margin-top: auto; }
.phase6-code { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--blue); background: #edf5ff; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.phase6-chip-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 8px 0 18px; }
.phase6-chip-row span { padding: 6px 8px; border: 1px solid #d8e5f3; border-radius: 999px; color: #35506d; background: #f7fbff; font-size: 10px; font-weight: 800; }
.phase6-detail-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr); gap: 24px; align-items: start; }
.phase6-list { display: grid; gap: 16px; }
.phase6-list-card { display: grid; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.phase6-list-card h3 { margin: 8px 0 4px; }
.phase6-list-card p { margin: 0 0 8px; color: var(--muted); }
.phase6-list-body p:last-child { margin-bottom: 0; }
.phase6-list-actions { display: flex; justify-content: flex-end; }
.phase6-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.phase6-category-card { min-height: 154px; display: flex; flex-direction: column; justify-content: space-between; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .22s, border-color .22s, box-shadow .22s; }
.phase6-category-image { width: calc(100% + 36px); margin: -18px -18px 14px; aspect-ratio: 16/9; border-radius: 15px 15px 0 0; }
.phase6-category-card:hover { border-color: #acd0fb; transform: translateY(-3px); box-shadow: 0 14px 32px rgba(7,27,51,.09); }
.phase6-category-card strong { margin-top: 16px; font-size: 15px; line-height: 1.25; }
.phase6-category-card small { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.phase6-filter-bar { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: -16px 0 30px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.phase6-filter-bar label { min-width: min(230px, 100%); display: grid; gap: 6px; }
.phase6-filter-bar label span { color: #344256; font-size: 11px; font-weight: 800; }
.phase6-project-summary dl { display: grid; gap: 10px; margin: 20px 0 22px; }
.phase6-project-summary dl div { display: grid; grid-template-columns: 138px 1fr; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #edf1f6; }
.phase6-project-summary dt { color: var(--muted); font-size: 12px; font-weight: 800; }
.phase6-project-summary dd { margin: 0; font-size: 13px; font-weight: 700; }
.project-case-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); gap: clamp(24px, 5vw, 58px); align-items: stretch; }
.project-case-image { min-height: 420px; border-radius: 22px; box-shadow: var(--shadow-lg); aspect-ratio: 4 / 3; }
.project-case-summary { align-self: stretch; }
.project-case-grid .card p, .project-proof-grid .card p { white-space: normal; }
.project-trust-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 26px; padding: 16px; border: 1px solid #d7e6f6; border-radius: 20px; background: linear-gradient(135deg, #f7fbff, #fff); box-shadow: 0 12px 34px rgba(7,27,51,.06); }
.project-trust-strip div { padding: 16px; border: 1px solid #e2edf8; border-radius: 15px; background: #fff; }
.project-trust-strip strong { display: block; color: var(--ink); font-size: 14px; }
.project-trust-strip span { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.55; }

/* Phase 7 Video Library */
body.video-open { overflow: hidden; }
.video-section { background: #fff; }
.video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.video-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s, border-color .25s; }
.video-card:hover { border-color: #b7d0ee; transform: translateY(-4px); box-shadow: 0 18px 42px rgba(7,27,51,.1); }
.video-thumb { position: relative; width: 100%; aspect-ratio: 16 / 9; display: block; overflow: hidden; padding: 0; border: 0; color: #fff; background: linear-gradient(135deg, #061a31, #075ed1); cursor: pointer; }
.video-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.video-card:hover .video-thumb img { transform: scale(1.035); }
.video-thumb::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent, rgba(3,17,32,.62)); }
.video-play { position: absolute; z-index: 2; left: 50%; top: 50%; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--safety-amber); box-shadow: 0 18px 40px rgba(0,0,0,.22); transform: translate(-50%, -50%); font-size: 18px; }
.video-card-body { padding: 18px; }
.video-card-body h3 { margin: 12px 0 7px; font-size: 17px; line-height: 1.25; }
.video-card-body p { margin: 0 0 10px; color: var(--muted); font-size: 13px; }
.video-card-body small { display: block; color: #64748b; font-size: 11px; font-weight: 800; }
.video-filter-row { display: flex; flex-wrap: wrap; gap: 8px; }
.video-filter-row a { padding: 8px 10px; border: 1px solid #d8e5f3; border-radius: 999px; color: #35506d; background: #fff; font-size: 11px; font-weight: 800; }
.video-filter-row a.is-active, .video-filter-row a:hover { color: #fff; border-color: var(--blue); background: var(--blue); }
.video-modal[hidden] { display: none; }
.video-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 20px; }
.video-modal-backdrop { position: absolute; inset: 0; background: rgba(3,17,32,.78); backdrop-filter: blur(7px); }
.video-modal-dialog { position: relative; z-index: 1; width: min(980px, 100%); max-height: calc(100vh - 40px); overflow: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; color: #fff; background: #061a31; box-shadow: var(--shadow-lg); }
.video-modal-dialog.is-short-video { width: min(460px, 100%); }
.video-modal-close { position: absolute; z-index: 3; right: 12px; top: 12px; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; background: rgba(0,0,0,.35); font-size: 24px; cursor: pointer; }
.video-player { aspect-ratio: 16 / 9; background: #020b14; }
.video-player.is-short-video { aspect-ratio: 9 / 16; max-height: min(78vh, 760px); }
.video-player iframe, .video-player video { width: 100%; height: 100%; display: block; border: 0; }
.video-modal-copy { padding: 20px 24px 24px; }
.video-modal-copy h2 { margin: 0 0 7px; font-size: clamp(1.35rem, 1.05rem + 1vw, 2rem); letter-spacing: -.035em; }
.video-modal-copy p { margin: 0; color: rgba(255,255,255,.72); }

/* Phase 5 Safety Centre */
.safety-hero { position: relative; overflow: hidden; padding: clamp(76px, 9vw, 132px) 0; color: #fff; background: radial-gradient(circle at 82% 12%, rgba(245,194,66,.23), transparent 32%), linear-gradient(135deg, #06182c 0%, #0a192f 62%, #10243f 100%); }
.safety-hero-media, .safety-topic-hero-media, .service-gateway-hero-media, .service-detail-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .82; }
.safety-hero::before { position: absolute; z-index: 1; inset: 0; content: ''; background-image: linear-gradient(90deg, rgba(3,17,32,.94), rgba(3,17,32,.7)); opacity: .8; }
.safety-hero::after { position: absolute; inset: auto -140px -210px auto; width: 460px; height: 460px; border: 80px solid rgba(245,194,66,.08); border-radius: 50%; content: ''; }
.safety-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .58fr); gap: clamp(34px, 6vw, 78px); align-items: center; }
.safety-hero h1, .safety-topic-hero h1 { margin: 10px 0 16px; font-size: clamp(2.4rem, 1.7rem + 3.25vw, 5rem); line-height: 1.02; letter-spacing: -.06em; }
.safety-hero-copy > p { max-width: 760px; margin: 0 0 13px; color: rgba(255,255,255,.77); }
.safety-hero-lead { color: #fff !important; font-size: clamp(1.05rem, .96rem + .4vw, 1.28rem); }
.safety-hero .btn-outline { color: #fff; border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.06); }
.safety-hero-panel { padding: clamp(24px, 4vw, 36px); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; background: rgba(255,255,255,.08); box-shadow: 0 26px 70px rgba(0,0,0,.2); backdrop-filter: blur(14px); }
.safety-seal { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; color: var(--navy); background: var(--safety-amber); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.safety-hero-panel h2 { margin: 24px 0 10px; color: #fff; font-size: clamp(1.45rem, 1.15rem + 1vw, 2.2rem); line-height: 1.1; letter-spacing: -.04em; }
.safety-hero-panel p { margin: 0 0 18px; color: rgba(255,255,255,.72); }
.safety-panel-list { display: grid; gap: 8px; }
.safety-panel-list span { padding: 11px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; color: rgba(255,255,255,.86); font-size: 12px; font-weight: 800; }
.safety-pillars-section { background: #fff; }
.safety-pillar-card { min-height: 330px; display: flex; flex-direction: column; padding: clamp(24px, 3vw, 32px); border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s, border-color .25s; }
.safety-pillar-card:hover { border-color: #e8c969; transform: translateY(-5px); box-shadow: 0 20px 52px rgba(10,25,47,.12); }
.safety-mark { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 15px; color: var(--navy); background: #fff5df; font-size: 13px; font-weight: 900; }
.safety-pillar-card h3 { margin: 0 0 10px; font-size: 22px; line-height: 1.18; letter-spacing: -.035em; }
.safety-pillar-card strong { display: block; margin-bottom: 12px; color: var(--navy); line-height: 1.45; }
.safety-pillar-card p { margin: auto 0 0; color: var(--muted); }
.safety-statement-section { padding-top: 0; background: #fff; }
.safety-statement-card { padding: clamp(28px, 5vw, 58px); border: 1px solid #e9d38a; border-left: 6px solid var(--safety-amber); border-radius: 22px; background: linear-gradient(135deg, #fff, #fffaf0); box-shadow: var(--shadow-sm); }
.safety-statement-card blockquote { max-width: 1020px; margin: 14px 0 0; color: var(--navy); font-size: clamp(1.35rem, 1.1rem + 1vw, 2.15rem); line-height: 1.35; letter-spacing: -.035em; }
.safety-framework-section { background: var(--soft); }
.safety-module-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.safety-module-card { min-height: 224px; display: flex; flex-direction: column; padding: 22px; border: 1px solid #dde6f0; border-radius: 18px; background: #fff; box-shadow: 0 8px 26px rgba(7,27,51,.045); transition: transform .2s, border-color .2s, box-shadow .2s; }
.safety-module-image { width: calc(100% + 44px); margin: -22px -22px 18px; aspect-ratio: 16/8; border-radius: 17px 17px 0 0; }
.safety-module-card:hover { border-color: #e0bf52; transform: translateY(-4px); box-shadow: 0 18px 38px rgba(7,27,51,.09); }
.safety-module-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.safety-module-top span { color: #9b6d00; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.safety-module-top a { color: var(--blue); font-size: 11px; font-weight: 900; }
.safety-module-card h3 { margin: 0 0 9px; font-size: 17px; line-height: 1.22; letter-spacing: -.03em; }
.safety-module-card p { margin: auto 0 0; color: var(--muted); font-size: 13px; }
.controlled-work-section { background: #fff; }
.controlled-work-panel { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(28px, 5vw, 60px); align-items: center; padding: clamp(30px, 5vw, 62px); border-radius: 24px; color: #fff; background: linear-gradient(130deg, #06182c, #0a192f 68%, #1d3554); overflow: hidden; }
.controlled-work-copy h2 { margin: 10px 0 14px; font-size: clamp(1.75rem, 1.35rem + 1.7vw, 3rem); line-height: 1.08; letter-spacing: -.05em; }
.controlled-work-copy p { margin: 0; color: rgba(255,255,255,.72); }
.controlled-work-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.controlled-work-steps div { min-height: 96px; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.06); }
.controlled-work-steps span { color: var(--safety-amber); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.controlled-work-steps strong { font-size: 13px; line-height: 1.25; }
.division-safety-section { background: #fff; }
.division-safety-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.division-safety-card { min-height: 180px; padding: 20px; border: 1px solid var(--line); border-top: 4px solid var(--safety-amber); border-radius: 17px; background: #fff; box-shadow: var(--shadow-sm); }
.division-safety-card h3 { margin: 0 0 10px; font-size: 16px; line-height: 1.2; }
.division-safety-card p { margin: 0; color: var(--muted); font-size: 13px; }
.safety-cta-band { background: linear-gradient(120deg, var(--navy), #0d3c69); }
.safety-topic-hero { position: relative; overflow: hidden; padding: clamp(62px, 8vw, 104px) 0; border-bottom: 1px solid var(--line); color: #fff; background: radial-gradient(circle at 82% 0%, rgba(245,194,66,.2), transparent 34%), linear-gradient(135deg, #06182c, #0a192f); }
.safety-topic-hero::before { position: absolute; z-index: 1; inset: 0; content: ''; background-image: linear-gradient(90deg, rgba(3,17,32,.95), rgba(3,17,32,.72)); opacity: .8; }
.safety-topic-hero .container { position: relative; z-index: 2; }
.safety-topic-hero p { max-width: 760px; color: rgba(255,255,255,.78); }
.safety-topic-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: clamp(28px, 5vw, 58px); align-items: start; }
.safety-topic-card { padding: clamp(26px, 4vw, 42px); border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.safety-topic-card h2 { margin: 22px 0 12px; font-size: clamp(1.55rem, 1.22rem + 1.25vw, 2.45rem); line-height: 1.12; letter-spacing: -.04em; }
.safety-topic-card p { color: var(--muted); }
.safety-topic-nav { position: sticky; top: 96px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.safety-topic-nav h2 { margin: 0 0 6px; font-size: 18px; }
.safety-topic-nav p { margin: 0 0 14px; color: var(--muted); font-size: 13px; }
.safety-topic-nav a { display: block; padding: 10px 0; border-top: 1px solid #edf1f6; color: #334155; font-size: 12px; font-weight: 800; }
.safety-topic-nav a.is-active { color: #9b6d00; }

/* Phase 3 service divisions */
.service-gateway-hero { position: relative; overflow: hidden; padding: clamp(76px, 9vw, 132px) 0; color: #fff; background: radial-gradient(circle at 86% 14%, rgba(7,123,255,.28), transparent 34%), linear-gradient(135deg, #06182c 0%, #0a192f 58%, #0d3258 100%); }
.service-gateway-hero::before { position: absolute; z-index: 1; inset: 0; content: ''; background-image: linear-gradient(90deg, rgba(3,17,32,.94), rgba(3,17,32,.7)); opacity: .78; }
.service-gateway-hero::after { position: absolute; inset: auto -120px -180px auto; width: 420px; height: 420px; border: 78px solid rgba(255,255,255,.06); border-radius: 50%; content: ''; }
.service-gateway-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr); gap: clamp(34px, 6vw, 80px); align-items: center; }
.service-gateway-copy h1, .service-detail-hero h1 { margin: 10px 0 18px; font-size: clamp(2.25rem, 1.6rem + 3vw, 4.7rem); line-height: 1.02; letter-spacing: -.06em; text-wrap: balance; }
.service-gateway-copy p, .service-detail-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, .92rem + .34vw, 1.18rem); }
.service-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.resource-filter-actions { margin-top: 0; }
.service-gateway-hero .btn-outline, .service-detail-hero .btn-outline { color: #fff; border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.06); }
.service-gateway-panel, .service-detail-summary { padding: clamp(24px, 4vw, 34px); border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(255,255,255,.08); box-shadow: 0 26px 70px rgba(0,0,0,.2); backdrop-filter: blur(14px); }
.service-detail-image { width: calc(100% + 68px); margin: -34px -34px 24px; aspect-ratio: 16/9; border-radius: 21px 21px 0 0; }
.service-gateway-panel strong { display: block; color: #fff; font-size: 22px; line-height: 1.2; letter-spacing: -.03em; }
.service-gateway-panel p, .service-detail-summary p { margin: 10px 0 20px; color: rgba(255,255,255,.72); }
.service-mini-list { display: grid; gap: 8px; }
.service-mini-list a { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; color: rgba(255,255,255,.86); font-size: 12px; font-weight: 800; transition: .2s; }
.service-mini-list a:hover { border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.08); transform: translateX(3px); }
.service-mini-list span { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: #fff; background: var(--blue); font-size: 11px; }
.service-division-section { background: #fff; }
.division-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.division-card { position: relative; min-height: 360px; grid-column: span 2; display: flex; flex-direction: column; padding: clamp(22px, 3vw, 30px); overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .25s, box-shadow .25s, border-color .25s; }
.division-card-image { width: calc(100% + clamp(44px, 6vw, 60px)); margin: calc(-1 * clamp(22px, 3vw, 30px)) calc(-1 * clamp(22px, 3vw, 30px)) 24px; aspect-ratio: 16/7; }
.page-card-image { margin: -30px -30px 24px; width: calc(100% + 60px); aspect-ratio: 16/9; border-radius: 19px 19px 0 0; }
.division-card:nth-child(4), .division-card:nth-child(5) { grid-column: span 3; }
.division-card::before { position: absolute; inset: 0 0 auto; height: 4px; content: ''; background: var(--blue); }
.division-card:hover { border-color: #bad1ef; transform: translateY(-5px); box-shadow: 0 22px 52px rgba(7,27,51,.12); }
.division-card-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.division-code { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; color: #fff; background: var(--blue); font-size: 14px; font-weight: 900; letter-spacing: -.04em; }
.division-label { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.division-card h3 { margin: 0 0 10px; font-size: clamp(1.22rem, 1.05rem + .42vw, 1.55rem); line-height: 1.17; letter-spacing: -.035em; }
.division-card p { margin: 0 0 18px; color: var(--muted); font-size: 14px; }
.division-included { display: flex; flex-wrap: wrap; gap: 7px; margin: auto 0 18px; padding-top: 14px; }
.division-included span { padding: 6px 9px; border-radius: 999px; color: #35506d; background: #edf4fc; font-size: 10px; font-weight: 800; }
.tone-solar::before, .tone-solar .division-code, .tone-solar .service-mini-list span { background: var(--green); }
.tone-solar .division-included span, .service-detail-hero.tone-solar .division-code { color: #0f6c33; background: #e8f8ed; }
.tone-safety::before, .tone-safety .division-code { color: #0a192f; background: var(--safety-amber); }
.tone-safety .division-included span, .service-detail-hero.tone-safety .division-code { color: #6c4d00; background: #fff5df; }
.tone-vendor::before, .tone-vendor .division-code { background: #315a87; }
.tone-home::before, .tone-home .division-code { background: #22b8cf; }
.service-process-section { background: var(--soft); }
.process-ladder { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.process-step { min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; padding: 18px; border: 1px solid #dce6f2; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(7,27,51,.045); }
.process-step span, .detail-process span { color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.process-step strong { font-size: 14px; line-height: 1.28; }
.service-detail-hero { position: relative; overflow: hidden; padding: clamp(68px, 9vw, 120px) 0; color: #fff; background: radial-gradient(circle at 78% 0%, rgba(7,123,255,.24), transparent 34%), linear-gradient(135deg, #06182c, #0a192f); }
.service-detail-hero.tone-solar { background: radial-gradient(circle at 78% 0%, rgba(21,153,71,.26), transparent 34%), linear-gradient(135deg, #06182c, #0a192f); }
.service-detail-hero.tone-safety { background: radial-gradient(circle at 78% 0%, rgba(245,194,66,.22), transparent 34%), linear-gradient(135deg, #06182c, #0a192f); }
.service-detail-hero::before { position: absolute; z-index: 1; inset: 0; content: ''; background-image: linear-gradient(90deg, rgba(3,17,32,.94), rgba(3,17,32,.68)); opacity: .9; }
.service-detail-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .55fr); gap: clamp(30px, 6vw, 76px); align-items: center; }
.article-detail-layout { grid-template-columns: minmax(0,1fr) minmax(260px,330px); align-items: start; }
.article-detail-layout > * { min-width: 0; }
.prose { overflow-wrap: anywhere; }
.back-link { display: inline-flex; margin-bottom: 18px; color: #9bc9ff; font-size: 12px; font-weight: 800; }
.service-detail-summary .division-code { margin-bottom: 20px; }
.service-detail-summary h2 { margin: 0 0 8px; color: #fff; line-height: 1.15; }
.service-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: clamp(26px, 5vw, 60px); align-items: start; }
.service-main { display: grid; gap: 24px; min-width: 0; }
.service-block { padding: clamp(24px, 4vw, 36px); border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.service-block h2 { margin: 8px 0 14px; font-size: clamp(1.45rem, 1.18rem + 1vw, 2.2rem); line-height: 1.12; letter-spacing: -.04em; }
.service-block p { margin: 0; color: var(--muted); }
.benefit-grid, .included-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.benefit-card, .included-grid div { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid #dfe7f1; border-radius: 13px; background: #f9fbfe; font-size: 13px; font-weight: 800; }
.benefit-card span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--blue); font-size: 12px; }
.included-grid div span { width: 8px; height: 8px; flex: 0 0 auto; margin-top: 7px; border-radius: 50%; background: var(--blue); }
.detail-process { display: grid; gap: 10px; margin-top: 22px; }
.detail-process div { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: center; padding: 14px; border: 1px solid #dfe7f1; border-radius: 13px; background: #fff; }
.service-trust-grid { margin-top: 20px; }
.service-trust-grid div { padding: 18px; border: 1px solid #dfe7f1; border-radius: 15px; background: #fff; }
.service-trust-grid strong { display: block; color: var(--ink); font-size: 14px; }
.service-trust-grid p { margin: 7px 0 0; font-size: 13px; }
.client-chip-grid { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.client-chip-grid span { padding: 8px 11px; border: 1px solid #cfddea; border-radius: 999px; color: #35506d; background: #fff; font-size: 12px; font-weight: 800; }
.faq-list { display: grid; gap: 10px; margin-top: 22px; }
.faq-list details { border: 1px solid #dfe7f1; border-radius: 13px; background: #fff; overflow: hidden; }
.faq-list summary { padding: 15px 16px; color: var(--ink); font-size: 14px; font-weight: 900; cursor: pointer; }
.faq-list details p { padding: 0 16px 16px; margin: 0; color: var(--muted); font-size: 14px; }
.service-sidebar { min-width: 0; }
.service-sticky-card { position: sticky; top: 96px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.service-sticky-card h2 { margin: 0 0 8px; line-height: 1.15; letter-spacing: -.03em; }
.service-sticky-card p { margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.service-sticky-card .btn + .btn { margin-top: 9px; }
.service-sticky-card hr { border: 0; border-top: 1px solid var(--line); margin: 22px 0; }
.service-sticky-card h3 { margin: 0 0 10px; font-size: 14px; }
.service-side-link { display: flex; align-items: center; gap: 9px; padding: 10px 0; border-top: 1px solid #edf1f6; color: #334155; font-size: 12px; font-weight: 800; }
.service-side-link span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: var(--blue); background: #edf5ff; font-size: 10px; }
.related-service-section { padding-top: 0; background: #fff; }

/* Chat */
.chat-launcher { position: fixed; z-index: 75; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); min-width: 58px; height: 58px; display: flex; align-items: center; gap: 9px; padding: 0 18px; border: 0; border-radius: 29px; color: #fff; background: var(--blue); box-shadow: 0 16px 36px rgba(7,94,209,.32); font-size: 12px; font-weight: 800; cursor: pointer; }
.chat-launcher svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.chat-panel { position: fixed; z-index: 90; right: max(18px, env(safe-area-inset-right)); bottom: max(88px, calc(env(safe-area-inset-bottom) + 76px)); width: min(420px, calc(100vw - 28px)); max-height: min(720px, calc(100vh - 110px)); overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 28px 80px rgba(7,27,51,.25); animation: chat-in .25s ease-out; }
.chat-head { display: flex; align-items: center; justify-content: space-between; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.chat-identity { display: flex; align-items: center; gap: 10px; }
.chat-identity .brand-mark { width: 38px; height: 38px; font-size: 10px; }
.chat-identity strong, .chat-identity span { display: block; }
.chat-identity strong { font-size: 13px; }
.chat-identity span { color: var(--green); font-size: 10px; font-weight: 700; }
.chat-identity i { width: 6px; height: 6px; display: inline-block; margin-right: 3px; border-radius: 50%; background: var(--green); }
.chat-head > button { width: 36px; height: 36px; border: 0; background: transparent; font-size: 24px; cursor: pointer; }
.chat-body { max-height: calc(min(720px, 100vh - 110px) - 70px); overflow: auto; padding: 17px; }
.chat-message { margin-bottom: 14px; padding: 13px 14px; border-radius: 12px 12px 12px 3px; background: #f1f5f9; font-size: 13px; }
.chat-status { margin-bottom: 12px; padding: 11px; border-radius: 9px; color: #08783a; background: #effbf4; font-size: 12px; }
.chat-status.is-error { color: #a62424; background: #fff2f2; }
.quick-buttons { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 15px; }
.quick-buttons button { padding: 7px 9px; border: 1px solid #a9bfda; border-radius: 7px; color: var(--blue-dark); background: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.quick-buttons button.is-selected { color: #fff; border-color: var(--blue); background: var(--blue); }
.chat-form .form-grid { gap: 10px; }
.chat-form input, .chat-form textarea { min-height: 40px; padding: 9px 10px; font-size: 12px; }
.chat-form .btn { margin-top: 12px; }
@keyframes chat-in { from { opacity: 0; transform: translateY(12px) scale(.98); } }
.back-to-top { position: fixed; z-index: 85; left: max(18px, env(safe-area-inset-left)); bottom: max(18px, env(safe-area-inset-bottom)); width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #fff; background: var(--blue); box-shadow: 0 14px 32px rgba(7,94,209,.28); cursor: pointer; animation: back-to-top-in .25s ease-out both; transition: transform .2s, background .2s, box-shadow .2s; }
.back-to-top[hidden] { display: none; }
.back-to-top:hover { background: var(--blue-dark); box-shadow: 0 18px 38px rgba(7,94,209,.38); transform: translateY(-3px); }
.back-to-top svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@keyframes back-to-top-in { from { opacity: 0; transform: translateY(12px) scale(.86); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Footer */
.footer { padding: 66px 0 24px; color: #c0d1e3; background: #06182c; }
.footer-grid { display: grid; grid-template-columns: 1.35fr repeat(5, 1fr); gap: 30px; }
.footer .brand-text small { color: #dbe9f7; }
.footer-brand p { max-width: 340px; margin: 18px 0; color: #8fa8c0; font-size: 13px; }
.footer-contact { display: grid; gap: 5px; color: #fff; font-size: 12px; }
.footer h4 { margin: 4px 0 18px; color: #fff; font-size: 12px; }
.footer-grid > div:not(.footer-brand) a,.footer-grid > div:not(.footer-brand) button { display: block; margin: 10px 0; padding: 0; border: 0; color: #93abc1; background: transparent; font-size: 12px; text-align: left; cursor: pointer; transition: color .2s; }
.footer-grid > div:not(.footer-brand) a:hover,.footer-grid > div:not(.footer-brand) button:hover { color: #fff; }
.footer-social { margin-top: 20px; }
.footer-social h4 { margin: 0 0 10px; color: #fff; font-size: 13px; }
.footer-social-icons { display: flex; flex-wrap: wrap; gap: 10px; }
.footer-social-icons a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin: 0; padding: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); color: #93abc1; transition: color .2s, background .2s, border-color .2s, transform .2s; }
.footer-social-icons a:hover { color: #fff; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.35); transform: translateY(-2px); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); color: #718ba4; font-size: 10px; }
.footer-bottom a { color: #a9c4dc; }
.footer-credit { display: inline-flex; gap: 3px; margin-left: 8px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,.14); }
.admin-login-credit { margin: 18px 0 0; color: #64748b; font-size: 11px; line-height: 1.5; text-align: center; }
.admin-login-credit a { color: #075ed1; font-weight: 800; }
.auth-input-field { position: relative; display: flex; align-items: center; }
.auth-input-field input { width: 100%; padding-left: 46px; }
.auth-input-icon { position: absolute; left: 15px; width: 18px; height: 18px; color: #075ed1; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.password-toggle-field input { padding-right: 54px; }
.password-toggle-button { position: absolute; right: 8px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #cfe0f3; border-radius: 999px; color: #075ed1; background: #f5faff; cursor: pointer; transition: .2s; }
.password-toggle-button:hover,.password-toggle-button:focus-visible { border-color: #075ed1; background: #eaf4ff; outline: none; }
.password-eye-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.password-eye-icon[hidden] { display: none; }
.legal-content { max-width: 920px; }
.legal-content .card { margin-bottom: 16px; }
.legal-content .card h2 { margin-bottom: 8px; font-size: 1.15rem; }

/* Admin compatibility */
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; background: var(--soft); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; padding: 24px; color: #dcecff; background: var(--navy); }
.admin-sidebar a { display: flex; margin: 4px 0; padding: 11px 13px; border-radius: 9px; color: #aac0d6; font-size: 13px; font-weight: 700; }
.admin-sidebar a:hover { color: #fff; background: var(--blue); }
.admin-sidebar form button { background: transparent; }
.admin-main { min-width: 0; padding: 28px; }
.admin-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.admin-card { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th { color: var(--muted); font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.admin-table th, .admin-table td { padding: 13px 9px; border-bottom: 1px solid var(--line); vertical-align: top; }
.admin-table input[type="checkbox"] { width: auto; }
.admin-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pagination { display: flex; gap: 8px; padding: 0; list-style: none; }

/* Laravel pagination */
main nav[role="navigation"],
.admin-main nav[role="navigation"] {
  max-width: 100%;
  overflow: hidden;
}
main nav[role="navigation"] svg,
.admin-main nav[role="navigation"] svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}
main nav[role="navigation"] > div,
.admin-main nav[role="navigation"] > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
main nav[role="navigation"] > div:first-child,
.admin-main nav[role="navigation"] > div:first-child {
  display: none;
}
main nav[role="navigation"] > div:last-child,
.admin-main nav[role="navigation"] > div:last-child {
  display: flex;
}
main nav[role="navigation"] span,
main nav[role="navigation"] a,
.admin-main nav[role="navigation"] span,
.admin-main nav[role="navigation"] a {
  min-width: 0;
}
main nav[role="navigation"] a,
main nav[role="navigation"] span[aria-current] span,
main nav[role="navigation"] span[aria-disabled] span,
.admin-main nav[role="navigation"] a,
.admin-main nav[role="navigation"] span[aria-current] span,
.admin-main nav[role="navigation"] span[aria-disabled] span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #d8e5f3;
  border-radius: 999px;
  color: #075ed1;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(7,27,51,.05);
}
main nav[role="navigation"] a:hover,
.admin-main nav[role="navigation"] a:hover {
  border-color: rgba(7,94,209,.32);
  background: #eef6ff;
}
main nav[role="navigation"] span[aria-current] span,
.admin-main nav[role="navigation"] span[aria-current] span {
  border-color: #075ed1;
  color: #fff;
  background: #075ed1;
}
main nav[role="navigation"] span[aria-disabled] span,
.admin-main nav[role="navigation"] span[aria-disabled] span {
  color: #94a3b8;
  background: #f4f8fd;
  cursor: not-allowed;
  box-shadow: none;
}
main nav[role="navigation"] p,
.admin-main nav[role="navigation"] p {
  margin: 0;
  color: #63748b;
  font-size: 12px;
}
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: linear-gradient(135deg, #041528, #083b68); }
.login-card { width: min(460px, 100%); padding: 34px; border-radius: 20px; background: #fff; box-shadow: var(--shadow-lg); }

/* Motion */
[data-animate] { opacity: 0; transition: opacity .65s ease-out, transform .65s cubic-bezier(.2,.7,.2,1); }
[data-animate="fade-up"] { transform: translateY(22px); }
[data-animate="slide-left"] { transform: translateX(26px); }
[data-animate="slide-right"] { transform: translateX(-26px); }
[data-animate="scale-in"] { transform: scale(.97); }
[data-animate="fade-in"] { transform: none; }
[data-animate].is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .nav-links { display: none; }
  .mobile-menu-btn { display: block; }
  .nav-cta { margin-left: auto; }
  .trust-inner { grid-template-columns: repeat(3, 1fr); }
  .trust-item:nth-child(3) { border-right: 0; }
  .trust-item:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.1); }
  .sector-panel { grid-template-columns: 1fr; }
  .project-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.3fr repeat(2, 1fr); }
  .service-gateway-grid, .service-detail-hero-grid, .service-detail-layout { grid-template-columns: 1fr; }
  .article-detail-layout { grid-template-columns: 1fr; }
  .article-detail-layout > article { order: 1; }
  .article-detail-layout > aside { order: 2; }
  .project-case-hero { grid-template-columns: 1fr; }
  .project-trust-strip { grid-template-columns: 1fr; }
  .service-sidebar { order: -1; }
  .service-sticky-card { position: static; }
  .process-ladder { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .enquiry-layout { grid-template-columns: 1fr; }
  .enquiry-side { position: static; }
  .safety-hero-grid, .controlled-work-panel, .safety-topic-layout { grid-template-columns: 1fr; }
  .safety-topic-nav { position: static; }
  .safety-module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .division-safety-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
  html { scroll-padding-top: 80px; }
  body:not(.admin-body):not(.login-page) { padding-top: 66px; }
  .navbar { height: 66px; }
  .nav-cta { display: none; }
  body.menu-open { overflow: hidden; }
  .mobile-navigation { position: fixed; top: 66px; bottom: auto; height: calc(100vh - 66px); height: calc(100dvh - 66px); max-height: calc(100vh - 66px); max-height: calc(100dvh - 66px); overflow-y: auto; }
  .mobile-navigation-inner { align-content: start; box-sizing: border-box; min-height: 100%; padding-block: 24px; background: #fff; }
  .hero, .hero-grid { min-height: 650px; }
  .hero-shade { background: linear-gradient(90deg, rgba(3,17,32,.97), rgba(3,17,32,.75)); }
  .hero-grid { grid-template-columns: 1fr; align-content: center; gap: 26px; padding-block: 70px 100px; }
  .hero-proof { max-width: 430px; align-self: auto; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .why-layout, .founder-block { grid-template-columns: 1fr; }
  .why-intro { position: static; }
  .review-grid, .grid-3 { grid-template-columns: 1fr; }
  .review-action-panel { grid-template-columns: 1fr; }
  .review-action-buttons { justify-content: flex-start; }
  .grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .founder-visual { min-height: 480px; order: -1; }
  .contact-band { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: 1/-1; }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; height: auto; }
  .division-grid { grid-template-columns: 1fr; }
  .division-card, .division-card:nth-child(4), .division-card:nth-child(5) { grid-column: auto; min-height: 0; }
  .process-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefit-grid, .included-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .container { width: min(var(--container), calc(100% - 28px)); }
  .brand-mark { width: 38px; height: 38px; }
  .brand-text strong { font-size: 18px; }
  .hero, .hero-grid { min-height: 620px; }
  .hero-media { background-position: 62% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(3,17,32,.98), rgba(3,17,32,.7)); }
  .hero-grid { padding-block: 58px 90px; }
  .hero-actions .btn { flex: 1 1 calc(50% - 8px); }
  .hero-actions .btn-whatsapp { flex-basis: 100%; }
  .hero-proof { display: none; }
  .trust-strip { margin-top: -36px; }
  .trust-inner { grid-template-columns: repeat(2, 1fr); padding: 8px; }
  .trust-item, .trust-item:nth-child(3) { min-height: 76px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); padding: 8px; }
  .trust-item:nth-child(even) { border-right: 0; }
  .trust-item:nth-last-child(-n+2) { border-bottom: 0; }
  .trust-item .line-icon { display: none; }
  .service-grid, .project-grid, .why-grid, .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .service-card { min-height: 220px; }
  .sector-panel { width: 100%; border-radius: 0; }
  .sector-section .container { width: 100%; }
  .sector-grid { grid-template-columns: repeat(2, 1fr); }
  .section-head-row { align-items: flex-start; flex-direction: column; }
  .feature-row { grid-template-columns: 34px 1fr; }
  .founder-visual { min-height: 430px; }
  .contact-band-section .container { width: 100%; }
  .contact-band { border-radius: 0; }
  .contact-band-actions { width: 100%; }
  .contact-band-actions .btn { flex: 1 1 100%; }
  .technical-partner-card { border-radius: 16px; }
  .technical-partner-main { grid-template-columns: 1fr; }
  .technical-partner-photo { min-height: 330px; aspect-ratio: 4/5; }
  .technical-partner-copy { padding: 20px; }
  .technical-partner-details { padding: 20px; }
  .technical-partner-toggle { width: 100%; justify-content: center; }
  .technical-partner-links { justify-content: center; }
  .technical-partner-links a.is-featured { width: 100%; }
  .newsletter-card { grid-template-columns: 1fr; border-radius: 18px; }
  .newsletter-fields { grid-template-columns: 1fr; }
  .newsletter-fields .btn { width: 100%; }
  [data-animate="slide-left"],
  [data-animate="slide-right"] { transform: translateY(18px); }
  main nav[role="navigation"] > div:first-child,
  .admin-main nav[role="navigation"] > div:first-child { display: flex; }
  main nav[role="navigation"] > div:last-child,
  .admin-main nav[role="navigation"] > div:last-child { display: none; }
  .review-action-buttons .btn { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.full { grid-column: auto; }
  .chat-launcher { width: 56px; min-width: 56px; padding: 0; justify-content: center; }
  .chat-launcher span { display: none; }
  .chat-panel { right: 10px; bottom: 78px; width: calc(100vw - 20px); max-height: calc(100vh - 92px); border-radius: 15px; }
  .chat-body { max-height: calc(100vh - 162px); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .footer-bottom { flex-direction: column; }
  .admin-main { padding: 16px; }
  .service-gateway-hero, .service-detail-hero { padding-block: 58px 72px; }
  .service-actions .btn { width: 100%; }
  .resource-filter-actions { justify-content: flex-start !important; flex-wrap: nowrap !important; gap: 8px !important; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
  .resource-filter-actions::-webkit-scrollbar { display: none; }
  .resource-filter-actions .btn { width: auto; flex: 0 0 auto; min-height: 38px; padding: 9px 12px; font-size: 11px; white-space: nowrap; }
  .service-gateway-panel, .service-detail-summary, .service-block, .service-sticky-card { border-radius: 16px; }
  .process-ladder { grid-template-columns: 1fr; }
  .process-step { min-height: 112px; }
  .detail-process div { grid-template-columns: 34px 1fr; }
  .enquiry-card { border-radius: 16px; }
  .safety-module-grid, .controlled-work-steps, .division-safety-grid { grid-template-columns: 1fr; }
  .safety-hero, .safety-topic-hero { padding-block: 56px 72px; }
  .safety-hero-panel, .controlled-work-panel, .safety-statement-card, .safety-topic-card, .safety-topic-nav { border-radius: 16px; }
  .phase6-card-grid, .phase6-category-grid, .credibility-grid { grid-template-columns: 1fr; }
  .phase6-detail-grid, .phase6-list-card { grid-template-columns: 1fr; }
  .phase6-list-actions { justify-content: flex-start; }
  .phase6-list-actions .btn { width: 100%; }
  .phase6-project-summary dl div { grid-template-columns: 1fr; gap: 2px; }
  .project-case-image { min-height: 320px; }
  .video-grid { grid-template-columns: 1fr; }
  .video-modal { padding: 10px; }
  .video-modal-dialog { max-height: calc(100vh - 20px); border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-animate] { opacity: 1 !important; transform: none !important; }
}

/* Premium admin application */
.admin-body { --admin-sidebar: 248px; min-width: 320px; overflow-x: hidden; color: #0b1729; background: #f4f7fb; font-size: 14px; }
.admin-body.admin-menu-open { overflow: hidden; }
.admin-shell { min-height: 100vh; display: block; background: #f4f7fb; }
.admin-sidebar { position: fixed; z-index: 100; inset: 0 auto 0 0; width: var(--admin-sidebar); height: 100vh; display: flex; flex-direction: column; padding: 20px 16px 16px; color: #d9e8f6; background: #061b32; overflow-y: auto; }
.admin-sidebar-head { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-bottom: 23px; padding: 0 6px; }
.admin-brand { display: inline-flex; align-items: center; gap: 10px; }
.admin-brand .brand-mark { width: 40px; height: 40px; border: 2px solid rgba(130,181,234,.18); box-shadow: none; font-size: 11px; }
.admin-brand > span:last-child { display: grid; line-height: 1; }
.admin-brand strong { color: #fff; font-size: 18px; letter-spacing: -.04em; }
.admin-brand small { margin-top: 4px; color: #7fb7ef; font-size: 8px; font-weight: 800; letter-spacing: .22em; }
.admin-sidebar-close { display: none; width: 36px; height: 36px; border: 0; color: #fff; background: transparent; font-size: 25px; cursor: pointer; }
.admin-nav { display: grid; gap: 10px; }
.admin-nav-group { display: grid; gap: 4px; }
.admin-nav-label { display: block; padding: 8px 12px 2px; color: #63809a; font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.admin-nav a { min-height: 43px; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 9px; color: #a9c0d6; font-size: 13px; font-weight: 700; transition: color .2s, background .2s, transform .2s; }
.admin-nav a svg, .admin-logout svg, .admin-menu-button svg, .admin-icon-button svg, .admin-view-site svg, .admin-search svg, .admin-date-filter svg { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-nav a:hover { color: #fff; background: rgba(255,255,255,.06); transform: translateX(2px); }
.admin-nav a.is-active { color: #fff; background: #075ed1; box-shadow: 0 10px 24px rgba(7,94,209,.27); }
.admin-sidebar-foot { margin-top: auto; padding-top: 24px; }
.admin-user-mini { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; padding: 10px; border-top: 1px solid rgba(255,255,255,.08); }
.admin-user-mini strong, .admin-user-mini small { display: block; }
.admin-user-mini strong { color: #fff; font-size: 11px; }
.admin-user-mini small { color: #7691aa; font-size: 9px; }
.admin-avatar { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; color: #fff; background: linear-gradient(145deg,#075ed1,#22b8cf); box-shadow: 0 7px 18px rgba(7,27,51,.18); font-size: 12px; font-weight: 800; }
.admin-avatar.has-image { background: #eaf3ff; }
.admin-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.admin-avatar-large { width: 74px; height: 74px; border-width: 3px; font-size: 22px; box-shadow: 0 12px 30px rgba(7,27,51,.18); }
.admin-logout { width: 100%; min-height: 40px; display: flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; color: #dcecff; background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; transition: .2s; }
.admin-logout:hover { color: #fff; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.05); }
.admin-workspace { min-width: 0; margin-left: var(--admin-sidebar); padding-top: 66px; }
.admin-topbar { height: 66px; position: fixed; z-index: 70; top: 0; right: 0; left: var(--admin-sidebar); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 clamp(20px,3vw,34px); border-bottom: 1px solid #e2eaf3; background: rgba(255,255,255,.95); backdrop-filter: blur(14px); }
.admin-topbar-left, .admin-topbar-actions { display: flex; align-items: center; gap: 12px; }
.admin-breadcrumb { display: flex; align-items: center; gap: 8px; color: #94a3b8; font-size: 12px; }
.admin-breadcrumb strong { color: #075ed1; }
.admin-menu-button { width: 38px; height: 38px; display: none; place-items: center; border: 1px solid #dbe5f0; border-radius: 9px; color: #334155; background: #fff; cursor: pointer; }
.admin-search { width: 100%; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #dbe5f0; border-radius: 9px; background: #f8fafc; }
.admin-search svg { width: 16px; color: #64748b; }
.admin-search input { min-height: 0; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 12px; }
.admin-search input:focus { border: 0; box-shadow: none; }
.admin-search-wrap { position: relative; width: min(260px,22vw); }
.admin-search-results { position: absolute; z-index: 90; top: calc(100% + 8px); right: 0; width: 100%; min-width: 100%; max-width: min(320px,82vw); padding: 8px; border: 1px solid #dbe5f0; border-radius: 12px; background: #fff; box-shadow: 0 18px 42px rgba(7,27,51,.16); }
.admin-search-results a { display: grid; gap: 2px; padding: 9px 10px; border-radius: 9px; color: #0b1729; }
.admin-search-results a:hover,.admin-search-results a:focus-visible { background: #f2f7ff; outline: none; }
.admin-search-results small { color: #64748b; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.admin-search-results strong { font-size: 11px; }
.admin-icon-button { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dbe5f0; border-radius: 9px; color: #475569; background: #fff; cursor: pointer; }
.notification-dot { position: absolute; width: 7px; height: 7px; top: 7px; right: 7px; border: 2px solid #fff; border-radius: 50%; background: #ef4444; }
.notification-count { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: #ef4444; font-size: 8px; font-weight: 900; line-height: 1; }
.notification-dot[hidden], .notification-count[hidden], .admin-notification-panel[hidden], .admin-live-banner[hidden] { display: none !important; }
.admin-notification-wrap { position: relative; }
.admin-notification-panel { position: absolute; z-index: 120; top: calc(100% + 10px); right: 0; width: min(380px, 88vw); overflow: hidden; border: 1px solid #dbe5f0; border-radius: 16px; background: #fff; box-shadow: 0 22px 55px rgba(7,27,51,.18); }
.admin-notification-panel header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 14px; border-bottom: 1px solid #e8eef6; background: linear-gradient(135deg,#fff,#f4f9ff); }
.admin-notification-panel header strong, .admin-notification-panel header small { display: block; }
.admin-notification-panel header strong { color: #0b1729; font-size: 13px; }
.admin-notification-panel header small { margin-top: 2px; color: #64748b; font-size: 9px; }
.admin-notification-panel-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.admin-notification-panel-actions button { min-height: 28px; padding: 5px 8px; border: 1px solid #cfe0f3; border-radius: 7px; color: #075ed1; background: #fff; font-size: 8px; font-weight: 900; cursor: pointer; }
.admin-notification-list { max-height: min(430px, 68vh); overflow-y: auto; padding: 8px; }
.admin-notification-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; padding: 11px; border-radius: 12px; color: #334155; }
.admin-notification-item:hover { background: #f7fbff; }
.admin-notification-item.is-unread { background: #eef6ff; }
.admin-notification-mark { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: #cbd5e1; }
.admin-notification-item.is-unread .admin-notification-mark { background: #075ed1; box-shadow: 0 0 0 4px rgba(7,94,209,.12); }
.admin-notification-item strong { display: block; color: #0b1729; font-size: 11px; }
.admin-notification-item p { margin: 3px 0; color: #475569; font-size: 10px; line-height: 1.45; }
.admin-notification-item small { color: #94a3b8; font-size: 8px; font-weight: 800; }
.admin-notification-item a { align-self: center; padding: 6px 8px; border: 1px solid #bdd7f7; border-radius: 7px; color: #075ed1; background: #fff; font-size: 8px; font-weight: 900; }
.admin-notification-empty { padding: 22px 12px; color: #64748b; font-size: 10px; text-align: center; }
.admin-toast-stack { position: fixed; z-index: 150; right: 18px; bottom: 18px; display: grid; gap: 10px; width: min(360px, calc(100vw - 28px)); pointer-events: none; }
.admin-toast { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; padding: 13px; border: 1px solid #b9d4f4; border-radius: 15px; color: #0b1729; background: rgba(255,255,255,.97); box-shadow: 0 18px 46px rgba(7,27,51,.2); pointer-events: auto; cursor: pointer; animation: admin-toast-in .22s ease-out both; }
.admin-toast > span { width: 10px; height: 10px; margin-top: 4px; border-radius: 999px; background: #075ed1; box-shadow: 0 0 0 5px rgba(7,94,209,.12); }
.admin-toast strong { display: block; font-size: 11px; }
.admin-toast p { margin: 3px 0 0; color: #475569; font-size: 10px; line-height: 1.45; }
.admin-toast button { width: 24px; height: 24px; border: 0; border-radius: 50%; color: #64748b; background: #edf3fb; font-size: 16px; line-height: 1; cursor: pointer; }
.admin-live-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -8px 0 18px; padding: 12px 14px; border: 1px solid #b9d4f4; border-radius: 14px; background: linear-gradient(135deg,#eef6ff,#fff); box-shadow: 0 8px 25px rgba(7,27,51,.07); }
.admin-live-banner strong, .admin-live-banner span { display: block; }
.admin-live-banner strong { color: #0b1729; font-size: 12px; }
.admin-live-banner span { margin-top: 2px; color: #64748b; font-size: 10px; }
@keyframes admin-toast-in { from { opacity: 0; transform: translateY(10px) scale(.98); } }
.admin-top-user { display: flex; align-items: center; gap: 8px; padding-right: 3px; }
.admin-top-user strong, .admin-top-user small { display: block; line-height: 1.25; }
.admin-top-user strong { font-size: 11px; }
.admin-top-user small { color: #64748b; font-size: 9px; }
.admin-view-site { min-height: 38px; padding: 9px 12px; font-size: 11px; }
.admin-view-site svg { width: 16px; }
.admin-main { width: min(100%,1600px); min-width: 0; margin-inline: auto; padding: 26px clamp(20px,3vw,34px) 42px; }
.admin-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.admin-page-heading h1 { margin: 0; font-size: clamp(1.8rem,2.2vw,2.35rem); line-height: 1.05; letter-spacing: -.045em; }
.admin-page-heading p { margin: 7px 0 0; color: #64748b; font-size: 13px; }
.admin-heading-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.admin-heading-actions .btn { white-space: nowrap; }
.admin-date-filter { min-height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #dbe5f0; border-radius: 9px; background: #fff; }
.admin-date-filter svg { width: 16px; color: #075ed1; }
.admin-date-filter select { min-height: 0; padding: 0 22px 0 0; border: 0; box-shadow: none; background: #fff; font-size: 11px; font-weight: 700; }
.admin-date-filter select:focus { border: 0; box-shadow: none; }
.admin-card, .admin-panel { border: 1px solid #dce5ef; border-radius: 14px; background: #fff; box-shadow: 0 7px 24px rgba(7,27,51,.045); }
.admin-card { padding: 22px; }
.admin-panel { min-width: 0; padding: 16px; }
.admin-welcome-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 20px; border: 1px solid #cfe2fb; border-radius: 16px; background: linear-gradient(135deg,#ffffff 0%,#f2f8ff 62%,#e8f3ff 100%); box-shadow: 0 10px 30px rgba(7,27,51,.055); }
.admin-welcome-eyebrow { display: inline-flex; margin-bottom: 6px; color: #075ed1; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.admin-welcome-card h2 { margin: 0; font-size: clamp(1.45rem,2.1vw,2.1rem); line-height: 1.08; letter-spacing: -.045em; }
.admin-welcome-card p { margin: 7px 0 0; color: #64748b; font-size: 12px; }
.admin-welcome-role { flex: 0 0 auto; padding: 8px 11px; border: 1px solid #b7d4f6; border-radius: 999px; color: #075ed1; background: rgba(255,255,255,.76); font-size: 10px; font-weight: 900; }
.admin-panel-head { min-height: 40px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.admin-panel-head h2 { margin: 0; font-size: 15px; letter-spacing: -.02em; }
.admin-panel-head p { margin: 3px 0 0; color: #64748b; font-size: 10px; }
.admin-panel-chip { padding: 5px 8px; border: 1px solid #dce5ef; border-radius: 6px; color: #475569; font-size: 9px; font-weight: 700; }
.admin-text-link { color: #075ed1; font-size: 10px; font-weight: 800; white-space: nowrap; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.admin-kpi { min-width: 0; min-height: 135px; padding: 15px; border: 1px solid #dce5ef; border-radius: 13px; background: #fff; box-shadow: 0 6px 20px rgba(7,27,51,.035); transition: transform .2s,box-shadow .2s; }
.admin-kpi:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(7,27,51,.08); }
.admin-kpi-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.admin-kpi-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #075ed1; background: #eaf3ff; }
.admin-kpi-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-kpi-icon.is-cyan { color:#0891b2;background:#e5f9fc }.admin-kpi-icon.is-indigo { color:#4f46e5;background:#eeedff }.admin-kpi-icon.is-amber { color:#d97706;background:#fff5df }.admin-kpi-icon.is-purple { color:#7c3aed;background:#f2eaff }.admin-kpi-icon.is-green { color:#16803c;background:#e8f8ed }
.admin-kpi-trend { display: inline-flex; align-items: center; gap: 3px; color: #16a34a; font-size: 8px; font-weight: 800; }
.admin-kpi-trend svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 2; }
.admin-kpi p { margin: 12px 0 1px; color: #64748b; font-size: 10px; }
.admin-kpi > strong { display: block; font-size: 25px; line-height: 1.15; letter-spacing: -.04em; }
.admin-kpi > small { display: block; margin-top: 6px; color: #94a3b8; font-size: 8px; }
.visitor-analytics { margin-top: 14px; padding: 16px; border: 1px solid #dce5ef; border-radius: 16px; background: #fff; box-shadow: 0 7px 24px rgba(7,27,51,.045); }
.visitor-analytics-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.visitor-analytics-head h2 { margin: 0; font-size: 18px; letter-spacing: -.035em; }
.visitor-analytics-head p { margin: 4px 0 0; color: #64748b; font-size: 11px; }
.visitor-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.visitor-kpi-grid article { min-width: 0; padding: 14px; border: 1px solid #e0e8f2; border-radius: 12px; background: #f8fbff; }
.visitor-kpi-grid span,.visitor-kpi-grid small { display:block; color:#64748b; font-size:9px; font-weight:800; }
.visitor-kpi-grid strong { display:block; margin:7px 0 4px; font-size:24px; line-height:1; letter-spacing:-.04em; }
.visitor-kpi-grid .visitor-top-page { overflow:hidden; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.visitor-chart-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 12px; }
.admin-analytics-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 14px; margin-top: 14px; }
.admin-chart-wrap { position: relative; height: 230px; }
.admin-chart-doughnut { height: 230px; }
.admin-data-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 14px; margin-top: 14px; }
.admin-table-wrap { width: 100%; overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.admin-table th { padding: 9px 10px; border-bottom: 1px solid #dce5ef; color: #64748b; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.admin-table td { padding: 10px; border-bottom: 1px solid #edf1f6; vertical-align: middle; }
.admin-table tbody tr { transition: background .18s; }
.admin-table tbody tr:hover { background: #f8fbff; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table td strong, .admin-table td small { display: block; }
.admin-table td strong { font-size: 11px; }
.admin-table td small { margin-top: 2px; color: #64748b; font-size: 8px; }
.admin-user-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.admin-user-cell > div { min-width: 0; }
.admin-person-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.admin-person-cell img { width: 42px; height: 42px; flex: 0 0 auto; border: 1px solid #dce5ef; border-radius: 14px; object-fit: cover; background: #f8fbff; }
.admin-person-cell span { min-width: 0; }
.admin-profile-preview { display: flex; align-items: center; gap: 14px; padding: 13px; border: 1px solid #dce5ef; border-radius: 14px; background: #f8fbff; }
.admin-profile-preview > div { min-width: 0; }
.admin-avatar-upload { display: flex; align-items: center; gap: 16px; padding: 14px; border: 1px solid #dce5ef; border-radius: 12px; background: #f8fbff; }
.admin-avatar-upload > div { min-width: 0; flex: 1; }
.admin-avatar-upload input[type="file"] { background: #fff; }
.admin-thumb { width: 58px; aspect-ratio: 16/9; object-fit: cover; border-radius: 6px; }
.admin-row-action { display: inline-flex; padding: 5px 8px; border: 1px solid #a9c9f0; border-radius: 6px; color: #075ed1; font-size: 8px; font-weight: 800; }
.status-badge, .admin-body .badge { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 99px; color: #075ed1; background: #eaf3ff; font-size: 8px; font-weight: 800; text-transform: capitalize; white-space: nowrap; }
.status-new,.status-published,.status-active { color:#075ed1;background:#eaf3ff }.status-contacted,.status-pending,.status-draft { color:#b25f00;background:#fff3d9 }.status-completed,.status-approved,.status-closed { color:#137333;background:#e6f7ec }.status-in_progress,.status-quoted { color:#5b36b5;background:#f0eaff }.status-inactive,.status-archived { color:#64748b;background:#eef2f6 }
.admin-bottom-grid { display: grid; grid-template-columns: 1.15fr 1fr .7fr; gap: 14px; margin-top: 14px; }
.review-overview { display: grid; grid-template-columns: 112px 1fr; gap: 15px; }
.review-score { display: flex; flex-direction: column; justify-content: center; padding-right: 15px; border-right: 1px solid #e4eaf1; }
.review-score > strong { font-size: 34px; line-height: 1; }
.review-score .stars { margin: 7px 0; color: #f6b914; font-size: 11px; letter-spacing: .06em; }
.review-score small { color: #64748b; font-size: 8px; }
.review-snippets { display: grid; gap: 8px; }
.review-snippets blockquote { margin: 0; padding-bottom: 8px; border-bottom: 1px solid #edf1f6; }
.review-snippets blockquote:last-child { padding-bottom: 0; border: 0; }
.review-snippets blockquote > div { display: flex; justify-content: space-between; gap: 8px; }
.review-snippets strong { font-size: 9px; }.review-snippets span { color: #f6b914; font-size: 8px; }.review-snippets p { margin: 3px 0 0; color: #475569; font-size: 8px; line-height: 1.45; }
.quick-action-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.quick-action-grid a { min-height: 72px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 9px; border: 1px solid #dce5ef; border-radius: 9px; color: #334155; font-size: 8px; font-weight: 700; text-align: center; transition: .2s; }
.quick-action-grid a:hover { color: #075ed1; border-color: #9fc3ef; background: #f7fbff; transform: translateY(-2px); }
.quick-action-grid svg { width: 22px; height: 22px; box-sizing: content-box; padding: 7px; border-radius: 10px; color: #075ed1; background: #eaf3ff; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-module-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-module-card { min-height: 104px; display: grid; align-content: center; gap: 6px; padding: 14px; border: 1px solid #dce5ef; border-radius: 11px; background: #f8fbff; }
.admin-module-card span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #075ed1; background: #eaf3ff; }
.admin-module-card svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-module-card strong { font-size: 12px; }
.admin-module-card small { color: #64748b; font-size: 9px; }
.admin-checklist, .admin-alert-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.admin-checklist li { display: flex; align-items: flex-start; gap: 9px; color: #475569; font-size: 11px; line-height: 1.5; }
.admin-alert-list a { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 8px; padding: 10px; border: 1px solid #dce5ef; border-radius: 9px; color: #334155; background: #f8fbff; font-size: 10px; }
.admin-alert-list strong { color: #0b1729; font-size: 15px; }
.admin-note { padding: 12px 14px; border: 1px solid #cfe2fb; border-radius: 10px; color: #334155; background: #f7fbff; font-size: 11px; line-height: 1.55; }
.admin-inline-error { padding: 10px 12px; border: 1px solid #fecaca; border-radius: 9px; color: #991b1b; background: #fff1f2; font-size: 12px; font-weight: 800; }
.system-list { margin: 0; }
.system-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #edf1f6; }
.system-list dt,.system-list dd { margin: 0; font-size: 9px; }.system-list dt { color:#64748b }.system-list dd { font-weight:700;text-align:right }
.copy-field { display:flex; gap:8px; align-items:center; }
.copy-field input { flex:1; min-width:0; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:11px; }
.job-conversation-card { min-height: 360px; }
.job-message-thread { display:grid; gap:12px; max-height:620px; overflow:auto; padding:4px 4px 4px 0; scroll-behavior:smooth; }
.job-message { max-width:82%; padding:13px 14px; border:1px solid #dce8f5; border-radius:14px 14px 14px 4px; color:#102033; background:#f7fbff; box-shadow:0 8px 24px rgba(7,27,51,.045); }
.job-message > div { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; }
.job-message strong { font-size:12px; }
.job-message small { color:#64748b; font-size:9px; white-space:nowrap; }
.job-message p { margin:0; color:#334155; font-size:13px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.job-attachments { display:grid; gap:8px; margin-top:10px; }
.job-attachment { display:flex; align-items:center; gap:10px; max-width:100%; padding:8px; border:1px solid #dbe8f5; border-radius:12px; color:#102033; background:rgba(255,255,255,.78); text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.job-attachment:hover { transform:translateY(-1px); border-color:#8fc5ff; box-shadow:0 10px 24px rgba(7,27,51,.08); }
.job-attachment img { width:72px; height:54px; flex:0 0 72px; object-fit:cover; border-radius:9px; background:#e8f2ff; }
.job-attachment-icon { width:38px; height:38px; display:grid; place-items:center; flex:0 0 38px; border-radius:10px; background:#e8f2ff; }
.job-attachment span:last-child { min-width:0; display:grid; gap:2px; }
.job-attachment span:last-child strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.job-attachment span:last-child small { font-size:9px; color:#64748b; }
.job-message-admin { justify-self:end; border-radius:14px 14px 4px 14px; color:#fff; background:#075ed1; border-color:#075ed1; }
.job-message-admin p,.job-message-admin small { color:rgba(255,255,255,.84); }
.job-message-admin .job-attachment { color:#fff; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.12); }
.job-message-admin .job-attachment small { color:rgba(255,255,255,.78); }
.job-message-client { justify-self:start; }
.job-message-system,.job-message.is-internal { max-width:100%; justify-self:stretch; border-style:dashed; color:#7c2d12; background:#fff7ed; border-color:#fed7aa; }
.job-message-system p,.job-message.is-internal p { color:#7c2d12; }
.status-dot { width: 7px; height: 7px; display: inline-block; margin-right: 4px; border-radius: 50%; }.status-dot.is-good { background:#16a34a }.status-dot.is-warn { background:#f59e0b }
.mini-project-chart { height: 82px; margin-top: 10px; }
.admin-empty { min-height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 18px; color: #64748b; text-align: center; }
.admin-empty > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #075ed1; background: #edf5ff; }.admin-empty svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7 }.admin-empty strong { color:#334155;font-size:11px }.admin-empty p { margin:0;font-size:9px }
.admin-reveal { animation: admin-enter .45s ease-out both; }.admin-reveal:nth-child(2){animation-delay:.04s}.admin-reveal:nth-child(3){animation-delay:.08s}.admin-reveal:nth-child(4){animation-delay:.12s}.admin-reveal:nth-child(5){animation-delay:.16s}.admin-reveal:nth-child(6){animation-delay:.2s}
@keyframes admin-enter { from { opacity:0;transform:translateY(10px) } }

/* Shared CRUD polish */
.admin-main > .admin-card, .admin-main > form.admin-card { max-width: 100%; }
.admin-main > form.admin-card { width: min(100%,1040px); }
.admin-list-intro { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-4px 0 14px;padding-bottom:13px;border-bottom:1px solid #edf1f6; }
.admin-list-intro strong { font-size:13px; }.admin-list-intro span { color:#64748b;font-size:10px; }
.admin-main .admin-card > .admin-table { display:block;max-width:100%;overflow-x:auto; }
.admin-main .admin-card > .admin-table thead,.admin-main .admin-card > .admin-table tbody { display:table;width:100%;min-width:680px;table-layout:auto; }
.admin-card .admin-top { margin-bottom: 16px !important; }
.admin-card h2 { margin: 0 0 10px; font-size: 17px; }.admin-card h3 { font-size: 14px; }
.admin-card .section-sub { font-size: 12px; }
.admin-body .form-grid { gap: 14px; }
.admin-body .form-field { gap: 6px; }
.admin-body label { color: #344256; font-size: 10px; font-weight: 800; }
.admin-body input,.admin-body textarea,.admin-body select { min-height: 42px; border-radius: 8px; font-size: 12px; }
.admin-body textarea { line-height: 1.55; }
.admin-body .btn { min-height: 38px; padding: 9px 13px; border-radius: 8px; font-size: 10px; }
.admin-body .btn svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-body .grid { gap: 14px; }
.admin-body .card { border-radius: 12px; box-shadow: none; }
.admin-body .admin-actions { gap: 7px; }
.admin-main .pagination { align-items: center; flex-wrap: wrap; }
.settings-jump-links { position: sticky; z-index: 3; top: 78px; display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 18px; padding: 8px; border: 1px solid #e0e8f2; border-radius: 12px; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); }
.settings-jump-links a { padding: 7px 10px; border: 1px solid #cfe0f3; border-radius: 999px; color: #075ed1; background: #f7fbff; font-size: 10px; font-weight: 900; }
.settings-anchor { grid-column: 1/-1; scroll-margin-top: 120px; }
.settings-sticky-save { display: none; }

@media (max-width: 1280px) {
  .admin-kpi-grid { grid-template-columns: repeat(3,1fr); }
  .admin-bottom-grid { grid-template-columns: 1fr 1fr; }
  .admin-bottom-grid > :last-child { grid-column: 1/-1; }
  .system-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 24px; }
  .mini-project-chart { display:none; }
}
@media (max-width: 1023px) {
  .admin-sidebar { transform: translateX(-100%); box-shadow: 22px 0 60px rgba(3,18,34,.25); transition: transform .25s ease; }
  .admin-sidebar.is-open { transform: translateX(0); }
  .admin-sidebar-close { display: grid; place-items: center; }
  .admin-overlay { position: fixed; z-index: 90; inset: 0; background: rgba(3,18,34,.48); backdrop-filter: blur(2px); }
  .admin-workspace { margin-left: 0; }
  .admin-topbar { left: 0; }
  .admin-menu-button { display: grid; }
  .admin-top-user,.admin-search-wrap { display: none; }
  .admin-analytics-grid,.admin-data-grid,.visitor-chart-grid { grid-template-columns: 1fr; }
  .visitor-kpi-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 700px) {
  .admin-body, .admin-shell, .admin-workspace, .admin-main, .admin-topbar { max-width: 100vw; overflow-x: hidden; }
  .admin-workspace { padding-top: 60px; }
  .admin-topbar { height: 60px; gap: 8px; padding-inline: 10px; }
  .admin-topbar-left { min-width: 0; flex: 1 1 auto; gap: 8px; }
  .admin-topbar-actions { min-width: 0; flex: 0 0 auto; gap: 6px; margin-left: auto; }
  .admin-icon-button { width: 36px; height: 36px; }
  .admin-menu-button { width: 36px; height: 36px; }
  .admin-breadcrumb { display:none; }
  .admin-main { padding: 20px 14px 32px; }
  .admin-page-heading { align-items: flex-start; flex-direction: column; min-width: 0; }
  .admin-page-heading > div { min-width: 0; max-width: 100%; }
  .admin-welcome-card { align-items: flex-start; flex-direction: column; padding: 16px; }
  .admin-welcome-role { white-space: normal; }
  .visitor-analytics-head { align-items: flex-start; flex-direction: column; }
  .visitor-analytics-head .admin-date-filter { width: 100%; }
  .visitor-kpi-grid { grid-template-columns: 1fr; }
  .admin-heading-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); justify-content: stretch; width: 100%; }
  .admin-heading-actions .btn, .admin-heading-actions .admin-date-filter { width: 100%; min-width: 0; min-height: 42px; flex: none; }
  .admin-heading-actions .btn { gap: 6px; white-space: normal; }
  .admin-heading-actions .btn svg, .admin-heading-actions .admin-date-filter svg { width: 15px; height: 15px; flex-basis: 15px; }
  .admin-kpi-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .admin-kpi { min-height: 126px; padding: 13px; }
  .admin-kpi > strong { font-size: 23px; }
  .admin-bottom-grid { grid-template-columns: 1fr; }
  .admin-bottom-grid > :last-child { grid-column: auto; }
  .review-overview { grid-template-columns: 1fr; }
  .review-score { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid #e4eaf1; }
  .quick-action-grid { grid-template-columns: repeat(2,1fr); }
  .quick-action-grid a { min-height: 86px; }
  .quick-action-grid svg { width: 22px; height: 22px; padding: 7px; }
  .system-list { grid-template-columns: 1fr; }
  .admin-view-site { width: 36px; min-width: 36px; height: 36px; flex: 0 0 36px; justify-content: center; padding: 0; overflow: hidden; white-space: nowrap; }
  .admin-view-site-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .admin-view-site svg { width: 17px; height: 17px; margin: 0; }
  .admin-notification-panel { position: fixed; top: 66px; right: 10px; left: 10px; width: auto; max-height: calc(100vh - 82px); }
  .admin-notification-panel header { flex-direction: column; }
  .admin-notification-panel-actions { width: 100%; justify-content: stretch; }
  .admin-notification-panel-actions button { flex: 1; }
  .admin-live-banner { align-items: stretch; flex-direction: column; }
  .admin-live-banner .btn { width: 100%; }
  .admin-toast-stack { right: 14px; bottom: 14px; }
  .admin-chart-wrap,.admin-chart-doughnut { height: 210px; }
  .admin-body .form-grid,.admin-body .grid-2,.admin-body .grid-3,.admin-body .grid-4 { grid-template-columns: 1fr; }
  .admin-module-grid { grid-template-columns: 1fr; }
  .admin-body .admin-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .admin-body .admin-actions .btn, .admin-body .admin-actions button, .admin-body .admin-actions form, .admin-body .admin-actions input, .admin-body .admin-actions select { width:100%; max-width:100%; }
  .admin-body input, .admin-body textarea, .admin-body select, .admin-body input[type="file"] { max-width: 100%; width: 100%; }
  .admin-avatar-upload { align-items: flex-start; flex-direction: column; }
  .admin-profile-preview { align-items: flex-start; flex-direction: column; }
  .settings-form { padding-bottom: 76px; }
  .settings-jump-links { top: 68px; margin-bottom: 14px; }
  .settings-sticky-save { position: fixed; z-index: 80; right: 12px; bottom: 12px; left: 12px; display: block; padding: 10px; border: 1px solid #cfe0f3; border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 16px 44px rgba(7,27,51,.18); backdrop-filter: blur(12px); }
  .settings-sticky-save .btn { width: 100%; min-height: 44px; }
  .admin-card, .admin-panel { min-width: 0; overflow: hidden; }
  .admin-list-intro { align-items: flex-start; flex-direction: column; gap: 4px; }
  .admin-table-wrap { overflow-x: visible; }
  .admin-table,
  .admin-main .admin-card > .admin-table {
    min-width: 0 !important;
    width: 100%;
    display: block;
    overflow: visible;
  }
  .admin-table thead,
  .admin-main .admin-card > .admin-table thead {
    display: none !important;
  }
  .admin-table tbody,
  .admin-main .admin-card > .admin-table tbody {
    min-width: 0 !important;
    width: 100%;
    display: grid !important;
    gap: 12px;
  }
  .admin-table tr {
    width: 100%;
    display: block;
    padding: 14px;
    border: 1px solid #dce5ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(7,27,51,.04);
  }
  .admin-table tbody tr:hover { background: #fff; }
  .admin-table td {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(88px,34%) minmax(0,1fr);
    align-items: start;
    gap: 9px;
    padding: 8px 0;
    border-bottom: 1px solid #edf1f6;
    overflow-wrap: anywhere;
  }
  .admin-table td::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
  }
  .admin-table td:not([data-label]) {
    display: block;
  }
  .admin-table td:not([data-label])::before,
  .admin-table td[colspan]::before {
    display: none;
  }
  .admin-table tr:last-child td,
  .admin-table td:last-child { border-bottom: 0; }
  .admin-table td[colspan] {
    display: block;
    padding: 0;
  }
  .admin-table td.admin-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 12px;
  }
  .admin-table td.admin-actions::before { display: none; }
  .admin-table td.admin-actions .btn,
  .admin-table td.admin-actions .admin-row-action,
  .admin-table td.admin-actions button,
  .admin-row-action {
    width: 100%;
    justify-content: center;
    min-height: 38px;
  }
  .admin-table td.admin-contact-cell {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .admin-table td.admin-contact-cell .meta {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .admin-empty {
    min-height: 170px;
    border: 1px dashed #cfe0f3;
    border-radius: 14px;
    background: #f8fbff;
  }
  .admin-thumb {
    width: min(120px,100%);
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 8px;
  }
}
@media (max-width: 420px) {
  .admin-kpi-grid { grid-template-columns: 1fr 1fr; }
  .admin-kpi-trend { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-reveal { animation: none; }
  .admin-sidebar,.admin-kpi,.quick-action-grid a { transition: none; }
}

.admin-theme-toggle .theme-icon { display: grid; place-items: center; }
.admin-theme-toggle .theme-icon-sun { display: none; }
.admin-theme-dark-root .admin-theme-toggle .theme-icon-moon { display: none; }
.admin-theme-dark-root .admin-theme-toggle .theme-icon-sun { display: grid; }

.admin-theme-dark-root .admin-body {
  color-scheme: dark;
  color: #e6edf7;
  background: #07111f;
}
.admin-theme-dark-root .admin-shell,
.admin-theme-dark-root .admin-workspace,
.admin-theme-dark-root .admin-main {
  background: #07111f;
}
.admin-theme-dark-root .admin-sidebar {
  color: #d9e8f6;
  background: linear-gradient(180deg,#031225 0%,#061b32 58%,#051528 100%);
  box-shadow: 16px 0 42px rgba(0,0,0,.22);
}
.admin-theme-dark-root .admin-brand,
.admin-theme-dark-root .admin-logout {
  border-color: rgba(148,163,184,.26);
}
.admin-theme-dark-root .admin-nav a {
  color: #b9cee7;
}
.admin-theme-dark-root .admin-nav a:hover {
  background: rgba(255,255,255,.08);
}
.admin-theme-dark-root .admin-nav-label,
.admin-theme-dark-root .admin-breadcrumb,
.admin-theme-dark-root .admin-table th,
.admin-theme-dark-root .admin-table td::before,
.admin-theme-dark-root .admin-card .section-sub,
.admin-theme-dark-root .admin-list-intro span,
.admin-theme-dark-root .admin-table td small,
.admin-theme-dark-root .meta,
.admin-theme-dark-root small {
  color: #94a8c2;
}
.admin-theme-dark-root .admin-topbar {
  border-bottom-color: rgba(148,163,184,.22);
  background: rgba(7,17,31,.9);
  box-shadow: 0 12px 32px rgba(0,0,0,.16);
}
.admin-theme-dark-root .admin-breadcrumb strong,
.admin-theme-dark-root .admin-page-heading h1,
.admin-theme-dark-root .admin-card h2,
.admin-theme-dark-root .admin-card h3,
.admin-theme-dark-root .admin-panel h2,
.admin-theme-dark-root .admin-panel h3,
.admin-theme-dark-root .admin-table td strong,
.admin-theme-dark-root .admin-top-user strong,
.admin-theme-dark-root .admin-list-intro strong {
  color: #f8fbff;
}
.admin-theme-dark-root .admin-page-heading p,
.admin-theme-dark-root .admin-top-user small,
.admin-theme-dark-root .visitor-analytics-head p,
.admin-theme-dark-root .visitor-kpi-grid span,
.admin-theme-dark-root .visitor-kpi-grid small,
.admin-theme-dark-root .admin-panel-head p {
  color: #9db0c8;
}
.admin-theme-dark-root .visitor-analytics-head h2,
.admin-theme-dark-root .visitor-kpi-grid strong,
.admin-theme-dark-root .admin-panel-head h2 {
  color: #f8fbff;
}
.admin-theme-dark-root .admin-card,
.admin-theme-dark-root .admin-panel,
.admin-theme-dark-root .visitor-analytics,
.admin-theme-dark-root .visitor-kpi-grid article,
.admin-theme-dark-root .admin-welcome-card,
.admin-theme-dark-root .admin-kpi,
.admin-theme-dark-root .admin-empty,
.admin-theme-dark-root .admin-mobile-card,
.admin-theme-dark-root .admin-settings-section,
.admin-theme-dark-root .settings-panel,
.admin-theme-dark-root .admin-profile-card,
.admin-theme-dark-root .admin-stat-card {
  border-color: rgba(148,163,184,.22);
  background: #0c1828;
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}
.admin-theme-dark-root .admin-welcome-card,
.admin-theme-dark-root .settings-jump-links {
  background: linear-gradient(135deg,#0c1828 0%,#0e2138 58%,#102b49 100%);
}
.admin-theme-dark-root .admin-search,
.admin-theme-dark-root .admin-date-filter,
.admin-theme-dark-root .admin-icon-button,
.admin-theme-dark-root .admin-menu-button,
.admin-theme-dark-root .admin-view-site,
.admin-theme-dark-root .settings-jump-links a,
.admin-theme-dark-root .btn-outline {
  border-color: rgba(148,163,184,.32);
  color: #c8d7eb;
  background: #0f2035;
}
.admin-theme-dark-root .admin-search input,
.admin-theme-dark-root .admin-search input::placeholder,
.admin-theme-dark-root .admin-date-filter select {
  color: #c8d7eb;
  background: transparent;
}
.admin-theme-dark-root .admin-date-filter svg {
  color: #93c5fd;
}
.admin-theme-dark-root .admin-icon-button:hover,
.admin-theme-dark-root .admin-menu-button:hover,
.admin-theme-dark-root .settings-jump-links a:hover {
  border-color: rgba(96,165,250,.55);
  color: #ffffff;
  background: #122943;
}
.admin-theme-dark-root .admin-search-results,
.admin-theme-dark-root .admin-notification-panel,
.admin-theme-dark-root .admin-toast {
  border-color: rgba(148,163,184,.24);
  color: #dbe8fa;
  background: #0c1828;
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.admin-theme-dark-root .admin-search-results a,
.admin-theme-dark-root .admin-notification-item {
  color: #dbe8fa;
}
.admin-theme-dark-root .admin-search-results a:hover,
.admin-theme-dark-root .admin-notification-item:hover,
.admin-theme-dark-root .admin-table tbody tr:hover {
  background: rgba(37,99,235,.12);
}
.admin-theme-dark-root .admin-notification-panel header {
  border-bottom-color: rgba(148,163,184,.2);
  background: linear-gradient(135deg,#0e1d31,#102a47);
}
.admin-theme-dark-root .admin-notification-panel header strong,
.admin-theme-dark-root .admin-notification-item strong {
  color: #f8fbff;
}
.admin-theme-dark-root .admin-notification-panel header small,
.admin-theme-dark-root .admin-notification-empty,
.admin-theme-dark-root .admin-notification-item p,
.admin-theme-dark-root .admin-notification-item small,
.admin-theme-dark-root .admin-search-results small {
  color: #94a8c2;
}
.admin-theme-dark-root .admin-notification-item.is-unread {
  background: rgba(7,94,209,.2);
}
.admin-theme-dark-root .admin-notification-item a,
.admin-theme-dark-root .admin-notification-panel-actions button {
  border-color: rgba(96,165,250,.42);
  color: #93c5fd;
  background: #0f2035;
}
.admin-theme-dark-root .admin-live-banner {
  border-color: rgba(96,165,250,.32);
  color: #dbeafe;
  background: linear-gradient(135deg,rgba(7,94,209,.22),rgba(14,165,233,.12));
}
.admin-theme-dark-root .admin-table th,
.admin-theme-dark-root .admin-table td,
.admin-theme-dark-root .admin-list-intro,
.admin-theme-dark-root .visitor-analytics,
.admin-theme-dark-root .visitor-kpi-grid article {
  border-color: rgba(148,163,184,.2);
}
.admin-theme-dark-root .admin-table-wrap,
.admin-theme-dark-root .admin-main .admin-card > .admin-table {
  background: transparent;
}
.admin-theme-dark-root .admin-body input,
.admin-theme-dark-root .admin-body textarea,
.admin-theme-dark-root .admin-body select {
  border-color: rgba(148,163,184,.32);
  color: #f8fbff;
  background: #0b1728;
}
.admin-theme-dark-root .admin-body select option,
.admin-theme-dark-root .admin-date-filter select option {
  color: #f8fbff;
  background: #0b1728;
}
.admin-theme-dark-root .admin-body input::placeholder,
.admin-theme-dark-root .admin-body textarea::placeholder {
  color: #72839a;
}
.admin-theme-dark-root .admin-body input:focus,
.admin-theme-dark-root .admin-body textarea:focus,
.admin-theme-dark-root .admin-body select:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 4px rgba(96,165,250,.16);
}
.admin-theme-dark-root .admin-body input[type="file"] {
  color: #c8d7eb;
}
.admin-theme-dark-root .admin-body label {
  color: #c2d2e8;
}
.admin-theme-dark-root .admin-body .card,
.admin-theme-dark-root .admin-note,
.admin-theme-dark-root .copy-field input,
.admin-theme-dark-root .job-message,
.admin-theme-dark-root .quick-action-grid a,
.admin-theme-dark-root .admin-row-card,
.admin-theme-dark-root .admin-thumb,
.admin-theme-dark-root .mobile-admin-card {
  border-color: rgba(148,163,184,.22);
  background: #0c1828;
}
.admin-theme-dark-root .job-message p {
  color: #c8d7eb;
}
.admin-theme-dark-root .job-attachment {
  color: #dbeafe;
  border-color: rgba(148,163,184,.22);
  background: rgba(15,23,42,.72);
}
.admin-theme-dark-root .job-attachment-icon {
  background: rgba(37,99,235,.22);
}
.admin-theme-dark-root .job-attachment span:last-child small {
  color: #9fb2ca;
}
.admin-theme-dark-root .job-message-admin {
  border-color: #2563eb;
  background: #075ed1;
}
.admin-theme-dark-root .job-message-admin p,
.admin-theme-dark-root .job-message-admin small {
  color: rgba(255,255,255,.86);
}
.admin-theme-dark-root .job-message-system,
.admin-theme-dark-root .job-message.is-internal {
  border-color: rgba(251,146,60,.32);
  color: #fed7aa;
  background: rgba(124,45,18,.2);
}
.admin-theme-dark-root .job-message-system p,
.admin-theme-dark-root .job-message.is-internal p {
  color: #fed7aa;
}
.admin-theme-dark-root .admin-body .badge,
.admin-theme-dark-root .status-badge {
  color: #bfdbfe;
  background: rgba(37,99,235,.22);
}
.admin-theme-dark-root .status-contacted,
.admin-theme-dark-root .status-pending,
.admin-theme-dark-root .status-draft {
  color: #fed7aa;
  background: rgba(180,83,9,.22);
}
.admin-theme-dark-root .status-completed,
.admin-theme-dark-root .status-approved,
.admin-theme-dark-root .status-closed {
  color: #bbf7d0;
  background: rgba(22,101,52,.24);
}
.admin-theme-dark-root .status-inactive,
.admin-theme-dark-root .status-archived {
  color: #cbd5e1;
  background: rgba(100,116,139,.24);
}
.admin-theme-dark-root .admin-empty {
  border-style: dashed;
  background: rgba(15,32,53,.7);
}
.admin-theme-dark-root .alert-success {
  border-color: rgba(34,197,94,.28);
  color: #bbf7d0;
  background: rgba(22,101,52,.22);
}
.admin-theme-dark-root .alert-error,
.admin-theme-dark-root .error {
  border-color: rgba(248,113,113,.3);
  color: #fecaca;
  background: rgba(127,29,29,.2);
}
.admin-theme-dark-root .tox-tinymce,
.admin-theme-dark-root .tox .tox-toolbar,
.admin-theme-dark-root .tox .tox-toolbar__primary,
.admin-theme-dark-root .tox .tox-edit-area__iframe {
  border-color: rgba(148,163,184,.22) !important;
}

.admin-theme-dark-root .admin-search input,
.admin-theme-dark-root .admin-search input:focus,
.admin-theme-dark-root .admin-date-filter select,
.admin-theme-dark-root .admin-date-filter select:focus {
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.admin-theme-dark-root .admin-alert-list a {
  border-color: rgba(148,163,184,.22);
  color: #c8d7eb;
  background: #0f2035;
}
.admin-theme-dark-root .admin-alert-list a:hover,
.admin-theme-dark-root .admin-alert-list a:focus-visible {
  border-color: rgba(96,165,250,.42);
  background: #122943;
  outline: none;
}
.admin-theme-dark-root .admin-alert-list strong {
  color: #f8fbff;
}
.admin-theme-dark-root .admin-main nav[role="navigation"] p {
  color: #93a7bf;
}
.admin-theme-dark-root .admin-main nav[role="navigation"] a,
.admin-theme-dark-root .admin-main nav[role="navigation"] span[aria-current] span,
.admin-theme-dark-root .admin-main nav[role="navigation"] span[aria-disabled] span {
  border-color: rgba(148,163,184,.24);
  color: #dbeafe;
  background: #10243a;
  box-shadow: none;
}
.admin-theme-dark-root .admin-main nav[role="navigation"] a:hover {
  border-color: rgba(96,165,250,.42);
  background: #15304e;
}
.admin-theme-dark-root .admin-main nav[role="navigation"] span[aria-current] span {
  border-color: #60a5fa;
  color: #fff;
  background: #0b63ce;
}
.admin-theme-dark-root .admin-main nav[role="navigation"] span[aria-disabled] span {
  color: #64748b;
  background: #0b1727;
}

@media (max-width: 720px) {
  .admin-theme-dark-root .admin-table tr {
    border-color: rgba(148,163,184,.22);
    background: #0c1828;
  }
  .admin-theme-dark-root .admin-table tbody tr:hover {
    background: #0c1828;
  }
  .admin-theme-dark-root .admin-table td {
    border-bottom-color: rgba(148,163,184,.18);
  }
}
