@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}


:root{
  --bg:#f5f8fc;
  --card:#ffffff;
  --text:#10233d;
  --muted:#62748a;
  --line:#d8e2ef;
  --primary:#0e76bc;
  --primary-dark:#0a5c93;
  --accent:#29b6d8;
  --shadow:0 16px 40px rgba(16,35,61,.08);
  --radius:22px;
  --container:min(1210px, calc(100% - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:var(--container);margin:0 auto}
.topbar{background:#0d2036;color:#dbe7f5;font-size:14px}
.topbar .container{display:flex;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,226,239,.9)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em}
.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;font-size:20px;box-shadow:var(--shadow)}
.brand small{display:block;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.12em;margin-top:2px}
.nav{display:flex;gap:24px;align-items:center}
.nav a{font-weight:600;color:#21405f}
.nav a:hover{color:var(--primary)}
.actions{display:flex;gap:12px;align-items:center}
.btn,.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius: 10px;font-weight:700;transition:.2s ease}
.btn{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 14px 30px rgba(14,118,188,.2)}
.btn:hover{transform:translateY(-1px);filter:saturate(1.05)}
.btn-outline{border:1px solid var(--line);background:rgba(255,255,255,.82);color:var(--text)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}
.menu-toggle{display:none;background:none;border:none;font-size:28px;color:var(--text)}
.hero{padding:56px 0 34px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#e8f4fb;color:var(--primary-dark);padding:10px 14px;border-radius: 10px;font-size:14px;font-weight:700}
.hero h1{font-size:47px;line-height:1.02;letter-spacing:-.03em;margin:18px 0 16px;max-width:13ch}
.hero p{font-size:18px;line-height:1.7;color:#38516b;max-width:62ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.stat{background:rgba(255,255,255,.72);border:1px solid rgba(216,226,239,.9);padding:18px;border-radius:20px;box-shadow:var(--shadow)}
.stat strong{display:block;font-size:28px;margin-bottom:6px}
.mockup{position:relative}
.mockup::before{content:'';position:absolute;inset:-22px 40px 26px -12px;background:radial-gradient(circle at center, rgba(41,182,216,.18), transparent 62%);z-index:0}
.hero-card{position:relative;z-index:1;background:linear-gradient(180deg,#fefefe,#edf4fb);border:1px solid #dce6f1;padding:18px;border-radius:30px;box-shadow:0 28px 60px rgba(16,35,61,.14)}
.hero-card img{border-radius:22px;background:#fff}
.badge-float{position:absolute;right:-10px;bottom:22px;z-index:2;background:#fff;border:1px solid var(--line);padding:16px 18px;border-radius:18px;box-shadow:var(--shadow);max-width:220px}
.badge-float strong{display:block;margin-bottom:4px}
.section{padding:34px 0}
.section-lg{padding:76px 0}
.section-title{max-width:740px;margin-bottom:28px}
.section-title h2{font-size:41px;line-height:1.08;letter-spacing:-.03em;margin:0 0 12px}
.section-title p{margin:0;color:var(--muted);font-size:18px;line-height:1.7}
.grid-4,.grid-3,.grid-2{display:grid;gap:20px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:rgba(255,255,255,.85);border:1px solid rgba(216,226,239,.96);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card-body{padding:24px}
.product-card img{aspect-ratio:1.15/1;object-fit:cover;padding: 18px;}
.product-card h3{font-size:21px;margin:0 0 10px}
.product-card p{color:var(--muted);line-height:1.7;margin:0 0 18px}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.tag{padding:8px 12px;border-radius: 10px;background:#eef6ff;color:#285172;font-size:14px;font-weight:700}
.feature-list,.bullet-list{display:grid;padding:0;margin:0;list-style:none}
.feature-list li,.bullet-list li{padding-left:28px;position:relative;color:#35516c;line-height:1.6}
.feature-list li::before,.bullet-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--primary);font-weight:800}
.compact-benefits{grid-template-columns:repeat(2,1fr);gap:12px 28px;margin-top:18px}
.compact-benefits li{padding:0 0 0 28px;font-weight:700;color:#26435f}
@media (max-width: 700px){.compact-benefits{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.split.reverse > :first-child{order:2}
.panel{background:linear-gradient(180deg,#fff,#f2f7fc);border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}
.panel h3{font-size:32px;line-height:1.1;margin:0 0 12px;letter-spacing:-.03em}
.panel p{color:var(--muted);line-height:1.8}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.check{padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);font-weight:700;color:#26435f}
.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.logo-item{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:20px;padding:18px;min-height:120px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.logo-item img{max-height:56px;width:auto;filter:grayscale(100%);opacity:.92}
.logo-item:hover img{filter:none;opacity:1}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{padding:28px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}
.quote p{font-size:17px;line-height:1.8;color:#2e4b66;margin:0 0 18px}
.quote strong{display:block}
.quote span{color:var(--muted);font-size:14px}
.cta-band{background:linear-gradient(135deg,#0d2036,#0d4d7d 56%,#167fbd);color:#fff;border-radius:34px;padding:38px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 30px 70px rgba(13,32,54,.25)}
.cta-band p{color:#d7e8f7;line-height:1.7;max-width:54ch}
.footer{padding:60px 0 26px;background:#0d2036;color:#d8e6f4;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .9fr .9fr;gap:24px}
.footer h4{margin:0 0 12px;font-size:16px;color:#fff}
.footer a{color:#d8e6f4;display:block;margin:8px 0}
.footer p{color:#b7cadd;line-height:1.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;color:#a9bfd4;font-size:14px;display:grid;grid-template-columns:1.2fr .7fr .9fr .9fr;gap:24px;align-items:center}
.footer-bottom-copy{display:inline-flex;align-items:center;min-width:0;grid-column:1 / 4}

.footer-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.footer-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(216,230,244,.24);background:rgba(255,255,255,.06);color:#d8e6f4;border-radius:14px;transition:transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;padding:0;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.footer-icon:hover{transform:translateY(-1px);color:#fff;border-color:rgba(216,230,244,.42);background:rgba(255,255,255,.1)}
.footer-icon svg{width: 38px;height: 26px;display: block;margin-top: 5px;}
.footer-to-top{margin-left:2px}
@media (max-width:760px){.footer-actions{margin-top:12px}}
.footer-bottom .footer-actions{margin-top:0;grid-column:4;justify-content:flex-start;min-width:156px}
@media (max-width:760px){.footer-bottom{display:flex;justify-content:center;text-align:center;gap:14px;flex-wrap:wrap}.footer-bottom-copy{justify-content:center;width:100%;grid-column:auto}.footer-bottom .footer-actions{grid-column:auto;margin-left:0;justify-content:center;width:100%;min-width:0}}

.page-hero{padding:54px 0 34px}
.page-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:28px;align-items:center}
.kicker{font-size:14px;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.page-hero h1{font-size:47px;line-height:1.05;letter-spacing:-.03em;margin:12px 0 16px}
.lead{font-size:18px;line-height:1.75;color:#40607e}
.info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.info-chip{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:18px;font-weight:700;color:#28455f;box-shadow:var(--shadow)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.contact-card,.form-card{padding:28px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.contact-card h3,.form-card h3{margin:0 0 14px;font-size:28px}
.contact-list{display:grid;gap:16px;margin-top:18px}
.contact-list div{padding:16px;border-radius:18px;background:#f6faff;border:1px solid var(--line)}
label{display:block;font-size:14px;font-weight:700;color:#35516c;margin-bottom:8px}
input,textarea{width:100%;padding:14px 16px;border:1px solid #cfe0ef;border-radius:16px;font:inherit;background:#fbfdff}
textarea{min-height:140px;resize:vertical}
.form-grid{display:grid;gap:16px}
.notice{font-size:14px;color:var(--muted)}
.table-like{display:grid;gap:14px}
.table-row{display:grid;grid-template-columns:1.1fr .9fr .8fr;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:18px;align-items:center}
.table-row strong{font-size:17px}
.accent-box{background:white;border:1px solid #d7e9f5;padding:24px;border-radius:28px}
.mini-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.mini-nav a{padding:10px 14px;border-radius: 10px;background:#fff;border:1px solid var(--line);font-weight:700;color:#26435f}
.mini-nav a:hover{border-color:var(--primary);color:var(--primary)}
@media (max-width: 1080px){
  .hero-grid,.page-hero-grid,.split,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3,.quote-grid,.logo-grid{grid-template-columns:repeat(2,1fr)}
  .info-strip{grid-template-columns:repeat(2,1fr)}
  .hero h1{max-width:none}
}
@media (max-width: 760px){
  .nav{display:none;position:absolute;left:16px;right:16px;top:88px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}
  .menu-toggle{display:block}
    .hero{padding-top:30px}
  .hero-stats,.grid-4,.grid-3,.grid-2,.quote-grid,.logo-grid,.check-grid,.info-strip{grid-template-columns:1fr}
  .cta-band{padding:28px;flex-direction:column;align-items:flex-start}
  .page-hero h1,.hero h1{font-size:36px}
  .topbar .container,.nav-wrap{padding-left:0;padding-right:0}
}

.hotel-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.hotel-icon-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;text-align:center;box-shadow:var(--shadow)}
.hotel-icon-card img{width:56px;height:56px;object-fit:contain;margin:0 auto 14px}
.hotel-icon-card h3{font-size:18px;margin:0 0 8px}
.hotel-icon-card p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.detail-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.detail-card h3{margin:0 0 12px;font-size:22px;line-height:1.2}
.detail-card p{margin:0;color:var(--muted);line-height:1.8}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.testimonial-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow);overflow:hidden}
.testimonial-card .quote-top{width:64px;opacity:.95;margin-bottom:16px}
.testimonial-card .quote-bottom{width:64px;opacity:.95;margin:16px 0 0 auto}
.testimonial-card p{margin:0;color:#2f4a63;line-height:1.85}
.testimonial-card strong{display:block;margin-top:8px;font-size:16px}
.testimonial-card span{color:var(--muted);font-size:14px}
.faq-list{display:grid;gap:16px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.faq-item h3{margin:0 0 10px;font-size:20px;line-height:1.3}
.faq-item p{margin:0;color:var(--muted);line-height:1.8}
.image-panel{padding:18px;}
.image-panel img{border-radius:20px;width:100%}
.note-line{font-size:15px;color:var(--muted);line-height:1.8}
@media (max-width:1080px){.hotel-icon-grid,.detail-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.hotel-icon-grid,.detail-grid,.testimonial-grid,.accordion-grid{grid-template-columns:1fr}.hotel-icon-card,.detail-card,.testimonial-card,.faq-item{padding:20px}.accordion-trigger{padding:18px 20px}.accordion-content{padding:0 20px 18px}}


.accordion-grid,.accordion-list{display:grid;gap:16px}
.accordion-grid{grid-template-columns:repeat(2,1fr)}
.accordion-item{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;background:transparent;border:none;font:inherit;text-align:left;font-weight:600;color:var(--text);cursor:pointer}
.accordion-trigger span:first-child{font-size:17px;line-height:1.3}
.accordion-trigger:hover{background:#f8fbff}
.accordion-trigger[aria-expanded="true"]{}
.accordion-icon{position:relative;width:18px;height:18px;flex:0 0 18px}
.accordion-icon::before,.accordion-icon::after{content:'';position:absolute;left:50%;top:50%;width:18px;height:2px;background:var(--primary);border-radius: 10px;transform:translate(-50%,-50%);transition:transform .2s ease, opacity .2s ease}
.accordion-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.accordion-trigger[aria-expanded="true"] .accordion-icon::after{opacity:0}
.accordion-panel{}
.accordion-content{padding:0 24px 22px}
.accordion-content p{margin:0;color:var(--muted);line-height:1.8}
.faq-item .accordion-trigger span:first-child{font-size:17px}
.faq-item .accordion-content{padding-top:2px}

.detail-accordion,.paired-accordion{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
@media (max-width:760px){.detail-accordion,.paired-accordion{grid-template-columns:1fr}}


.content-accordion .accordion-trigger span:first-child{font-size:17px}
.content-accordion .accordion-content ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.8}
.content-accordion .accordion-content li + li{margin-top:8px}
@media (max-width:760px){.content-accordion{grid-template-columns:1fr}}


.reference-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}
.reference-stats .stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:var(--shadow)}
.reference-stats strong{display:block;font-size:34px;line-height:1;color:#17324b}
.reference-stats span{display:block;margin-top:8px;color:var(--muted)}
.reference-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.reference-toolbar h2{margin:0 0 8px;font-size:32px}
.reference-toolbar p{margin:0;color:var(--muted);max-width:760px;line-height:1.7}
.reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.reference-segments{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px}
.segment-chip{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#17324b;font-weight:600;box-shadow:var(--shadow)}
.reference-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 26px}
.proof-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.proof-card h3{margin:0 0 10px;font-size:20px}
.proof-card p{margin:0;color:var(--muted);line-height:1.7}
.reference-cta{margin-top:115px;background:linear-gradient(135deg,#17324b 0%,#0f2232 100%);color:#fff;border-radius:28px;padding:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.reference-cta h2{margin:8px 0 12px;font-size:34px;line-height:1.15;color:#fff}
.reference-cta p{margin:0;max-width:760px;color:rgba(255,255,255,.82);line-height:1.7}
.reference-cta .kicker{color:rgba(255,255,255,.72)}
.reference-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.reference-cta .btn-outline{border-color:rgba(255,255,255,.28);color:#fff;background:transparent}
.reference-cta .btn-outline:hover{background:rgba(255,255,255,.08)}
.ref-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;min-height:157px}
.ref-thumb{display:flex;align-items:center;justify-content:center;min-height:98px;padding:18px;background:linear-gradient(135deg,#eff5fb,#dfeaf7);color:#214566;font-weight:800;font-size:34px;letter-spacing:.08em}
.ref-body{}
.ref-body h3{margin:0 0 0px;font-size:16px;line-height:1.35;color:#17324b;text-align: center;}
.ref-body p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;text-align: center;}
@media (max-width:1080px){.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-proof-grid{grid-template-columns:1fr 1fr}.reference-cta{grid-template-columns:1fr}}
@media (max-width:820px){.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-stats{grid-template-columns:1fr 1fr}.reference-toolbar{display:block}.reference-toolbar h2{font-size:28px}.reference-toolbar .btn{margin-top:16px}.reference-proof-grid{grid-template-columns:1fr}.reference-cta{padding:28px}.reference-cta h2{font-size:28px}.reference-cta-actions{justify-content:flex-start}}
@media (max-width:560px){.reference-grid{grid-template-columns:1fr}.reference-stats{grid-template-columns:1fr}.ref-thumb{min-height:86px;font-size:28px}.segment-chip{width:100%;justify-content:center}.reference-cta{border-radius:22px;padding:22px}.reference-cta .btn,.reference-cta .btn-outline{width:100%;justify-content:center}}

.ref-thumb{position:relative;min-height:90px;padding:20px;background:#fff}
.ref-thumb img{display:block;max-width:100%;max-height:72px;margin:0 auto;object-fit:contain;transition:transform .22s ease}
.ref-card:hover .ref-thumb img{transform:scale(1.02)}
@media (max-width:560px){.ref-thumb{min-height:96px;padding:16px}.ref-thumb img{max-height:56px}}


.nav-item{position:relative}
.nav-item > a{display:inline-flex;align-items:center;gap:8px}
.has-dropdown > a::after{content:'▾';font-size:12px;line-height:1;opacity:.75}
.has-dropdown::after{content:'';position:absolute;left:0;right:0;top:100%;height:16px}
.nav-dropdown{position:absolute;left:0;top:calc(100% + 2px);min-width:300px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow);display:none;flex-direction:column;gap:4px;z-index:50}
.nav-dropdown a{padding:12px 14px;border-radius:14px;color:#21405f;font-weight:600;line-height:1.35}
.nav-dropdown a:hover{background:#f5f9ff;color:var(--primary)}
.has-dropdown:hover .nav-dropdown,.has-dropdown:focus-within .nav-dropdown{display:flex}
.nav > a,.nav-item > a{padding:10px 0}
.nav > a.is-active,.nav-item > a.is-active{color:var(--primary);font-weight:800}
.nav > a.is-active::before,.nav-item > a.is-active::before{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--primary);border-radius:999px}
.nav > a,.nav-item > a{position:relative}
.nav-item.is-active > a::after{opacity:1}
.nav-dropdown a.is-active{background:#eef5ff;color:var(--primary);font-weight:800}
.page-list{display:grid;gap:20px}
.app-card{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.app-card h3{margin:0 0 12px;font-size:30px;line-height:1.1;letter-spacing:-.03em}
.app-card p{margin:0 0 12px;color:var(--muted);line-height:1.8}
.app-card ul{margin:8px 0 0;padding-left:18px;color:var(--muted);line-height:1.8}
.app-card .image-panel{padding:14px}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.news-card .image-panel{margin:0;border:none;border-radius:0;box-shadow:none;background:linear-gradient(180deg,#fff,#f4f8fc)}
.news-card .card-body{display:flex;flex-direction:column;gap:10px}
.news-meta{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.08em}
@media (max-width: 760px){
  .nav-item,.nav-item > a{width:100%}
  .nav-item > a{
    justify-content:space-between;
    width:100%;
    padding:12px 0 12px 16px;
    cursor:pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .nav > a{
    display:block;
    width:100%;
    padding:12px 0 12px 16px;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .nav-dropdown{
    position:static;
    display:none;
    min-width:0;
    width:100%;
    margin-top:6px;
    padding:8px;
    background:#f8fbff;
    box-shadow:none;
    border-radius:18px;
  }
  .nav-dropdown a{
    display:block;
    width:100%;
    padding:12px 14px;
  }
  .nav > a.is-active,.nav-item > a.is-active{
    position:relative;
    color:var(--primary);
    font-weight:800;
    background:transparent;
    border:none;
    border-radius:0;
    box-shadow:none;
    padding:12px 0 12px 16px;
    margin:0;
  }
  .nav > a.is-active::before,.nav-item > a.is-active::before{
    content:'';
    display:block;
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:28px;
    background:var(--primary);
    border-radius:999px;
  }
  .nav-dropdown a.is-active{
    position:relative;
    background:transparent;
    color:var(--primary);
    border:none;
    border-radius:0;
    box-shadow:none;
    padding:12px 14px 12px 18px;
  }
  .nav-dropdown a.is-active::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:24px;
    background:var(--primary);
    border-radius:999px;
  }
  .has-dropdown.is-open .nav-dropdown{display:flex}
  .has-dropdown:hover .nav-dropdown{display:none}
  .app-card,.news-grid{grid-template-columns:1fr}
}

.has-dropdown > a{
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}


@media (max-width: 760px){
  .nav-dropdown{pointer-events:auto}
  .nav-dropdown a{position:relative;z-index:2;pointer-events:auto}
}



@media (max-width: 760px){
  .has-dropdown{width:100%}
  .has-dropdown > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
  }
  .has-dropdown.is-open > .nav-dropdown{
    display:flex !important;
  }
}



.brand{
  display:block;
  flex:0 0 auto;
}


@media (max-width: 760px){
  .brand{
    width: 150px !important;
    height: 46px !important;
    margin-top: 2px !important;
    background-size: contain !important;
    background-position: left center !important;
  }
}


.app-card .image-panel img{
  width:100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  display:block;
}


.blog-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.blog-card{
  background:#fff;
  border:1px solid rgba(16,42,67,.08);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
  display:flex;
  flex-direction:column;
}
.blog-card .image-link{display:block}
.blog-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
  background:#eef3f8;
}
.blog-card-content{padding:22px}
.blog-card-content h2{margin:0 0 10px;font-size:23px}
.card-title-link{color:inherit;text-decoration:none}
.card-title-link:hover{color:#0f4c81}
.blog-card-content p{margin:0 0 16px;color:#5f6f82}
.read-more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  color:#0f4c81;
  text-decoration:none;
  padding-top: 15px;
}
.subheadline{font-size:1.8rem;margin:0 0 12px;color:#0f4c81}
.hero--article .hero-media img{width:100%;border-radius:24px;display:block;box-shadow:0 18px 40px rgba(10,33,68,.10)}
.article-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.article-card{background:#fff;border:1px solid rgba(16,42,67,.08);border-radius:24px;padding:28px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.article-card--wide{grid-column:1 / -1}
.article-card--aside{align-self:start}
.feature-list,.numbered-list{padding-left:22px;padding-top: 20px;}
.feature-list li,.numbered-list li{margin:0 0 12px}
.feature-list--columns{columns:2;column-gap:32px}
.feature-list--columns li{break-inside:avoid}
.gallery-grid--mobile{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gallery-grid--landscape{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery-card{background:#fff;border:1px solid rgba(16,42,67,.08);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.gallery-card img{width:100%;display:block;background:#eef3f8}
.gallery-grid--mobile .gallery-card img{aspect-ratio:9/16;object-fit:cover}
.gallery-grid--landscape .gallery-card img{aspect-ratio: 16/9}
.gallery-card figcaption{padding:12px 14px;font-weight:600;color:#16324f}
.muted-note{margin-top:16px;color:#5f6f82}
.cta-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#0f4c81,#1d6fdc);color:#fff;border-radius:26px;padding:32px}
.cta-banner .eyebrow{background:rgba(255,255,255,.15);color:#fff}
.cta-banner h2{margin:0 0 8px}
.cta-banner p{margin:0}
@media (max-width: 1100px){
  .gallery-grid--mobile{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 900px){
  .blog-grid,.article-layout{grid-template-columns:1fr}
  .feature-list--columns{columns:1}
  .gallery-grid--mobile,.gallery-grid--landscape{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-banner{flex-direction:column;align-items:flex-start}
}
@media (max-width: 560px){
  .gallery-grid--mobile,.gallery-grid--landscape{grid-template-columns:1fr}
}


.gallery-grid .image-panel img{width:100%;display:block;object-fit:cover;background:#eef3f8}
.pricing-card .module-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(16,42,67,.08)}
.pricing-card .module-item:last-child{border-bottom:none}


.pricing-modern-wrap{position:relative}
.pricing-modern-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
  align-items:start;
}
.pricing-modern-card{
  background:#fff;
  border:1px solid rgba(16,42,67,.08);
  border-radius:28px;
  padding:28px;
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.pricing-modern-card--primary{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(29,111,220,.16);
  box-shadow:0 18px 40px rgba(29,111,220,.12);
}
.pricing-modern-badge{
  display:inline-block;
  padding:8px 12px;
  border-radius:999px;
  background:#e8f1ff;
  color:#0f4c81;
  font-size:13px;
  font-weight:700;
  margin-bottom:14px;
}
.pricing-modern-card h3{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.15;
}
.pricing-modern-price{
  font-size:58px;
  line-height:1;
  font-weight:800;
  color:#0f4c81;
  margin:0 0 12px;
}
.pricing-modern-price span{
  font-size:18px;
  font-weight:600;
  color:#5f6f82;
}
.pricing-modern-sub{
  margin:0 0 18px;
  color:#5f6f82;
  line-height:1.7;
}
.pricing-modern-list{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  display:grid;
  gap:10px;
}
.pricing-modern-list li{
  position:relative;
  padding-left:28px;
  line-height:1.65;
}
.pricing-modern-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#1d6fdc;
  font-weight:800;
}
.pricing-modern-note{
  margin:0 0 14px;
  padding:16px 18px;
  border-radius:18px;
  background:#f6f9fc;
  color:#425466;
  line-height:1.7;
}
.pricing-modern-modules{
  display:grid;
  gap:10px;
  margin:18px 0 20px;
}
.pricing-modern-module{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:16px;
  background:#f8fbff;
  border:1px solid rgba(16,42,67,.06);
}
.pricing-modern-module span{
  color:#203040;
  line-height:1.55;
}
.pricing-modern-module strong{
  white-space:nowrap;
  color:#0f4c81;
}
@media (max-width: 980px){
  .pricing-modern-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .pricing-modern-card{padding:22px}
  .pricing-modern-price{font-size:44px}
  .pricing-modern-module{flex-direction:column}
  .pricing-modern-module strong{white-space:normal}
}


.section-logo-marquee .container{overflow:hidden}
.logo-marquee{
  position:relative;
  overflow:hidden;
  width:100%;
  mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
}
.logo-marquee-track{
  display:flex;
  align-items:center;
  gap:18px;
  width:max-content;
  animation:logoMarqueeScroll 82s linear infinite;
}
.logo-marquee:hover .logo-marquee-track{
  animation-play-state:paused;
}
.logo-marquee-item{
  flex:0 0 auto;
  width:190px;
  height:96px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(16,42,67,.08);
  box-shadow:0 10px 30px rgba(15,23,42,.05);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.logo-marquee-item img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.92;
  transition:filter .25s ease, opacity .25s ease, transform .25s ease;
}
.logo-marquee-item:hover img{
  filter:grayscale(0%);
  opacity:1;
  transform:scale(1.03);
}
@keyframes logoMarqueeScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (max-width: 760px){
  .logo-marquee-track{gap:12px;animation-duration:34s}
  .logo-marquee-item{width:150px;height:82px;padding:14px;border-radius:16px}
}


.product-card-image-link{
  display:block;
}
.product-card-title-link{
  color:inherit;
  text-decoration:none;
}
.product-card-title-link:hover{
  text-decoration:none;
}


.hotel-testimonials-slider{
  position:relative;
}
.hotel-testimonials-slide{
  display:none;
}
.hotel-testimonials-slide.is-active{
  display:block;
}
.hotel-testimonials-slide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.hotel-testimonials-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:22px;
}
.hotel-testimonials-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  border:none;
  background:#c7d7e6;
  cursor:pointer;
  padding:0;
}
.hotel-testimonials-dot.is-active{
  background:#0f4c81;
}
@media (max-width:900px){
  .hotel-testimonials-slide-grid{
    grid-template-columns:1fr;
  }
}


.home-section-alt{padding-bottom: 32px;}
.process-card,.simple-info-card,.home-support-card{height:100%;}
.process-step{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:18px;font-weight:800;box-shadow:0 14px 30px rgba(14,118,188,.18);margin-bottom:16px;}
.process-card h3,.simple-info-card h3,.home-support-card h3{margin:0 0 10px;font-size:22px;line-height:1.25;}
.process-card p,.simple-info-card p,.home-support-card p{margin:0;color:var(--muted);line-height:1.75;}
.home-support-panel .feature-list{margin-top:18px;}
.home-support-card .feature-list{gap:12px;margin:18px 0 0;}
.home-support-card .hero-cta{margin-top:24px;}
@media (max-width:760px){.home-section-alt{padding-bottom:16px;}.process-step{width:38px;height:38px;font-size:17px;}}


.hero-info-strip{margin-top:26px}
.audience-card,.screenshot-card{height:100%}
.audience-card h3,.screenshot-card h3{margin:0 0 10px;font-size:22px;line-height:1.25}
.audience-card p,.screenshot-card p{margin:0;color:var(--muted);line-height:1.75}
.screenshot-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#fff;padding:18px}
.home-screens-section .btn-outline{margin-top:18px}


.program-anchor-nav-wrap{padding-top:28px;padding-bottom:10px}
.program-anchor-nav{display:flex;flex-wrap:wrap;gap:12px}
.program-anchor-nav a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:600;box-shadow:var(--shadow)}
.program-anchor-nav a:hover{transform:translateY(-1px);text-decoration:none}
.program-highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.program-highlight-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.program-highlight-card h3{margin:0 0 10px;font-size:19px;line-height:1.25}
.program-highlight-card p{margin:0;color:var(--muted);line-height:1.7}
@media (max-width:1080px){.program-highlight-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.program-highlight-grid{grid-template-columns:1fr}.program-anchor-nav{flex-direction:column}.program-anchor-nav a{width:100%}}


.contact-hero .section-title{margin-bottom:28px}
.contact-hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mini-point{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px 22px;box-shadow:var(--shadow)}
.mini-point strong{display:block;font-size:17px;color:#17324b;margin-bottom:8px}
.mini-point span{display:block;color:var(--muted);line-height:1.7;font-size:15px}
.contact-card--stacked{display:grid;gap:20px;align-content:start}
.contact-side-box{padding:22px;border-radius:22px;background:#f7fbff;border:1px solid #dce9f7}
.contact-side-box h4{margin:0 0 12px;font-size:20px}
.compact-list{display:grid;gap:10px;margin:0;padding-left:0;list-style:none}
.compact-list li{position:relative;padding-left:28px;color:#274661;line-height:1.6}
.compact-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--primary);font-weight:800}
.form-intro{margin:0 0 18px;color:var(--muted);line-height:1.8}
.form-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.contact-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.btn-light{background:#fff;color:var(--primary-dark)}
.btn-outline-light{border-color:rgba(255,255,255,.65);color:#fff;background:transparent}
.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
@media (max-width:1080px){.contact-hero-points{grid-template-columns:1fr}.contact-detail-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.form-row-2,.contact-detail-grid{grid-template-columns:1fr}.contact-actions{align-items:stretch}.contact-actions .btn,.contact-actions .btn-outline{width:100%;justify-content:center}}


/* FAQ / Novosti enhancements */
.faq-topic:hover,.news-topic-strip a:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.06)}
.faq-topic,.news-topic-strip a{transition:transform .2s ease, box-shadow .2s ease, background .2s ease}


/* Final polish: SEO/mobile/header/footer usability */
html{scroll-padding-top:96px}
.topbar a:hover{text-decoration:underline}
.nav a{line-height:1.35}
.nav-dropdown a{white-space:normal}
.footer a:hover{text-decoration:underline}
.footer-bottom a{display:inline;color:inherit}
@media (max-width: 760px){
  .topbar .container{justify-content:center;text-align:center;row-gap:6px}
  .site-header{background:rgba(255,255,255,.94)}
  .nav{top:calc(100% + 10px);max-height:calc(100vh - 118px);overflow:auto;-webkit-overflow-scrolling:touch}
  .nav a,.nav-item,.nav-item > a{width:100%}
  .nav-dropdown{padding:8px 12px 10px 12px}
  .nav-dropdown a{}
  .footer{padding-top:48px}
  .footer-grid{gap:18px}
  .footer-bottom{text-align:center;line-height:1.7}
}


/* Added: case studies, support page, extra screenshots */
.case-study-grid,.support-feature-grid{align-items:stretch;}
.case-study-card,.screenshot-card{height:100%;}
.case-study-card .feature-list{margin-top:18px;gap:10px;}
.case-study-tag{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(14,118,188,.12);color:var(--primary);font-weight:700;font-size:13px;letter-spacing:.02em;margin-bottom:14px;}
.screenshot-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.support-split{align-items:start;}
.support-stats .stat-card span{text-transform:none;}
@media (max-width: 1160px){
  .screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 720px){
  .screenshot-grid{grid-template-columns:1fr;}
}

.process-grid-six{grid-template-columns:repeat(3,1fr);}
.process-cta-row{display:flex;justify-content:center;margin-top:28px;}
.process-cta-row .btn{min-width:260px;text-align:center;}
@media (max-width:900px){.process-grid-six{grid-template-columns:repeat(2,1fr);}}
@media (max-width:760px){.process-grid-six{grid-template-columns:1fr;}.process-cta-row .btn{width:100%;max-width:360px;}}


.actions-reference{white-space:nowrap;}
.process-step-card{height:100%;}
.process-step-card .card-body{position:relative;padding-top:20px;}
.process-step-card h3{margin:0 0 10px;font-size:22px;line-height:1.25;}
.process-step-card p{margin:0;color:var(--muted);line-height:1.75;}
.process-step-number{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(14,118,188,.12);color:var(--primary);font-weight:800;font-size:16px;}
@media (max-width: 900px){.actions{gap:8px}.actions .btn,.actions .btn-outline{padding:12px 16px;font-size:14px;}}
@media (max-width: 760px){.actions{display:flex;gap:8px;align-items:center;margin-left:auto}.actions .btn-outline,.actions .btn{display:inline-flex;padding:10px 12px;font-size:13px}.actions .btn{white-space:nowrap}.nav{top:calc(100% + 12px);} }
@media (max-width: 520px){.actions{flex:1;justify-content:flex-end}.actions .btn-outline,.actions .btn{padding:9px 10px;font-size:12px}.actions-reference{max-width:145px;overflow:hidden;text-overflow:ellipsis}}


/* Kontakt PHP forma */
.form-status { margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; font-weight: 600; }
.form-status.success { background: #edf9f0; color: #216a36; border: 1px solid #bfe3c8; }
.form-status.error { background: #fff4f4; color: #9b1c1c; border: 1px solid #f1c2c2; }
.form-help { margin-top: 8px; font-size: 14px; color: #5f6b7a; }
.form-errors { margin: 0 0 16px; padding-left: 18px; color: #9b1c1c; }
.form-grid input.input-error, .form-grid textarea.input-error, .form-grid select.input-error { border-color: #d9534f; background: #fffafa; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.math-check-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: end; }
@media (max-width: 760px) { .math-check-wrap { grid-template-columns: 1fr; } }
