/*
 * Drone Nation — identity layer "carte aéronautique".
 * Visual language taken from flight charts and the Israeli flag: chart-paper background with a coordinate grid,
 * flag-blue ink on white, a lighter sky-blue accent (blue & white of the flag only), one engineering sans
 * for titles and text (IBM Plex Sans / Plex Sans Hebrew, 3.5: measured sizes, semibold titles; Karantina stays optional).
 * Flat surfaces: 1px chart lines instead of soft shadows. Loaded after theme.css and the portal stylesheet.
 */

/* ---------- Fonts (self-hosted, OFL) ---------- */
@font-face { font-family: "Karantina"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/karantina-hebrew-400-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Karantina"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/karantina-hebrew-700-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Karantina"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/karantina-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Karantina"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/karantina-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Karantina"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/karantina-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Karantina"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/karantina-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600 800; font-display: swap; src: url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans Hebrew"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/ibm-plex-sans-hebrew-hebrew-400-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "IBM Plex Sans Hebrew"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/ibm-plex-sans-hebrew-hebrew-500-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "IBM Plex Sans Hebrew"; font-style: normal; font-weight: 600 800; font-display: swap; src: url("../fonts/ibm-plex-sans-hebrew-hebrew-600-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }

/* ---------- Tokens ---------- */
:root {
	--nt-display: var(--dn-font);
	--nt-accent: #2F6FD6;          /* sky blue of the flag palette: active marks, focus */
	--nt-ink: var(--dn-text);
	--nt-grid: rgba(0, 56, 184, .07);
	--nt-grid-size: 56px;
	--dn-shadow: none;
	--nt-line: 1px solid var(--dn-border);
}
:root[data-theme="dark"] { --nt-grid: rgba(143, 180, 255, .06); --nt-accent: #8FB4FF; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --nt-grid: rgba(143, 180, 255, .06); --nt-accent: #8FB4FF; } }

body { font-feature-settings: "tnum" 0; font-size: var(--nt-fs, 1rem); }
.dn-num, .dn-hub-link strong, .dn-stat strong, .dn-eco__n, .dn-kpi > strong, .dn-leaderboard__pts, .dn-listing-card__price { font-variant-numeric: tabular-nums; }

/* ---------- Titles: measured, semibold, one family (3.5) ---------- */
h1, h2, h3 { font-weight: 600; letter-spacing: -.015em; }
:lang(he) h1, :lang(he) h2, :lang(he) h3 { letter-spacing: 0; }
.nt-vhero h1, .nt-section__head h2, .nt-section h2, .dn-page h1, .dn-section__head h2, .dn-photo-hero h1, .nt-page-head h1, .nt-404 h1, .dnb-heading, .nt-mission h2, .nt-people h2, .nt-cta-band h2, .nt-banner h2, .nt-photo-band h2, .nt-textblock h2 {
	font-family: var(--nt-display);
	font-weight: 600;
	line-height: 1.15;
	text-wrap: balance;
}
.nt-section__head h2, .nt-section h2, .dn-section__head h2, .nt-mission h2, .nt-people h2, .nt-textblock h2, .nt-banner h2, .nt-photo-band h2 { font-size: clamp(1.55rem, 1.15rem + 1.3vw, 2.2rem); margin: 0 0 10px; }
.dn-page h1, .nt-page-head h1, .dn-photo-hero h1 { font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem); line-height: 1.12; }
.nt-cta-band h2 { font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.1rem); }
h3, .dn-card h3, .dn-card h2 { font-family: var(--dn-font); letter-spacing: -.005em; }
.dn-card h2 { font-size: 1.15rem; }
.dn-lead { font-size: clamp(1.02rem, .98rem + .25vw, 1.15rem); line-height: 1.6; color: var(--dn-muted); }

/* Section heads: start-aligned, the type carries the hierarchy. */
.nt-section__head, .nt-section__head--center, .dn-section__head { text-align: start; }
.nt-section__head--center p, .nt-section__head p, .dn-section__head p { margin-inline: 0; max-inline-size: 62ch; font-size: 1.05rem; }
.nt-section__head { margin-block-end: 32px; }
.nt-section__head--split { align-items: flex-end; }

/* Small lead-in lines: plain text, not pills. */
.nt-eyebrow, .dn-eyebrow { display: block; padding: 0; margin: 0 0 10px; border-radius: 0; background: none; color: var(--dn-primary); font: 600 .78rem/1.4 var(--dn-font); letter-spacing: .08em; text-transform: uppercase; }
:lang(he) .nt-eyebrow, :lang(he) .dn-eyebrow { letter-spacing: 0; font-size: .85rem; }

/* ---------- Chart paper ---------- */
.nt-section--alt, .dn-hero--compact, .dn-section--alt {
	background-color: var(--dn-surface-2);
	background-image: linear-gradient(var(--nt-grid) 1px, transparent 1px), linear-gradient(90deg, var(--nt-grid) 1px, transparent 1px);
	background-size: var(--nt-grid-size) var(--nt-grid-size);
	border-block: var(--nt-line);
}
.dn-hero--compact { padding-block: 56px 40px; margin-block-end: 32px; }
.dn-hero--compact .dn-lead, .dn-hero--compact p { max-inline-size: 64ch; }

/* ---------- Header: the two stripes of the flag ---------- */
.nt-header { border-block-end: 0; box-shadow: none; background-color: var(--dn-surface); background-image: linear-gradient(var(--dn-primary), var(--dn-primary)), linear-gradient(var(--dn-primary), var(--dn-primary)); background-size: 100% 3px, 100% 3px; background-position: 0 100%, 0 calc(100% - 6px); background-repeat: no-repeat; padding-block-end: 9px; }
.nt-header--transparent:not(.is-scrolled) { background-image: none; }
.nt-menu > li > a, .nt-menu__toggle { font-weight: 500; }
.nt-menu > li.is-active > a, .nt-menu > li.is-active > .nt-menu__toggle, .nt-menu a[aria-current="page"] { color: var(--dn-primary); box-shadow: inset 0 -2px 0 var(--nt-accent); }
.nt-sub { border-radius: var(--dn-radius); box-shadow: 0 18px 40px rgba(11, 31, 63, .14); border: var(--nt-line); }

/* ---------- Buttons ---------- */
body .dn-btn { border-radius: var(--nt-btn-radius, 6px); font-weight: 600; letter-spacing: 0; box-shadow: none; }
.dn-btn--primary:hover { background: var(--dn-primary-600); }
.dn-btn--ghost { border-width: 1.5px; border-color: color-mix(in srgb, var(--dn-text) 30%, transparent); }
.dn-btn--lg { min-block-size: 52px; padding-inline: 24px; font-size: 1rem; }

/* ---------- Surfaces: flat, 1px chart lines ---------- */
.dn-card, .nt-audience__card, .nt-people__card, .dn-company-card, .dn-pilot-card, .dn-drone-card, .dn-sector-card, .dn-segment, .dn-eco__tile, .dn-listing-card, .dn-event-card, .dn-group-card, .dn-stat, .nt-post-card, .nt-skywatch__card, .dn-plan, .dn-job-row, .dn-lead-card, .dnb-ibox--card, .dnb-card, .dnb-acc__item {
	box-shadow: none;
	border: var(--nt-line);
	border-radius: var(--dn-radius);
}
.dn-pilot-card:hover, .dn-sector-card:hover, .dn-sector-card:focus-visible, .dn-company-card:hover, .dn-company-card:focus-visible, .dn-drone-card:hover, .dn-drone-card:focus-visible, .dn-segment:hover, .dn-segment:focus-visible, .dn-eco__tile:hover, .dn-logos a:hover, .dn-logos a:focus-visible, a.dn-card:hover, .nt-people__card:hover, .nt-audience__card:hover {
	transform: none;
	box-shadow: none;
	border-color: var(--dn-primary);
}
.dn-card--accent { box-shadow: none; border: 2px solid var(--dn-primary); }

/* Icons: drawn in ink, no tinted bubbles. */
.nt-audience__icon, .dn-sector-card__icon, .dn-roles__icon, .dnb-ibox__icon {
	inline-size: auto; block-size: auto; background: none; border-radius: 0; color: var(--dn-primary); place-items: start; justify-content: start;
}
.nt-audience__icon svg, .dn-sector-card__icon svg, .dn-roles__icon svg { inline-size: 30px; block-size: 30px; stroke-width: 1.5; }

/* Steps: real sequence → numbers set in the display face. */
.dn-path__n { inline-size: auto; block-size: auto; border-radius: 0; background: none; color: var(--dn-primary); font: 600 1.6rem/1 var(--dn-font); letter-spacing: -.02em; justify-content: start; font-variant-numeric: tabular-nums; }

.dn-flow__n { inline-size: auto; block-size: auto; border-radius: 0; background: none; color: var(--dn-primary); font: 600 1.4rem/1 var(--dn-font); place-items: start; font-variant-numeric: tabular-nums; }

/* Directories: one chart table instead of a wall of floating cards. */
.dn-grid--companies, .dn-grid--sectors { gap: 0; border-block-start: var(--nt-line); border-inline-start: var(--nt-line); border-radius: var(--dn-radius); overflow: hidden; background: var(--dn-surface); }
.dn-grid--companies > *, .dn-grid--sectors > * { border: 0 !important; border-radius: 0 !important; border-inline-end: var(--nt-line) !important; border-block-end: var(--nt-line) !important; }
.dn-grid--companies > *:hover, .dn-grid--sectors > *:hover { background: var(--dn-surface-2); }

/* Photos: square-ish corners, no glow. */
.nt-mission__photo img, .nt-mission__photo, .dn-mission__photo img { border-radius: var(--dn-radius); box-shadow: none; }

/* Big figures: display face. */
.dn-hub-link strong, .dn-eco__n, .dn-stat strong { font: 600 clamp(1.6rem, 1.3rem + 1vw, 2.1rem)/1.1 var(--dn-font); letter-spacing: -.02em; color: var(--dn-text); }
.dn-eco__n { color: var(--dn-primary); }

/* ---------- Video hero ---------- */
.nt-vhero h1 { font-size: clamp(2.2rem, 1.4rem + 2.8vw, 3.6rem); line-height: 1.08; margin: 0 0 18px; max-inline-size: 18ch; letter-spacing: -.02em; }
:lang(he) .nt-vhero h1 { letter-spacing: 0; }
.nt-vhero__lead { max-inline-size: 46ch; font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); line-height: 1.55; }
.nt-vhero__eyebrow { background: none; padding: 0; color: #CFE0FF; font-weight: 500; }
.nt-vhero__quick { gap: 6px 22px; }
.nt-vhero__quick a { background: none; border: 0; border-radius: 0; padding: 6px 0; color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .45); text-underline-offset: 5px; }
.nt-vhero__quick a:hover { text-decoration-color: #fff; }

/* Figures under the hero: one strip of chart cells instead of floating cards. */
.nt-vhero__stats { margin-block-start: 0; }
.nt-vhero__stats > * { box-shadow: none; }
.nt-vhero__stats .dn-hub-links { gap: 0; background: var(--dn-surface); border: var(--nt-line); border-block-start: 0; border-radius: 0 0 var(--dn-radius) var(--dn-radius); }
.nt-vhero__stats .dn-hub-link { border: 0; border-radius: 0; border-inline-start: var(--nt-line); padding: 22px 24px; background: transparent; display: grid; gap: 8px; }
.nt-vhero__stats .dn-hub-link:first-child { border-inline-start: 0; }
.nt-vhero__stats .dn-hub-link:hover { background: var(--dn-surface-2); }
.nt-vhero__stats .dn-hub-link span { color: var(--dn-muted); font-size: .92rem; }

/* ---------- People photo cards ---------- */
.nt-people__card { overflow: hidden; }
.nt-people__body strong { font: 600 1.25rem/1.25 var(--dn-font); }

/* ---------- Logos wall: chart cells ---------- */
.dn-logos { gap: 0; border-block-start: var(--nt-line); border-inline-start: var(--nt-line); }
.dn-logos a { border-radius: 0; border: 0; border-inline-end: var(--nt-line); border-block-end: var(--nt-line); box-shadow: none; }

/* ---------- Grouped figures read like one chart table (shared 1px lines, no floating cards) ---------- */
.dn-eco, .dn-path, .dn-roles { gap: 0; border-block-start: var(--nt-line); border-inline-start: var(--nt-line); border-radius: var(--dn-radius); overflow: hidden; background: var(--dn-surface); }
.dn-eco > *, .dn-path > *, .dn-roles > * { margin: 0; border: 0 !important; border-radius: 0 !important; border-inline-end: var(--nt-line) !important; border-block-end: var(--nt-line) !important; background: transparent; box-shadow: none; padding: 22px 22px 24px; }
.dn-eco > a:hover, .dn-roles > a:hover { background: var(--dn-surface-2); }
.dn-eco, .dn-path, .dn-roles { border-inline-end: 0; }

/* ---------- Badges & chips ---------- */
.dn-badge, .dn-pill, .dn-chips span, .dn-tags span { border-radius: 4px; }
.dn-badge--urgent { background: color-mix(in srgb, var(--nt-accent) 12%, transparent); color: var(--nt-accent); }

/* ---------- CTA band ---------- */
.nt-cta-band { background: var(--dn-primary); background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: var(--nt-grid-size) var(--nt-grid-size); text-align: start; }
.nt-cta-band .nt-container { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; }

/* ---------- Footer ---------- */
.nt-footer h2 { font-family: var(--dn-font); font-size: .95rem; font-weight: 600; }
body.nt-footer--dark .nt-footer { background: #0B1F3F; color: #C9D6EA; }
body.nt-footer--dark .nt-footer a { color: #C9D6EA; }
body.nt-footer--dark .nt-footer a:hover { color: #fff; }

/* ---------- Builder widgets in the same language ---------- */
.dnb-ibox__icon { inline-size: auto; block-size: auto; }
.dnb-counter__n { font: 600 clamp(1.9rem, 1.5rem + 1.2vw, 2.5rem)/1.05 var(--dn-font); letter-spacing: -.02em; }
.dnb-notice { border-radius: var(--dn-radius); }

/* ---------- Focus & motion ---------- */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--nt-accent); outline-offset: 2px; }
@media (max-width: 760px) {
	.nt-vhero__stats .dn-hub-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nt-vhero__stats .dn-hub-link:nth-child(odd) { border-inline-start: 0; }
	.nt-vhero__stats .dn-hub-link:nth-child(n+3) { border-block-start: var(--nt-line); }
	.nt-cta-band .nt-container { align-items: flex-start; }
}

/* Members area (v3.4): compact footer, the navigation is in the page. */
body.dn-app .nt-footer__grid { display: none; }
body.dn-app .nt-footer .nt-footer__legal { padding-block-start: 18px; }
body.dn-app { --nt-container: 1440px; }
body.dn-app .dn-airspace__inner { width: min(1440px, 100% - 32px); }
