
:root{--navy:#061a33;--navy2:#0b2749;--orange:#ff7a00;--orange2:#ff9a2f;--ink:#10243d;--muted:#66758a;--line:#dfe6ee;--bg:#f6f8fb;--white:#fff;--green:#20b358;--shadow:0 14px 36px rgba(4,28,55,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1180px,calc(100% - 34px));margin:auto}.topbar{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;min-width:max-content}.logo{font-weight:900;letter-spacing:-2px;font-size:31px}.logo .za{color:var(--orange)}.tag-mini{font-size:9px;letter-spacing:1.1px;text-transform:uppercase;opacity:.8;margin-top:-6px}.navlinks{display:flex;gap:24px;font-weight:650;font-size:14px;margin-left:auto}.navlinks a:hover{color:var(--orange)}.nav-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 18px;font-weight:750;border:1px solid transparent;cursor:pointer;font:inherit}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:#e96d00}.btn-outline{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}.btn-light{background:#fff;border-color:var(--line);color:var(--ink)}.mobile-toggle{display:none;margin-left:auto;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 11px;font-size:20px}.hero{position:relative;color:#fff;background:radial-gradient(circle at 77% 32%,rgba(255,126,21,.65),transparent 19%),linear-gradient(112deg,#071a31 0%,#0c2e53 48%,#071a31 100%);overflow:hidden}.hero:after{content:"";position:absolute;right:-80px;top:10px;width:650px;height:340px;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:rotate(-10deg);box-shadow:0 0 0 40px rgba(255,255,255,.018),0 0 0 80px rgba(255,255,255,.012)}.hero-inner{position:relative;z-index:2;padding:55px 0 48px}.eyebrow{font-size:13px;font-weight:800;color:var(--orange2);text-transform:uppercase;letter-spacing:1.6px}.hero h1,.page-hero h1{font-size:clamp(38px,6vw,68px);line-height:1.02;margin:10px 0 14px;letter-spacing:-2.4px;max-width:760px}.hero p{max-width:640px;font-size:19px;color:#dce6f2}.search-shell{margin-top:28px;background:rgba(4,20,39,.70);border:1px solid rgba(255,255,255,.17);padding:12px;border-radius:18px;backdrop-filter:blur(10px);box-shadow:var(--shadow)}.trip-tabs{display:flex;gap:6px;margin-bottom:10px}.trip-tabs button{border:0;background:#0a2a4c;color:#dce6f2;padding:9px 16px;border-radius:8px;font-weight:700}.trip-tabs button.active{background:var(--orange);color:#fff}.search-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr .8fr .9fr auto;background:#fff;border-radius:12px;overflow:hidden;color:var(--ink)}.field{padding:13px 15px;border-right:1px solid var(--line)}.field label{display:block;font-size:10px;font-weight:850;letter-spacing:1px;color:#6d7886}.field select,.field input{border:0;background:transparent;width:100%;font:inherit;font-weight:650;outline:none;color:var(--ink);padding-top:4px}.search-grid .btn{border-radius:0;padding:0 25px}.trust-strip{display:flex;gap:26px;margin-top:18px;color:#d5deea;font-size:13px;flex-wrap:wrap}.trust-strip span{display:flex;align-items:center;gap:7px}.section{padding:54px 0}.section.white{background:#fff}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-title h2{font-size:31px;letter-spacing:-1px;margin:0}.section-title p{margin:0;color:var(--muted);max-width:650px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.airport-card,.route-card,.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 5px 14px rgba(0,0,0,.035)}.airport-visual{height:128px;padding:18px;color:#fff;background:linear-gradient(135deg,#0e365f,#1f628f);position:relative;overflow:hidden}.airport-visual:after{content:"✈";position:absolute;right:18px;bottom:-15px;font-size:78px;opacity:.18;transform:rotate(-15deg)}.airport-code{font-size:30px;font-weight:900}.airport-card .body,.route-card .body,.content-card .body{padding:16px}.link-orange{color:var(--orange);font-weight:800}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.route-card .route-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:23px;font-weight:900}.route-card .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pill{font-size:11px;background:#eef3f8;border-radius:999px;padding:5px 9px;color:#496078;font-weight:700}.route-card .price{color:var(--orange);font-weight:850;margin-top:14px}.split{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 6px 20px rgba(5,31,58,.05)}.map{height:330px;border-radius:15px;background:radial-gradient(circle at 48% 66%,rgba(255,122,0,.75) 0 5px,transparent 6px),linear-gradient(145deg,#09294a,#06172c);position:relative;overflow:hidden}.map:before{content:"JNB";position:absolute;left:46%;top:68%;color:#fff;font-weight:900}.map .city{position:absolute;color:#fff;font-size:12px}.map .city:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;margin-right:5px}.budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.budget-grid select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.result-box{margin-top:14px;background:#f7f9fc;border:1px solid var(--line);padding:14px;border-radius:12px;color:var(--muted)}.stats{background:var(--navy);color:#fff;padding:28px 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:10px 20px;border-right:1px solid rgba(255,255,255,.18)}.stat strong{font-size:26px;display:block}.page-hero{background:linear-gradient(115deg,var(--navy),#103a67);color:#fff;padding:58px 0 42px}.page-hero p{max-width:750px;color:#d7e3ef;font-size:18px}.crumbs{font-size:13px;color:#bfcddd;margin-bottom:16px}.crumbs a{color:#fff}.route-headline{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.route-code{font-size:17px;font-weight:900;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:9px}.snapshot{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:-24px;position:relative;z-index:3}.snap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow)}.snap span{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:800}.snap strong{display:block;margin-top:4px;font-size:15px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px}.article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}.article h2{font-size:28px;margin-top:34px;letter-spacing:-.5px}.article h2:first-child{margin-top:0}.article h3{margin-top:24px}.article p,.article li{color:#44566b}.article table{width:100%;border-collapse:collapse;margin:18px 0}.article td,.article th{padding:12px;border-bottom:1px solid var(--line);text-align:left}.article th{background:#f7f9fc}.sidebar{display:flex;flex-direction:column;gap:16px}.sticky{position:sticky;top:95px}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{font-weight:800;cursor:pointer}.hub-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.hub-link{background:#fff;border:1px solid var(--line);padding:18px;border-radius:14px}.hub-link strong{display:block}.hub-link span{font-size:13px;color:var(--muted)}.footer{background:#041426;color:#c8d4e2;padding:46px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:28px}.footer h4{color:#fff;margin:0 0 12px}.footer a{display:block;margin:8px 0;font-size:14px}.footer a:hover{color:var(--orange)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.notice{font-size:12px;color:#718098}.search-results{position:absolute;z-index:99;background:#fff;color:var(--ink);width:min(720px,calc(100vw - 34px));border-radius:12px;box-shadow:var(--shadow);padding:8px;display:none}.search-results.show{display:block}.search-result{display:flex;justify-content:space-between;padding:11px 12px;border-radius:8px}.search-result:hover{background:#f2f6fa}.floating-wa{position:fixed;right:18px;bottom:18px;background:#1fb55b;color:#fff;padding:13px 16px;border-radius:999px;font-weight:850;z-index:40;box-shadow:var(--shadow)}
@media(max-width:1000px){.navlinks{display:none}.navlinks.open{position:absolute;display:flex;flex-direction:column;left:0;right:0;top:76px;background:var(--navy);padding:20px 30px}.mobile-toggle{display:block}.nav-actions .btn-outline{display:none}.search-grid{grid-template-columns:1fr 1fr}.search-grid .btn{min-height:52px;border-radius:0}.cards{grid-template-columns:repeat(2,1fr)}.route-grid{grid-template-columns:repeat(2,1fr)}.split,.content-layout{grid-template-columns:1fr}.snapshot{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.sticky{position:static}}
@media(max-width:650px){.container{width:min(100% - 22px,1180px)}.nav{height:66px}.logo{font-size:25px}.tag-mini{display:none}.hero-inner{padding:36px 0}.hero h1,.page-hero h1{font-size:40px;letter-spacing:-1.4px}.hero p,.page-hero p{font-size:16px}.search-grid{grid-template-columns:1fr}.field{border-right:0;border-bottom:1px solid var(--line)}.trip-tabs{overflow:auto}.trust-strip{gap:12px}.cards,.route-grid,.hub-list{grid-template-columns:1fr}.split{grid-template-columns:1fr}.budget-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.snapshot{grid-template-columns:1fr 1fr;margin-top:18px}.section{padding:40px 0}.section-title{align-items:start;flex-direction:column}.section-title h2{font-size:27px}.footer-grid{grid-template-columns:1fr}.article{padding:22px}.floating-wa{font-size:0}.floating-wa:after{content:'WhatsApp';font-size:13px}.nav-actions{display:none}}

/* Route intelligence layer */
.route-intelligence{margin-top:38px;border-top:1px solid var(--line);padding-top:10px}.intel-header{padding:18px 0 4px}.intel-header h2{margin:8px 0 8px}.intel-header p{margin-top:0}.intel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.intel-card{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcfe);border-radius:16px;padding:20px}.intel-card h3{margin:5px 0 9px}.intel-icon{width:38px;height:38px;border-radius:10px;background:#eef4fa;display:grid;place-items:center;font-weight:900;color:var(--navy);font-size:20px}.direct-card{border-top:3px solid var(--orange)}.status-line{display:flex;align-items:center;gap:8px;background:#f7f9fc;border-radius:10px;padding:10px 12px;font-size:13px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--orange)}.connection-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.connection-chip{padding:6px 9px;border-radius:999px;background:#eef3f8;font-size:12px;font-weight:750;color:#425a73}.readiness-card{display:grid;grid-template-columns:1.45fr .8fr;gap:20px;background:var(--navy);color:#fff;border-radius:17px;padding:23px;margin:18px 0}.readiness-card h3{font-size:24px;margin:7px 0}.readiness-card p{color:#d8e4ef}.readiness-list{display:grid;gap:8px;align-content:center}.readiness-list span{background:rgba(255,255,255,.08);padding:8px 10px;border-radius:9px;font-size:13px}.intent-section{margin-top:30px}.intent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.intent-card{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:13px}.intent-card span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:850}.intent-card strong{display:block;margin-top:3px;font-size:14px}.micro-note{font-size:12px!important;color:#718098!important}.enhanced-faq{margin-top:28px;border-top:1px solid var(--line)}.airline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.airline-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.airline-code{display:inline-grid;place-items:center;min-width:42px;height:34px;border-radius:9px;background:var(--navy);color:#fff;font-weight:900;margin-bottom:9px}.airline-card h3{margin:0 0 6px}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.profile-fact{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:14px}.profile-fact span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:850;display:block}.profile-fact strong{display:block;margin-top:3px}.country-readiness{border-left:4px solid var(--orange);padding:18px;background:#fff9f3;border-radius:10px;margin:20px 0}
@media(max-width:850px){.intel-grid,.readiness-card{grid-template-columns:1fr}.airline-grid{grid-template-columns:repeat(2,1fr)}.profile-facts{grid-template-columns:1fr 1fr}}@media(max-width:600px){.intent-grid,.airline-grid,.profile-facts{grid-template-columns:1fr}}

.destination-intel{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}
.intel-card{border:1px solid #dce4ec;border-radius:14px;padding:18px;background:#fff}
.intel-card small{display:block;text-transform:uppercase;letter-spacing:.06em;color:#66788a;margin-bottom:6px}
.intel-card strong{color:#061a33}
.destination-section{margin:28px 0}
.route-origin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.planning-note{background:#f5f8fb;border-left:4px solid #ff7900;padding:16px 18px;border-radius:8px}
@media(max-width:800px){.destination-intel{grid-template-columns:1fr 1fr}.route-origin-grid{grid-template-columns:1fr}}
@media(max-width:480px){.destination-intel{grid-template-columns:1fr}}

.fare-intel{margin:28px 0}
.fare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.tool-card{border:1px solid #dce4ec;border-radius:16px;padding:20px;background:#fff}
.tool-card h3{margin-top:0}
.placeholder-chart{display:flex;align-items:flex-end;gap:8px;height:120px;padding:14px 0}
.placeholder-bar{flex:1;background:#e7edf3;border-radius:5px 5px 0 0;min-height:18px}
.placeholder-bar:nth-child(2n){height:62%}.placeholder-bar:nth-child(3n){height:82%}.placeholder-bar:nth-child(4n){height:48%}.placeholder-bar:nth-child(5n){height:72%}.placeholder-bar:nth-child(6n){height:56%}
.muted-chip{display:inline-block;padding:5px 9px;border-radius:999px;background:#f1f4f7;color:#637282;font-size:.82rem}
.calc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.calc-grid label{font-size:.82rem;color:#617284;font-weight:700}
.calc-grid input,.calc-grid select{width:100%;padding:11px 12px;border:1px solid #cfd9e3;border-radius:10px;margin-top:5px}
.calc-result{margin-top:16px;padding:16px;border-radius:12px;background:#061a33;color:#fff}
.calc-result strong{font-size:1.5rem}
.compare-table{width:100%;border-collapse:collapse;margin-top:12px}
.compare-table th,.compare-table td{padding:11px;border-bottom:1px solid #e5ebf0;text-align:left;vertical-align:top}
.score{font-weight:800}
.budget-toolbar{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end}
.budget-results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.budget-card{border:1px solid #dce4ec;border-radius:14px;padding:16px;background:#fff}
.budget-card small{color:#6c7b8a}
.budget-band{font-weight:800;color:#061a33;margin:8px 0}
.info-warning{font-size:.9rem;color:#66788a}
@media(max-width:900px){.fare-grid,.budget-results{grid-template-columns:1fr 1fr}.budget-toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fare-grid,.budget-results,.calc-grid,.budget-toolbar{grid-template-columns:1fr}.compare-table{font-size:.9rem}}

/* Live booking integrations */
.network-strip{background:#031426;color:#d9e5ef;font-size:.86rem;padding:8px 0;text-align:center}
.network-strip a{color:#fff;text-decoration:underline}
.booking-provider-note{display:flex;gap:12px;align-items:flex-start;background:#fff7ef;border:1px solid #ffd4b8;border-left:4px solid #ff7a00;padding:14px 16px;border-radius:10px;margin:14px 0 18px}
.booking-provider-note strong{color:#061a33}
.travelstart-shell{background:#fff;border:1px solid #dce4ec;border-radius:16px;padding:10px;overflow:hidden}
#travelstartIframe-39daee2d-b6c4-4404-bbbc-efabeb5045db{height:100vh!important;width:100%!important;border:0!important;background:#fafafa}
.partner-widget{background:#fff;border:1px solid #dce4ec;border-radius:16px;padding:18px;margin:18px 0;min-height:140px}
.booking-handoff-modal{position:fixed;inset:0;background:rgba(3,20,38,.72);display:none;align-items:center;justify-content:center;z-index:99999;padding:18px}
.booking-handoff-modal.open{display:flex}
.booking-handoff-card{max-width:560px;width:100%;background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.booking-handoff-card h2{margin-top:0;color:#061a33}
.booking-handoff-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.live-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.live-status-card{border:1px solid #dce4ec;border-radius:14px;padding:18px;background:#fff}
.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9aa9b7;margin-right:7px}
.live-dot.connected{background:#218c54}
@media(max-width:760px){.live-status-grid{grid-template-columns:1fr}.booking-handoff-actions .btn{width:100%;text-align:center}}

/* UX, iframe and route intelligence refinements */
.travelstart-shell{min-height:760px!important;padding:18px!important;border-radius:18px!important;overflow:visible!important;background:#fff}
.travelstart-shell iframe{display:block!important;width:100%!important;min-height:720px!important;height:720px!important;border:0!important}
.partner-widget{min-height:540px!important;padding:22px!important;overflow:visible!important;background:#fff;border-radius:18px}
.tp-widget-shell{min-height:430px;border:1px solid #dce4ec;border-radius:18px;background:#fff;padding:20px;margin:18px 0 28px;overflow:visible}
.tp-map-shell{min-height:560px}
.intel-card.clickable-card,.intent-card.clickable-card,.connection-chip.clickable-chip{cursor:pointer;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.intel-card.clickable-card:hover,.intent-card.clickable-card:hover,.connection-chip.clickable-chip:hover{transform:translateY(-2px);border-color:#ff7a00;box-shadow:0 10px 26px rgba(6,26,51,.10)}
.intent-card.clickable-card{display:block}.connection-chip.clickable-chip{display:inline-block}
.route-image-slot,.destination-image-slot{border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#083e58,#0b2742);min-height:260px;position:relative;margin:20px 0 26px}
.route-image-slot img,.destination-image-slot img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}
.image-fallback{position:absolute;inset:0;display:flex;align-items:end;padding:24px;color:white;background:linear-gradient(180deg,transparent,rgba(3,20,38,.8));font-weight:800;font-size:1.3rem}
.source-links{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.source-links a{display:inline-block;padding:9px 12px;border:1px solid #dce4ec;border-radius:10px;background:#fff;text-decoration:none}
@media(max-width:760px){.travelstart-shell{min-height:860px!important}.travelstart-shell iframe{height:820px!important;min-height:820px!important}.partner-widget{min-height:620px!important}.tp-widget-shell{min-height:500px}}

#travelstartIframe-39daee2d-b6c4-4404-bbbc-efabeb5045db{display:block!important;width:100%!important;height:820px!important;min-height:820px!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#fafafa!important}.travelstart-shell{width:100%!important;max-width:100%!important;min-height:860px!important}.partner-widget.requires-handoff{position:relative}.widget-gate{position:absolute;inset:0;z-index:20;background:linear-gradient(135deg,#061a33,#083e58);color:#fff;border-radius:18px;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center}.widget-gate.hidden{display:none}.widget-gate .btn{margin-top:14px}

/* Production search + hub layout corrections */
.travelstart-shell{min-height:760px;background:#fff;border:1px solid #dce4ec;border-radius:18px;padding:18px;overflow:hidden}
.travelstart-shell iframe{display:block;width:100%!important;min-height:720px!important;height:720px!important;border:0!important}
.partner-widget{position:relative;background:#fff;border:1px solid #dce4ec;border-radius:18px;padding:22px;min-height:330px;overflow:visible}
.partner-widget script{display:block}
.hub-hero{padding:56px 0 34px;background:linear-gradient(135deg,#061a33,#0b3658);color:#fff}.hub-hero h1{color:#fff;max-width:850px}.hub-hero p{max-width:780px;color:#d8e5ef;font-size:1.1rem}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.action-card{display:block;padding:24px;border:1px solid #dce4ec;border-radius:18px;background:#fff;color:inherit;text-decoration:none}.action-card:hover{border-color:#ff7a00;box-shadow:0 10px 28px rgba(6,26,51,.08);transform:translateY(-2px)}
.quick-search-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.quick-search-card{padding:24px;border-radius:18px;background:#f5f8fb;border:1px solid #dce4ec}.quick-search-card a{font-weight:800}
.route-discovery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.route-discovery a{padding:16px;border-radius:14px;border:1px solid #dce4ec;text-decoration:none;color:inherit;background:#fff}.route-discovery a:hover{border-color:#ff7a00}
@media(max-width:900px){.action-grid,.route-discovery{grid-template-columns:repeat(2,1fr)}.quick-search-grid{grid-template-columns:1fr}}
@media(max-width:620px){.action-grid,.route-discovery{grid-template-columns:1fr}.travelstart-shell{min-height:820px;padding:8px}.travelstart-shell iframe{min-height:790px!important;height:790px!important}.partner-widget{padding:12px;min-height:390px}}


/* Compact original RouteZA text identity */
.brand{display:flex;align-items:center;min-width:max-content}
.logo{font-weight:900;letter-spacing:-2px;font-size:31px;line-height:1;color:#fff}
.logo .za{color:#ff7a00}
.tag-mini{font-size:9px;letter-spacing:1.1px;text-transform:uppercase;opacity:.8;margin-top:4px;color:#fff}
footer .logo{font-size:28px}
@media(max-width:520px){.logo{font-size:27px}.tag-mini{font-size:8px;letter-spacing:.9px}}

/* Compact live-data and tourism-data modules */
.routeza-data-widget{width:100%;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(4,28,55,.06)}
.live-board-wrap{margin:30px 0}
.live-board-wrap .routeza-data-widget{padding:10px}
.live-board-wrap iframe{display:block;width:100%;max-height:620px}
.widget-credit{font-size:11px;text-align:center;padding:8px 10px 4px;color:#68788a}
.widget-credit a{text-decoration:none;color:#4d6278}
.widget-credit a:hover{text-decoration:underline}
.compact-title{align-items:end;margin-bottom:12px}
.tourism-data-widget{padding:12px}
.tourism-data-widget iframe{display:block;border-radius:10px;background:#fff}
.data-source-note{font-size:12px;line-height:1.5;color:#5f7185;padding:10px 4px 2px}
.data-source-note a{color:var(--orange);text-decoration:underline}
.official-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.data-link-card{display:block;border:1px solid var(--line);border-radius:16px;background:#fff;padding:20px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.data-link-card:hover,.data-link-card:focus{transform:translateY(-2px);border-color:var(--orange);box-shadow:0 10px 28px rgba(4,28,55,.08)}
.live-data-card{border-color:#ccdbe8}
@media(max-width:900px){.official-data-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.official-data-grid{grid-template-columns:1fr}.tourism-data-widget iframe{height:380px!important}.live-board-wrap iframe{min-height:480px}}

/* Final responsive production layer: mobile, tablet and desktop */
html{overflow-x:hidden}
body{min-width:0;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%}
table{max-width:100%}
main,.section,.page-hero,.hero{min-width:0}
.container{width:min(1180px,calc(100% - 34px));max-width:1180px}
.section-tight{padding-top:26px;padding-bottom:26px}
.data-link-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.compact-data-card{max-width:760px}
.powerbi-widget{padding:10px}
.powerbi-widget iframe{display:block;width:100%;height:clamp(390px,47.5vw,541px);min-height:390px;border:0;border-radius:10px;background:#fff}
.avionio-widget iframe{width:100%!important}
.travelstart-shell,.partner-widget,.routeza-data-widget{width:100%;max-width:100%;min-width:0}
.travelstart-shell iframe{display:block;width:100%!important;max-width:100%!important}
.partner-widget iframe{display:block;max-width:100%!important}
.content-layout,.cards-3,.cards-4,.fare-grid,.budget-results,.destination-intel,.official-data-grid,.route-origin-grid,.live-status-grid{min-width:0}
.article,.sidebar,.panel,.tool-card,.intel-card,.data-link-card,.budget-card{min-width:0}
.compare-table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare-table table{min-width:680px}
input,select,textarea,button{max-width:100%;font-size:16px}
.route-question-card,.hub-link,.data-link-card{overflow-wrap:anywhere}
.footer-grid{align-items:start}
.footer a,.footer p{overflow-wrap:anywhere}

/* Large desktop */
@media(min-width:1200px){
  .container{width:min(1180px,calc(100% - 48px))}
  .powerbi-widget iframe{height:541px}
}

/* Tablet / compact desktop */
@media(max-width:1024px){
  .container{width:min(100% - 32px,960px)}
  .nav{gap:16px}
  .navlinks{gap:15px;font-size:13px}
  .nav-actions{display:none}
  .content-layout{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:static}
  .cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .official-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .powerbi-widget iframe{height:480px}
  .travelstart-shell{min-height:700px}
  .travelstart-shell iframe{min-height:680px!important;height:680px!important}
}

/* Tablet portrait / mobile navigation */
@media(max-width:820px){
  .container{width:calc(100% - 28px)}
  .topbar{position:sticky}
  .nav{height:70px}
  .mobile-toggle{display:block}
  .navlinks{
    display:none;position:absolute;left:14px;right:14px;top:72px;
    flex-direction:column;gap:0;background:#061a33;border:1px solid rgba(255,255,255,.12);
    border-radius:14px;padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.24)
  }
  .navlinks.open{display:flex}
  .navlinks a{padding:12px 13px;border-radius:9px}
  .navlinks a:hover{background:rgba(255,255,255,.06)}
  .cards-3,.fare-grid,.budget-results,.live-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .destination-intel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-origin-grid{grid-template-columns:1fr}
  .section-title{align-items:flex-start;gap:8px}
  .section-title>p{max-width:none}
  .page-hero h1,.hero h1{font-size:clamp(34px,7vw,52px);line-height:1.05}
  .powerbi-widget iframe{height:440px;min-height:440px}
  .tourism-data-widget iframe{height:410px!important}
  .live-board-wrap iframe{min-height:500px}
}

/* Mobile */
@media(max-width:640px){
  .container{width:calc(100% - 24px)}
  .section{padding:42px 0}
  .section-tight{padding:24px 0}
  .page-hero{padding:34px 0}
  .hero{padding-top:38px;padding-bottom:46px}
  .network-strip{font-size:12px;line-height:1.35;padding:7px 12px}
  .cards-3,.cards-4,.fare-grid,.budget-results,.destination-intel,.official-data-grid,.live-status-grid{grid-template-columns:1fr}
  .calc-grid,.budget-toolbar{grid-template-columns:1fr}
  .section-title{display:block}
  .section-title h2{font-size:29px;line-height:1.15}
  .page-hero h1,.hero h1{font-size:34px}
  .page-hero p,.hero p{font-size:16px}
  .panel,.tool-card,.intel-card,.data-link-card,.budget-card{padding:17px}
  .powerbi-widget{padding:6px}
  .powerbi-widget iframe{height:410px;min-height:410px;border-radius:8px}
  .tourism-data-widget{padding:7px}
  .tourism-data-widget iframe{height:380px!important}
  .live-board-wrap .routeza-data-widget{padding:6px}
  .live-board-wrap iframe{min-height:500px;max-height:none}
  .travelstart-shell{padding:8px!important;min-height:790px}
  .travelstart-shell iframe{height:760px!important;min-height:760px!important}
  .partner-widget{padding:10px!important;min-height:520px!important}
  .booking-handoff-actions{flex-direction:column}
  .booking-handoff-actions .btn{width:100%}
  .floating-wa{right:12px;bottom:12px;font-size:13px;padding:10px 14px}
  .footer-grid{grid-template-columns:1fr!important;gap:22px}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin:4px 0}
}

/* Small mobile */
@media(max-width:420px){
  .container{width:calc(100% - 20px)}
  .logo{font-size:25px}
  .tag-mini{font-size:7.5px;letter-spacing:.75px}
  .nav{height:66px}
  .navlinks{top:68px;left:10px;right:10px}
  .btn{padding:11px 14px}
  .route-code{font-size:12px}
  .powerbi-widget iframe{height:390px;min-height:390px}
  .tourism-data-widget iframe{height:360px!important}
  .travelstart-shell{min-height:820px}
  .travelstart-shell iframe{height:790px!important;min-height:790px!important}
}
