/** Flight service — aviation operations visual system. */

#flights-main {
	--flight-navy: #071c31;
	--flight-deep: #0b2a47;
	--flight-blue: #176b9f;
	--flight-sky: #dff3fb;
	--flight-cyan: #6cc8e8;
	--flight-gold: #e6ad44;
	--flight-gold-dark: #b97a13;
	--flight-paper: #f5f1e9;
	--flight-white: #fbfdff;
	--flight-ink: #102b3e;
	--flight-muted: #5b6d79;
	--flight-line: rgba(16, 43, 62, .15);
	background: var(--flight-white);
	color: var(--flight-ink);
	font-family: "Tajawal", sans-serif;
	line-height: 1.75;
	overflow: hidden;
}

#flights-main *, #flights-main *::before, #flights-main *::after { box-sizing: border-box; }
#flights-main h1, #flights-main h2, #flights-main h3, #flights-main p { margin-top: 0; }
#flights-main h1, #flights-main h2, #flights-main h3 { color: inherit; background: none; -webkit-text-fill-color: currentColor; letter-spacing: -.025em; }
#flights-main a { color: inherit; }
#flights-main button, #flights-main input, #flights-main select { font: inherit; }
#flights-main :focus-visible { outline: 3px solid #ffd277; outline-offset: 4px; }
.ttf-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.ttf-section { padding: clamp(72px, 8vw, 112px) 0; }
.ttf-section--paper { background: var(--flight-paper); }
.ttf-kicker { color: var(--flight-gold-dark); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 12px; }
.ttf-heading { max-width: 790px; margin-bottom: 42px; }
.ttf-heading h2, .ttf-bar h2, .ttf-ticket-grid h2, .ttf-rights h2, .ttf-request h2, .ttf-faq h2, .ttf-final h2 { font-size: clamp(2rem, 4vw, 3.55rem); line-height: 1.14; margin-bottom: 18px; }
.ttf-heading > p:last-child, .ttf-bar p, .ttf-ticket-grid > div > p, .ttf-rights p, .ttf-faq header p { color: var(--flight-muted); font-size: 1.08rem; }
.ttf-heading--split { max-width: none; display: grid; grid-template-columns: 1.05fr .95fr; align-items: end; gap: 70px; }

.ttf-breadcrumb { background: #061725; color: #dbeaf3; border-bottom: 1px solid rgba(255,255,255,.12); }
.ttf-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 12px 0; font-size: .88rem; }
.ttf-breadcrumb li:not(:last-child)::after { content: "/"; opacity: .45; margin-inline-start: 8px; }
.ttf-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }

.ttf-hero { min-height: 720px; position: relative; display: grid; align-items: center; overflow: hidden; color: #fff; background: radial-gradient(circle at 15% 20%, rgba(39,134,187,.36), transparent 33%), linear-gradient(135deg, #071a2c, #0a3152 62%, #0d466b); }
.ttf-hero::before { content: ""; position: absolute; width: 640px; height: 640px; left: -180px; bottom: -390px; border: 1px solid rgba(108,200,232,.35); border-radius: 50%; box-shadow: 0 0 0 80px rgba(108,200,232,.04), 0 0 0 160px rgba(108,200,232,.025); }
.ttf-hero__grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(90deg, transparent, #000); }
.ttf-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 70px; padding-block: 84px; }
.ttf-hero .ttf-kicker { color: #ffd179; }
.ttf-hero h1 { color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: clamp(3rem, 6.7vw, 5.6rem); line-height: 1.03; margin-bottom: 24px; max-width: 820px; }
.ttf-hero__lead { color: #e0edf5 !important; font-size: clamp(1.08rem, 2vw, 1.3rem); max-width: 770px; }
.ttf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ttf-btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 23px; border-radius: 7px; text-decoration: none; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.ttf-btn:hover { transform: translateY(-2px); }
.ttf-btn--gold { color: #152536 !important; background: var(--flight-gold); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.ttf-btn--gold:hover { background: #f3c061; }
.ttf-btn--line { color: #fff !important; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.05); }
.ttf-btn--dark { color: #fff !important; background: var(--flight-deep); margin-top: 14px; }
.ttf-hero__trust { display: flex; flex-wrap: wrap; gap: 10px 24px; list-style: none; padding: 22px 0 0; margin: 32px 0 0; border-top: 1px solid rgba(255,255,255,.2); color: #dbeaf3 !important; }
.ttf-hero__trust li { color: #dbeaf3 !important; }
.ttf-hero__trust li::before { content: "✓"; color: #ffd179; font-weight: 800; margin-inline-end: 7px; }

.ttf-route-card { padding: 32px; color: var(--flight-ink); background: rgba(251,253,255,.97); border-radius: 4px 28px 28px 28px; box-shadow: 0 30px 80px rgba(0,0,0,.3); border-top: 5px solid var(--flight-gold); }
.ttf-route-card__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid var(--flight-line); }
.ttf-route-card__top span { color: var(--flight-muted); font-weight: 700; }
.ttf-route-card__top b { color: var(--flight-blue); font-size: 1.8rem; letter-spacing: .06em; }
.ttf-route-card__route { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; gap: 12px; padding: 28px 0; text-align: center; }
.ttf-route-card__route strong, .ttf-route-card__route small { display: block; }
.ttf-route-card__route strong { font-size: 1.18rem; }
.ttf-route-card__route small { color: var(--flight-muted); }
.ttf-route-card__line { height: 1px; position: relative; background: #7fa2b8; }
.ttf-route-card__line::before, .ttf-route-card__line::after { content: ""; position: absolute; top: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--flight-blue); }
.ttf-route-card__line::before { right: 0; }.ttf-route-card__line::after { left: 0; }
.ttf-route-card__line span { position: absolute; top: -16px; left: calc(50% - 16px); width: 32px; height: 32px; display: grid; place-items: center; color: #fff; background: var(--flight-blue); border-radius: 50%; transform: rotate(-15deg); }
.ttf-route-card dl, .ttf-route-card dd { margin: 0; }
.ttf-route-card dl > div { display: grid; grid-template-columns: 78px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid var(--flight-line); }
.ttf-route-card dt { color: var(--flight-muted); font-size: .82rem; font-weight: 700; }.ttf-route-card dd { font-weight: 700; }

.ttf-bar { padding: 38px 0; background: var(--flight-sky); border-bottom: 1px solid var(--flight-line); }
.ttf-bar__grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 70px; }
.ttf-bar h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); margin: 0; }.ttf-bar p { margin: 0; }

.ttf-mode-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ttf-mode-grid article { min-height: 345px; display: flex; flex-direction: column; padding: 34px; background: #fff; border: 1px solid var(--flight-line); border-radius: 22px 22px 4px 22px; box-shadow: 0 12px 36px rgba(8,39,63,.06); }
.ttf-mode-grid article > span { color: rgba(23,107,159,.16); font-size: 3.2rem; line-height: 1; font-weight: 800; }
.ttf-mode-grid h3 { font-size: 1.45rem; margin: 16px 0 10px; }.ttf-mode-grid p { color: var(--flight-muted); }
.ttf-mode-grid ul { padding-right: 21px; }.ttf-mode-grid a { display: inline-flex; min-height: 44px; align-items: center; margin-top: auto; color: var(--flight-blue) !important; font-weight: 800; text-underline-offset: .25em; }

.ttf-compare { border: 1px solid var(--flight-line); border-radius: 22px; overflow: hidden; }
.ttf-compare__labels, .ttf-compare article { display: grid; grid-template-columns: .58fr 1.42fr .8fr; gap: 28px; align-items: center; padding: 20px 26px; }
.ttf-compare__labels { color: #dbeaf3; background: var(--flight-deep); font-size: .8rem; font-weight: 800; }
.ttf-compare article { border-top: 1px solid var(--flight-line); background: #fff; }
.ttf-compare article:nth-child(odd) { background: #f5fafc; }
.ttf-compare h3, .ttf-compare p, .ttf-compare strong { margin: 0; }.ttf-compare h3 { font-size: 1.1rem; }.ttf-compare p { color: var(--flight-muted); }.ttf-compare strong { color: #234f69; }

.ttf-section--night { position: relative; color: #fff; background: var(--flight-navy); }
.ttf-section--night h2, .ttf-section--night h3, .ttf-section--night strong { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.ttf-heading--light .ttf-kicker { color: #ffd179 !important; }.ttf-heading--light > p:last-child { color: #c9dce8 !important; }
.ttf-route-types { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ttf-route-types article { padding: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px 24px 4px 24px; background: linear-gradient(145deg, rgba(30,100,141,.35), rgba(255,255,255,.045)); }
.ttf-route-types__code { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.18); }
.ttf-route-types__code span { color: var(--flight-cyan); font-size: 1.8rem; font-weight: 800; letter-spacing: .06em; }.ttf-route-types__code b { color: #ffd179; }
.ttf-route-types h3 { font-size: 1.8rem; margin: 25px 0 12px; }.ttf-route-types p, .ttf-route-types li { color: #d0e0e9 !important; }.ttf-route-types ul { padding-right: 22px; }
.ttf-night-note { margin: 22px 0 0; padding: 22px 26px; color: #e0edf4 !important; border-right: 4px solid var(--flight-gold); background: rgba(255,255,255,.06); }

.ttf-ticket-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: center; }
.ttf-text-link { display: inline-flex; min-height: 44px; align-items: center; color: var(--flight-blue) !important; font-weight: 800; text-underline-offset: .25em; }
.ttf-ticket { overflow: hidden; background: #fff; border: 1px solid var(--flight-line); border-radius: 4px 24px 24px 24px; box-shadow: 0 18px 55px rgba(8,39,63,.09); }
.ttf-ticket header { display: flex; align-items: center; justify-content: space-between; padding: 22px 28px; color: #fff; background: var(--flight-deep); }.ttf-ticket header span { color: var(--flight-cyan); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.ttf-ticket ul { list-style: none; margin: 0; padding: 0; }.ttf-ticket li { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 20px 28px; border-top: 1px dashed #b9c8d1; }.ttf-ticket li > span { color: var(--flight-gold-dark); font-weight: 800; }.ttf-ticket li strong { display: block; }.ttf-ticket li p { margin: 3px 0 0; color: var(--flight-muted); }

.ttf-change-flow { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.ttf-change-flow::before { content: ""; position: absolute; right: 8%; left: 8%; top: 26px; height: 2px; background: #b4c9d5; }
.ttf-change-flow li { position: relative; padding: 0 12px; }.ttf-change-flow li > span { width: 52px; height: 52px; position: relative; z-index: 1; display: grid; place-items: center; color: #fff; background: var(--flight-blue); border-radius: 50%; font-weight: 800; box-shadow: 0 0 0 7px var(--flight-white); }.ttf-change-flow h3 { font-size: 1.1rem; margin: 24px 0 8px; }.ttf-change-flow p { color: var(--flight-muted); font-size: .94rem; }
.ttf-security-note { margin: 32px 0 0; padding: 22px 25px; border: 1px solid #efc99c; border-radius: 14px; background: #fff6e8; }

.ttf-rights { background: var(--flight-sky); }
.ttf-rights__grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 70px; }
.ttf-rights aside { padding: 35px; color: #fff; background: var(--flight-deep); border-radius: 4px 25px 25px 25px; box-shadow: 0 18px 50px rgba(8,39,63,.16); }.ttf-rights aside > span { color: #ffd179; font-size: .8rem; font-weight: 800; }.ttf-rights aside h3 { color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: 1.55rem; margin: 9px 0 18px; }.ttf-rights aside ol { padding-right: 21px; }.ttf-rights aside li { color: #dceaf2 !important; margin-bottom: 9px; }.ttf-rights aside small { display: block; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.16); color: #b9d0dd; }

.ttf-request { color: #fff; background: linear-gradient(135deg, #071d31, #0d3f63); }
.ttf-request__grid { display: grid; grid-template-columns: .67fr 1.33fr; align-items: start; gap: 65px; }.ttf-request .ttf-kicker { color: #ffd179 !important; }.ttf-request h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }.ttf-request__copy > p, .ttf-request__copy li { color: #d2e3ed !important; }
.ttf-builder { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding: 30px; color: var(--flight-ink); background: #fbfdff; border-radius: 24px 24px 4px 24px; }
.ttf-field { display: flex; flex-direction: column; gap: 6px; }.ttf-field--wide { grid-column: 1 / -1; }.ttf-field label { font-size: .85rem; font-weight: 800; }.ttf-field input, .ttf-field select { width: 100%; min-height: 50px; padding: 10px 12px; color: var(--flight-ink); background: #fff; border: 1px solid #b6c8d3; border-radius: 8px; }.ttf-field input::placeholder { color: #6e818d; opacity: 1; }
.ttf-builder__submit, .ttf-builder__status { grid-column: 1 / -1; }.ttf-builder__submit .ttf-btn { width: 100%; margin-top: 5px; }.ttf-builder__status { margin: 0; color: var(--flight-muted); font-size: .86rem; }

.ttf-process { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }.ttf-process li { padding: 28px; background: var(--flight-paper); border-top: 4px solid var(--flight-blue); }.ttf-process span { color: var(--flight-gold-dark); font-size: 1.7rem; font-weight: 800; }.ttf-process h3 { margin: 10px 0 6px; }.ttf-process p { margin: 0; color: var(--flight-muted); }
.ttf-related { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-top: 28px; }.ttf-related a { min-height: 105px; display: flex; flex-direction: column; justify-content: center; padding: 20px; border: 1px solid var(--flight-line); border-radius: 14px; text-decoration: none; }.ttf-related a:hover { border-color: var(--flight-blue); }.ttf-related span { color: var(--flight-blue); font-size: .78rem; font-weight: 800; }

.ttf-faq { background: var(--flight-paper); }.ttf-faq__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 65px; }.ttf-faq header { position: sticky; top: 100px; align-self: start; }.ttf-faq__list details { border-bottom: 1px solid var(--flight-line); }.ttf-faq__list summary { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 0; cursor: pointer; list-style: none; font-weight: 800; }.ttf-faq__list summary::-webkit-details-marker { display: none; }.ttf-faq__list summary span { width: 24px; height: 24px; flex: 0 0 24px; position: relative; }.ttf-faq__list summary span::before, .ttf-faq__list summary span::after { content: ""; position: absolute; top: 11px; right: 3px; width: 18px; height: 2px; background: var(--flight-ink); }.ttf-faq__list summary span::after { transform: rotate(90deg); transition: transform .2s ease; }.ttf-faq__list details[open] summary span::after { transform: rotate(0); }.ttf-faq__list details div { padding-bottom: 20px; color: var(--flight-muted); }

.ttf-final { padding: 75px 0; color: #fff; background: var(--flight-navy); }.ttf-final__card { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 50px; padding: 44px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px 24px 4px 24px; background: linear-gradient(135deg, #0d3858, #092640); }.ttf-final .ttf-kicker { color: #ffd179 !important; }.ttf-final h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; margin-bottom: 12px; }.ttf-final p { color: #d7e7f0 !important; margin-bottom: 0; }.ttf-final .ttf-actions { justify-content: flex-end; margin: 0; }
.ttf-review { max-width: 760px; margin: 100px auto; padding: 40px 20px; }

@media (max-width: 980px) {
	.ttf-hero__layout, .ttf-bar__grid, .ttf-ticket-grid, .ttf-rights__grid, .ttf-request__grid, .ttf-faq__grid { grid-template-columns: 1fr; gap: 38px; }
	.ttf-hero { min-height: auto; }.ttf-hero__layout { padding-block: 70px; }.ttf-route-card { max-width: 600px; }
	.ttf-heading--split { grid-template-columns: 1fr; gap: 10px; }.ttf-mode-grid { grid-template-columns: 1fr 1fr; }.ttf-change-flow { grid-template-columns: 1fr 1fr; }.ttf-change-flow::before { display: none; }.ttf-faq header { position: static; }.ttf-related { grid-template-columns: 1fr 1fr; }.ttf-final__card { grid-template-columns: 1fr; }.ttf-final .ttf-actions { justify-content: flex-start; }
}

@media (max-width: 680px) {
	.ttf-shell { width: min(100% - 28px, 1180px); }.ttf-section { padding: 64px 0; }.ttf-hero h1 { font-size: clamp(2.65rem, 14vw, 4.15rem); }.ttf-hero__trust { display: grid; }.ttf-route-card { padding: 24px 19px; }.ttf-route-card__route { grid-template-columns: 1fr 55px 1fr; }
	.ttf-mode-grid, .ttf-route-types, .ttf-builder, .ttf-process, .ttf-related, .ttf-change-flow { grid-template-columns: 1fr; }.ttf-mode-grid article { min-height: auto; }.ttf-compare__labels { display: none; }.ttf-compare article { grid-template-columns: 1fr; gap: 8px; padding: 22px; }.ttf-field--wide, .ttf-builder__submit, .ttf-builder__status { grid-column: 1; }.ttf-final__card { padding: 30px 22px; }.ttf-actions .ttf-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) { #flights-main *, #flights-main *::before, #flights-main *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
