/* FLYC static marketing site
   Layout direction adapted from the supplied Nexio/JoomShaper template,
   with a custom FLYC orange/charcoal visual system.
*/
:root {
  --flyc-orange: #ff8a00;
  --flyc-orange-dark: #d96f00;
  --flyc-ink: #252525;
  --flyc-ink-2: #3b3b3b;
  --flyc-muted: #6d6d6d;
  --flyc-soft: #f5f5f3;
  --flyc-line: #e7e5e1;
  --flyc-white: #ffffff;
  --flyc-radius: 24px;
  --flyc-radius-sm: 16px;
  --flyc-shadow: 0 18px 45px rgba(23, 23, 23, .08);
  --flyc-max: 1180px;
}

html { scroll-behavior: smooth; }
body {
  color: var(--flyc-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--flyc-ink); text-decoration: none; }
a:hover { color: var(--flyc-orange-dark); }
img { max-width: 100%; height: auto; }
.container { max-width: var(--flyc-max); }

.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:12px; top:12px; z-index:9999; background:#fff; padding:.6rem 1rem; border-radius:8px; box-shadow:var(--flyc-shadow); }

.site-header {
  position: sticky; top: 0; z-index: 1030;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(231,229,225,.75);
}
.navbar { min-height: 82px; padding-top: .7rem; padding-bottom: .7rem; }
.navbar-brand { display:flex; align-items:center; padding:0; margin-right:2.25rem; }
.brand-logo { width: 188px; height: auto; }
.navbar-nav { gap: .15rem; align-items:center; }
.navbar-nav .nav-link { color: var(--flyc-ink); font-size:.94rem; font-weight:600; padding:.75rem .85rem !important; border-radius:999px; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { background: var(--flyc-soft); color: var(--flyc-ink); }
.dropdown-menu { border:1px solid var(--flyc-line); border-radius:16px; padding:.55rem; box-shadow:var(--flyc-shadow); min-width:270px; }
.dropdown-item { border-radius:10px; padding:.62rem .8rem; font-size:.93rem; }
.dropdown-item:hover { background:#fff5e9; color:var(--flyc-ink); }
.navbar-toggler { border:1px solid var(--flyc-line); border-radius:12px; padding:.5rem .65rem; }
.navbar-toggler:focus { box-shadow:0 0 0 .2rem rgba(255,138,0,.15); }

.btn-flyc { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:999px; padding:.77rem 1.15rem; font-weight:700; border:1px solid var(--flyc-orange); background:var(--flyc-orange); color:#1d1d1d; transition:.2s ease; }
.btn-flyc:hover { background:#ff9d2d; border-color:#ff9d2d; color:#111; transform:translateY(-1px); }
.btn-flyc-outline { background:#fff; border-color:var(--flyc-line); }
.btn-flyc-outline:hover { background:var(--flyc-soft); border-color:#d8d5cf; }
.header-cta { margin-left:1rem; white-space:nowrap; }

.eyebrow { display:inline-block; font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:var(--flyc-orange-dark); margin-bottom:.9rem; }
h1, h2, h3, h4 { letter-spacing:-.035em; line-height:1.05; font-weight:760; color:var(--flyc-ink); }
h1 { font-size:clamp(2.85rem, 6.2vw, 4rem); }
h2 { font-size:clamp(1.8rem, 4vw, 2.8rem); }
h3 { font-size:clamp(1.25rem, 2.1vw, 1.75rem); }
.lead { font-size:clamp(1.05rem, 1.5vw, 1.25rem); color:#555; max-width:760px; }

.hero { padding: 34px 0 78px; }
.hero-card { position:relative; overflow:hidden; min-height:590px; border-radius:30px; background:linear-gradient(120deg,#171717 0%,#303030 62%,#4a3520 100%); color:#fff; padding:clamp(2rem, 6vw, 5rem); display:flex; align-items:flex-end; box-shadow:var(--flyc-shadow); }
.hero-card::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(255,138,0,.35),rgba(255,138,0,0) 66%); top:-120px; right:-70px; }
.hero-card::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 70%); pointer-events:none; }
.hero-content { position:relative; z-index:2; max-width:820px; }
.hero h1, .hero .lead { color:#fff; }
.hero .lead { color:rgba(255,255,255,.82); max-width:710px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.hero .btn-flyc-outline { background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.25); }
.hero .btn-flyc-outline:hover { background:#fff; color:#1d1d1d; }
.hero-badge { display:inline-flex; align-items:center; gap:.55rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); padding:.48rem .75rem; border-radius:999px; color:#fff; font-size:.8rem; font-weight:700; margin-bottom:1.15rem; }
.hero-badge-dot { width:8px; height:8px; border-radius:50%; background:var(--flyc-orange); box-shadow:0 0 0 5px rgba(255,138,0,.12); }

.section { padding: 84px 0; }
.section-soft { background:var(--flyc-soft); }
.section-dark { background:#191919; color:#fff; }
.section-dark h2, .section-dark h3 { color:#fff; }
.section-dark p, .section-dark .muted { color:rgba(255,255,255,.72); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.3rem; }
.section-head .lead { margin-bottom:0; }
.section-head > div:first-child { max-width:780px; }

.card-flyc { height:100%; border:1px solid var(--flyc-line); border-radius:var(--flyc-radius); background:#fff; padding:1.65rem; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.card-flyc:hover { transform:translateY(-4px); box-shadow:var(--flyc-shadow); border-color:#dedad4; }
.card-kicker { display:flex; align-items:center; gap:.65rem; margin-bottom:1rem; }
.icon-box { width:42px; height:42px; border-radius:13px; background:#fff1df; display:grid; place-items:center; color:#a95500; font-weight:900; font-size:1.05rem; }
.card-flyc p { color:var(--flyc-muted); margin-bottom:1rem; }
.card-link { font-weight:750; display:inline-flex; align-items:center; gap:.35rem; }
.card-link::after { content:"→"; transition:transform .2s; }
.card-link:hover::after { transform:translateX(3px); }

.problem-list { list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.problem-list li { position:relative; padding-left:1.7rem; color:#4c4c4c; }
.problem-list li::before { content:""; position:absolute; left:0; top:.72em; width:8px; height:8px; border-radius:50%; background:var(--flyc-orange); }

.image-slot { margin-top: 1rem; min-height:170px; border-radius:var(--flyc-radius); border:1px dashed #c8c5bf; background:linear-gradient(135deg,#f0efec,#fafaf9); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem; color:#74716d; }
.image-modal-link { display:block; max-width:100%; cursor:zoom-in; border-radius:6px; }
.image-modal-link img { cursor:inherit; }
.image-modal-link:focus-visible { outline:3px solid var(--flyc-orange); outline-offset:5px; }
.image-slot strong { color:#474542; display:block; margin-bottom:.35rem; }
.image-slot.small { min-height:240px; }
.image-slot.dark { border-color:#4e4e4e; background:linear-gradient(135deg,#242424,#333); color:#bdbdbd; }
.image-slot.dark strong { color:#fff; }

body.image-lightbox-open { overflow:hidden; }
.image-lightbox { width:calc(100vw - 2rem); max-width:none; height:calc(100vh - 2rem); max-height:none; margin:auto; padding:0; border:0; border-radius:18px; overflow:visible; background:transparent; }
.image-lightbox::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(4px); }
.image-lightbox__content { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.image-lightbox__image { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:10px; box-shadow:0 24px 70px rgba(0,0,0,.45); }
.image-lightbox__close { position:fixed; top:1rem; right:1rem; z-index:1; width:46px; height:46px; display:grid; place-items:center; padding:0 0 .15rem; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(20,20,20,.82); color:#fff; font:300 2rem/1 sans-serif; cursor:pointer; transition:background .2s ease, transform .2s ease; }
.image-lightbox__close:hover { background:var(--flyc-orange); color:#1d1d1d; transform:scale(1.05); }
.image-lightbox__close:focus-visible { outline:3px solid var(--flyc-orange); outline-offset:3px; }

.stat-strip { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--flyc-line); border-radius:var(--flyc-radius); overflow:hidden; background:#fff; }
.stat { padding:1.5rem; }
.stat + .stat { border-left:1px solid var(--flyc-line); }
.stat strong { display:block; font-size:1.7rem; letter-spacing:-.04em; }
.stat span { color:var(--flyc-muted); font-size:.9rem; }

.process-step { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; padding:1.3rem 0; border-bottom:1px solid var(--flyc-line); }
.process-step:last-child { border-bottom:0; }
.step-no { width:42px; height:42px; border-radius:50%; background:var(--flyc-ink); color:#fff; display:grid; place-items:center; font-weight:800; }
.process-step h3 { font-size:1.2rem; margin:.2rem 0 .4rem; }
.process-step p { margin:0; color:var(--flyc-muted); }

.page-hero { padding:74px 0 56px; }
.page-hero-wrap { border-radius:30px; padding:clamp(2rem,5vw,4.5rem); background:linear-gradient(135deg,#f4f3f0,#fff); border:1px solid var(--flyc-line); overflow:hidden; position:relative; }
.page-hero-wrap::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(255,138,0,.18),rgba(255,138,0,0) 70%); right:-50px; top:-50px; }
.page-hero h1 { font-size:clamp(2.6rem,5vw,4.7rem); max-width:920px; margin-bottom:1.2rem; position:relative; z-index:1; }
.page-hero .lead { position:relative; z-index:1; }
.breadcrumb-mini { font-size:.85rem; color:#777; margin-bottom:1.1rem; position:relative; z-index:1; }
.breadcrumb-mini a { color:#777; }

.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.feature-item { padding:1.25rem; border:1px solid var(--flyc-line); border-radius:var(--flyc-radius-sm); background:#fff; }
.feature-item strong { display:block; margin-bottom:.3rem; }
.feature-item span { color:var(--flyc-muted); font-size:.94rem; }

.cta-panel { padding:clamp(2rem,5vw,4rem); border-radius:30px; background:#1d1d1d; color:#fff; position:relative; overflow:hidden; }
.cta-panel::after { content:""; position:absolute; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(255,138,0,.32),rgba(255,138,0,0) 70%); right:-70px; top:-100px; }
.cta-panel h2 { color:#fff; max-width:760px; position:relative; z-index:2; }
.cta-panel p { color:rgba(255,255,255,.72); max-width:700px; position:relative; z-index:2; }
.cta-panel .btn-flyc { position:relative; z-index:2; }

.case-card { border-radius:var(--flyc-radius); overflow:hidden; border:1px solid var(--flyc-line); background:#fff; height:100%; }
.case-thumb { min-height:250px; background:linear-gradient(135deg,#292929,#494949); position:relative; display:flex; align-items:end; padding:1.4rem; color:#fff; }
.case-thumb::before { content:""; width:180px; height:180px; position:absolute; right:-35px; top:-35px; border-radius:50%; background:radial-gradient(circle,rgba(255,138,0,.4),transparent 65%); }
.case-thumb span { position:relative; z-index:1; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.case-body { padding:1.55rem; }
.case-body p { color:var(--flyc-muted); }
.tag-row { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1rem; }
.tag { display:inline-flex; padding:.35rem .6rem; background:var(--flyc-soft); border-radius:999px; color:#5c5a56; font-size:.76rem; font-weight:700; }

.article-card { border-top:1px solid var(--flyc-line); padding:1.3rem 0; display:grid; grid-template-columns:160px 1fr auto; gap:1.4rem; align-items:center; }
.article-card:last-child { border-bottom:1px solid var(--flyc-line); }
.article-date { font-size:.78rem; color:#898681; text-transform:uppercase; letter-spacing:.08em; }
.article-card h3 { font-size:1.3rem; margin:0 0 .35rem; }
.article-card p { color:var(--flyc-muted); margin:0; }
.article-body { max-width:820px; }
.article-body h2 { margin-top:2.5rem; font-size:2rem; }
.article-body h3 { margin-top:1.8rem; font-size:1.4rem; }
.article-body p, .article-body li { color:#515151; }
.article-body blockquote { margin:2rem 0; padding:1.2rem 1.4rem; border-left:4px solid var(--flyc-orange); background:var(--flyc-soft); border-radius:0 14px 14px 0; }

.form-control, .form-select { border-radius:13px; border-color:#d9d6d1; padding:.78rem .9rem; }
.form-control:focus, .form-select:focus { border-color:var(--flyc-orange); box-shadow:0 0 0 .2rem rgba(255,138,0,.13); }
.form-label { font-weight:700; font-size:.92rem; }
.form-note { font-size:.84rem; color:var(--flyc-muted); }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }

.site-footer { background:#171717; color:#fff; padding:65px 0 25px; }
.site-footer .brand-logo { filter:brightness(0) invert(1); opacity:.92; width:180px; }
.footer-intro { color:#b9b9b9; max-width:410px; margin-top:1.25rem; }
.footer-title { color:#fff; font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; margin-bottom:1rem; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin:.45rem 0; }
.footer-links a { color:#b9b9b9; font-size:.92rem; }
.footer-links a:hover { color:#fff; }
.footer-bottom { border-top:1px solid #333; margin-top:2.6rem; padding-top:1.2rem; color:#8c8c8c; font-size:.82rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }

.placeholder-note { background:#fff8ef; border:1px solid #ffe0b9; color:#71420f; border-radius:12px; padding:.8rem 1rem; font-size:.88rem; }

@media (max-width: 991.98px) {
  .navbar-nav { align-items:stretch; padding:1rem 0; }
  .header-cta { margin:0 0 1rem; width:100%; }
  .header-cta .btn-flyc { width:100%; }
  .dropdown-menu { box-shadow:none; border:0; padding-left:.8rem; }
  .hero-card { min-height:520px; }
  .stat-strip { grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(3) { border-left:0; border-top:1px solid var(--flyc-line); }
  .stat:nth-child(4) { border-top:1px solid var(--flyc-line); }
  .feature-grid { grid-template-columns:1fr; }
  .article-card { grid-template-columns:1fr; gap:.45rem; }
  .article-arrow { display:none; }
}
@media (max-width: 575.98px) {
  .brand-logo { width:150px; }
  .navbar { min-height:72px; }
  .hero { padding-top:20px; }
  .hero-card { min-height:520px; padding:2rem 1.35rem; border-radius:22px; }
  .section { padding:62px 0; }
  .section-head { align-items:start; flex-direction:column; }
  .stat-strip { grid-template-columns:1fr; }
  .stat + .stat { border-left:0; border-top:1px solid var(--flyc-line); }
  .page-hero-wrap { border-radius:22px; padding:2rem 1.35rem; }
  .cta-panel { border-radius:22px; }
}
