:root{--navy:#142f57;--navy2:#0c2343;--ink:#12294c;--muted:#5e6f88;--blue:#2563eb;--green:#00c965;--line:#dfe7f2;--soft:#f4f7fb;--white:#fff;--radius:18px;--shadow:0 18px 50px rgba(20,47,87,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.topbar{height:34px;background:#071323;color:#fff;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:700}.nav{height:76px;display:flex;align-items:center;gap:34px;padding:0 max(20px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid #edf1f6}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:21px;white-space:nowrap}.brandmark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:12px}.brand small{display:block;color:#8090a6;font-size:9px;font-weight:650}.nav-main{display:flex;gap:26px;align-items:center;margin-left:20px}.nav-main>a,.menu-trigger{font-weight:700;font-size:13px;border:0;background:none;color:var(--ink);padding:27px 0;cursor:pointer}.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.nav-actions a{font-size:13px;font-weight:750}.pill,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 18px;font-weight:800;border:1px solid transparent}.pill,.primary{background:var(--navy);color:#fff}.secondary{border-color:#d7e1ee;background:#fff;color:var(--ink)}.hamb{display:none;border:0;background:#f0f4f9;border-radius:10px;padding:9px 12px}.mega{display:none;position:absolute;left:0;right:0;top:110px;background:var(--navy);color:#fff;padding:34px max(20px,calc((100vw - 1240px)/2));box-shadow:0 24px 50px rgba(8,25,50,.24);grid-template-columns:repeat(4,1fr);gap:42px}.mega.open{display:grid}.mega h4{color:#22df78;margin:0 0 15px;font-size:17px}.mega a{display:block;padding:8px 0;font-weight:750}.mega small{display:block;color:#c4d0df;font-weight:500}.mega-foot{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;display:flex;gap:35px}.hero{background:linear-gradient(105deg,#eef4fb 0,#dbe6f3 55%,#f8fafc 100%);min-height:540px;padding:75px max(20px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr .92fr;gap:65px;align-items:center}.eyebrow{color:var(--green);font-size:12px;font-weight:900;letter-spacing:.13em}.hero h1{font-size:clamp(42px,5vw,66px);line-height:1.04;letter-spacing:-.045em;margin:14px 0 20px;max-width:720px}.hero h1 em{display:block;font-style:normal;color:var(--green)}.hero p{font-size:17px;color:#4f6077;max-width:650px}.hero-actions{display:flex;gap:11px;margin:28px 0}.trust{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#63758d}.hero-visual{min-height:380px;position:relative;display:grid;place-items:center}.phone{width:215px;height:365px;border:8px solid #1a3152;border-radius:38px;background:#f7f9fc;box-shadow:var(--shadow);padding:55px 18px 18px;position:relative}.phone:before{content:"";position:absolute;width:70px;height:18px;background:#1a3152;border-radius:0 0 12px 12px;top:0;left:50%;transform:translateX(-50%)}.phone-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}.phone-card b{display:block}.phone-card small{color:var(--muted)}.float-card{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:18px;width:190px}.fc1{left:0;top:90px}.fc2{right:0;bottom:65px}.float-card i{font-style:normal;color:var(--green);font-size:24px}.float-card b,.float-card small{display:block}.float-card small{color:var(--muted)}.paperplane{position:absolute;right:45px;top:80px;font-size:70px;color:var(--green);transform:rotate(-15deg)}.strip{background:#fff;border-bottom:1px solid var(--line);padding:18px max(20px,calc((100vw - 1240px)/2));display:flex;gap:24px;justify-content:center;flex-wrap:wrap;font-weight:750;font-size:12px}.section{max-width:1240px;margin:auto;padding:78px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 38px}.section-head h2,.region h2{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.035em;margin:10px 0}.section-head p,.region p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.live-card{border:1px solid var(--line);border-radius:20px;padding:25px;background:#fff;min-height:190px;box-shadow:0 7px 24px rgba(20,47,87,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.live-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b9cae0}.live-card .ico{width:45px;height:45px;border-radius:12px;background:#eef5ff;display:grid;place-items:center;color:var(--blue);font-weight:900}.live-card h3{font-size:19px;margin:22px 0 7px}.live-card p{color:var(--muted);font-size:13px}.live-card .arrow{float:right;font-size:20px;color:var(--green)}.region{max-width:1240px;margin:0 auto 30px;border-radius:28px;padding:55px 60px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.region p{color:#c7d2e0}.region .eyebrow{color:#3ce68a}.region-stat{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:25px}.stat b{font-size:48px;display:block}.stat span{color:#45e38b;font-weight:850}.explorer{background:var(--soft);max-width:none;padding-left:max(20px,calc((100vw - 1240px)/2));padding-right:max(20px,calc((100vw - 1240px)/2))}.search{max-width:780px;margin:0 auto 32px;display:flex;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px}.search input{flex:1;border:0;outline:0;padding:11px 13px;background:transparent}.search button{border:0;background:var(--navy);color:#fff;border-radius:9px;padding:0 24px;font-weight:800}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;min-height:145px}.service span{font-weight:850}.service p{font-size:13px;color:var(--muted)}.service b{font-size:12px;color:var(--blue)}.faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.faq details{padding:17px 0;border-bottom:1px solid var(--line)}.faq summary{font-weight:850;cursor:pointer}.faq p{color:var(--muted)}.final{max-width:1180px;margin:20px auto 80px;border-radius:25px;padding:55px;text-align:center;background:#eef4fb}.final h2{font-size:34px;margin:0 0 8px}.final p{color:var(--muted)}footer{background:#0e274a;color:#fff;padding:45px max(20px,calc((100vw - 1240px)/2)) 100px;display:grid;grid-template-columns:1fr auto;gap:25px}footer a{color:#c7d2df;margin-left:18px}.float-wa{position:fixed;right:18px;bottom:18px;z-index:55;background:#12c86c;color:#fff;border-radius:14px;padding:13px 16px;font-weight:900;box-shadow:0 10px 30px rgba(0,160,80,.22)}.float-wa span{margin-left:7px}.mobile-cta{display:none}.listing,.detail{max-width:1240px;margin:auto;padding:58px 0 90px}.listing h1,.detail h1{font-size:clamp(36px,4vw,56px);letter-spacing:-.04em}.pages{display:flex;justify-content:center;gap:7px;margin-top:35px}.pages a{border:1px solid var(--line);padding:8px 12px;border-radius:9px}.pages .active{background:var(--navy);color:#fff}.crumb{font-size:12px;color:var(--muted);margin-bottom:25px}.detail-hero{display:grid;grid-template-columns:1fr 340px;gap:45px}.detail-hero p{font-size:17px;color:var(--muted)}.contact-card,.featurebox,.rich{border:1px solid var(--line);border-radius:20px;background:#fff;padding:25px;box-shadow:0 7px 25px rgba(20,47,87,.04)}.contact-card .primary,.contact-card .secondary{width:100%;margin-top:8px}.detail-body{display:grid;grid-template-columns:1fr 310px;gap:35px;margin-top:35px}.rich{box-shadow:none}.rich img{max-width:100%;height:auto}.auth{min-height:100vh;background:var(--soft);display:grid;place-items:center;padding:25px}.authbox{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}.authbox label{display:block;margin:12px 0;color:var(--muted)}.authbox input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;margin-top:5px}.authbox button{width:100%;border:0;margin-top:10px}.center{text-align:center;margin-top:30px}@media(max-width:900px){.nav{padding:0 16px}.nav-main{display:none}.nav-actions .login{display:none}.hamb{display:block}.mega{top:110px;grid-template-columns:1fr 1fr;padding:25px 20px;max-height:calc(100vh - 110px);overflow:auto}.hero{grid-template-columns:1fr;padding:55px 20px}.hero-visual{min-height:330px}.section,.listing,.detail{padding:58px 20px}.cards,.service-grid{grid-template-columns:1fr 1fr}.region{margin:0 20px;grid-template-columns:1fr;padding:40px}.faq,.detail-hero,.detail-body{grid-template-columns:1fr}.contact-card{order:-1}footer{margin:0}.float-wa{bottom:72px}.float-wa span{display:none}.mobile-cta{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px}.mobile-cta a{text-align:center;font-size:12px;font-weight:800}}@media(max-width:560px){.topbar{font-size:10px;padding:0 10px;text-align:center}.brand small{display:none}.nav-actions{display:none}.mega{grid-template-columns:1fr;top:110px}.mega-foot{display:none}.hero h1{font-size:39px}.hero-actions{flex-direction:column}.hero-visual{min-height:300px}.phone{width:180px;height:300px}.float-card{width:150px;padding:12px}.fc1{left:0}.fc2{right:0}.paperplane{font-size:45px;right:15px}.cards,.service-grid{grid-template-columns:1fr}.region{margin:0 14px;padding:30px 22px}.region-stat{grid-template-columns:1fr 1fr}.stat{padding:18px}.stat b{font-size:36px}.search{flex-direction:column}.search button{padding:11px}.final{margin:15px 14px 80px;padding:35px 20px}footer{display:block}footer>div:nth-child(2){margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}footer a{margin:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* 2026-09-28 mobile polish: safe hero visual + button-style bottom navigation */
@media(max-width:900px){
  .mobile-cta{
    gap:8px;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
    border-top:1px solid #d8e2ef;
    background:rgba(255,255,255,.96);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    box-shadow:0 -10px 30px rgba(20,47,87,.10);
  }
  .mobile-cta a{
    min-height:48px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:#fff;
    font-size:12px;
    font-weight:850;
    box-shadow:0 7px 18px rgba(20,47,87,.12);
    transition:transform .16s ease,filter .16s ease;
  }
  .mobile-cta a:active{transform:scale(.97)}
  .mobile-cta a:nth-child(1){background:#15365f}
  .mobile-cta a:nth-child(2){background:#10bd67}
  .mobile-cta a:nth-child(3){background:#2563eb}
  .mobile-cta a:nth-child(1)::before{content:"▦";font-size:16px}
  .mobile-cta a:nth-child(2)::before{content:"●";font-size:11px}
  .mobile-cta a:nth-child(3)::before{content:"●";font-size:11px}
  .float-wa{bottom:82px}
}
@media(max-width:560px){
  .hero{overflow:hidden}
  .hero-visual{
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:340px;
    overflow:hidden;
    padding:12px 0;
  }
  .phone{
    width:164px;
    height:286px;
    border-width:7px;
    border-radius:32px;
    padding:48px 13px 13px;
  }
  .phone-card{padding:10px;margin-bottom:8px;font-size:13px}
  .phone-card small{font-size:11px;line-height:1.35;display:block}
  .float-card{
    width:138px;
    max-width:38vw;
    padding:11px;
    border-radius:15px;
    font-size:12px;
  }
  .float-card b{font-size:13px;line-height:1.3}
  .float-card small{font-size:10px;line-height:1.3}
  .float-card i{font-size:20px}
  .fc1{left:4px;top:90px}
  .fc2{right:4px;bottom:60px}
  .paperplane{right:10px;top:55px;font-size:38px}
}
@media(max-width:380px){
  .float-card{width:124px;max-width:37vw;padding:9px}
  .phone{width:150px;height:272px}
  .fc1{left:2px}
  .fc2{right:2px}
  .mobile-cta{gap:6px;padding-left:7px;padding-right:7px}
  .mobile-cta a{font-size:11px;min-height:46px}
}

/* 2026-09-28 unified catalogue/detail shell */
.nav-main .active{color:var(--blue)}
.catalog-grid{align-items:stretch}
.catalog-card{display:flex;flex-direction:column;min-height:220px;padding:24px;border:1px solid #d9e4f1;background:linear-gradient(145deg,#fff 0%,#f7faff 100%);box-shadow:0 10px 28px rgba(20,47,87,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden;position:relative}
.catalog-card:after{content:"";position:absolute;right:-35px;top:-35px;width:100px;height:100px;border-radius:50%;background:#edf4ff}
.catalog-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(20,47,87,.12);border-color:#b9cde5}
.catalog-card .service-icon{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;margin-bottom:18px;position:relative;z-index:1}
.catalog-card span{font-size:16px;line-height:1.4;position:relative;z-index:1}.catalog-card p{flex:1}.catalog-card b{margin-top:auto}.catalog-card b i{font-style:normal;transition:transform .18s ease;display:inline-block}.catalog-card:hover b i{transform:translateX(4px)}
.listing-count{color:var(--muted);margin-top:-8px}.detail-intro{padding:26px 0}.service-content{background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 12px 35px rgba(20,47,87,.06)}.featurebox{box-shadow:0 12px 35px rgba(20,47,87,.06)}.contact-email{display:block;margin-top:12px;color:var(--blue);font-weight:700;font-size:13px}
.site-footer{background:#0e274a;color:#fff;padding:52px max(20px,calc((100vw - 1240px)/2)) 105px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:38px}.site-footer h4{color:#39df85;margin:0 0 12px}.site-footer a{display:block;color:#d0dbea;margin:7px 0}.site-footer p{color:#aebdd0;max-width:330px}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;color:#9fb0c5}
@media(max-width:900px){.site-footer{grid-template-columns:1fr 1fr;padding-bottom:110px}.footer-brand,.footer-bottom{grid-column:1/-1}.listing,.detail{padding-bottom:110px}}
@media(max-width:560px){.site-footer{grid-template-columns:1fr;gap:24px}.footer-brand,.footer-bottom{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin:4px 0}.catalog-card{min-height:190px}.detail-intro{padding-top:5px}}
