/*
   Template: aibat — 前台目录 / Hotel Registry Directory
   Style: Marketplace Directory + Soft UI Evolution (light)
   Colors: Petrol #1A4454 + Brass CTA #854D0E + Ivory #F4F1EA
   Distinct from: awevm (sage/cyan/burgundy ticket), solis (forest/terracotta pillars),
                  cplinli (navy/violet console), daylight (royal blue/amber),
                  lucid (sky/orange), dx (teal/coral), ember (rose/amber)
   CSS Prefix: aib
   WCAG AA: #1A1A1A on #F4F1EA ≈ 15:1 | #fff on #854D0E ≈ 5.8:1 | #fff on #1A4454 ≈ 9:1
*/
:root{
  --aib-ink:#1A1A1A;--aib-ink-sec:#3F3F46;--aib-muted:#71717A;
  --aib-petrol:#1A4454;--aib-petrol-dark:#123542;--aib-petrol-soft:#D7E4E8;
  --aib-brass:#854D0E;--aib-brass-hover:#713F12;
  --aib-bg:#F4F1EA;--aib-bg-alt:#EBE6DC;--aib-card:#fff;
  --aib-border:#E4DDD0;
  --aib-radius:16px;--aib-radius-sm:10px;
  --aib-shadow:0 10px 28px rgba(26,68,84,.07);
  --aib-z-nav:100;--aib-z-base:10;
  --aib-transition:all .22s ease;
  --aib-font:"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{font-family:var(--aib-font);background:var(--aib-bg);color:var(--aib-ink);line-height:1.7;overflow-x:hidden}
a{color:var(--aib-petrol);text-decoration:none;transition:var(--aib-transition);cursor:pointer}
a:hover{color:var(--aib-brass)}
a:focus-visible,button:focus-visible{outline:2px solid var(--aib-brass);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}
.aib-container{max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:var(--aib-z-base)}
.aib-em{color:var(--aib-petrol)}

/* NAV */
.aib-nav{position:fixed;top:0;left:0;right:0;z-index:var(--aib-z-nav);background:rgba(244,241,234,.9);backdrop-filter:blur(12px);border-bottom:1px solid transparent}
.aib-nav.scrolled{border-bottom-color:var(--aib-border);background:rgba(244,241,234,.97)}
.aib-nav-inner{display:flex;align-items:center;height:64px;gap:16px}
.aib-logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--aib-ink);letter-spacing:-.03em;flex-shrink:0}
.aib-logo:hover{color:var(--aib-ink)}
.aib-logo-mark{width:32px;height:32px;border-radius:10px;background:var(--aib-petrol);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--aib-shadow)}
.aib-logo-mark svg{width:18px;height:18px}
.aib-nav-links{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}
.aib-nav-links a{font-size:.86rem;font-weight:600;color:var(--aib-ink-sec);padding:8px 14px;border-radius:999px;min-height:40px;display:inline-flex;align-items:center}
.aib-nav-links a:hover,.aib-nav-links a[aria-current="page"]{background:var(--aib-petrol-soft);color:var(--aib-petrol-dark)}
.aib-nav-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--aib-brass);color:#fff;font-size:.82rem;font-weight:700;border-radius:999px;flex-shrink:0}
.aib-nav-cta:hover{background:var(--aib-brass-hover);color:#fff}
.aib-mobile-btn{display:none;background:transparent;border:1px solid var(--aib-border);border-radius:10px;padding:8px;color:var(--aib-ink);min-width:44px;min-height:44px}

/* HERO — directory search */
.aib-hero{padding:120px 0 40px;text-align:center}
.aib-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--aib-border);border-radius:999px;font-size:.75rem;font-weight:700;color:var(--aib-petrol-dark);background:#fff;margin-bottom:18px}
.aib-hero h1{font-size:3rem;font-weight:800;letter-spacing:-.045em;line-height:1.08;max-width:820px;margin:0 auto 16px}
.aib-hero-lead{font-size:1.05rem;color:var(--aib-ink-sec);max-width:620px;margin:0 auto 28px}
.aib-search{display:flex;align-items:center;gap:12px;max-width:720px;margin:0 auto 18px;padding:8px 8px 8px 18px;background:#fff;border:1px solid var(--aib-border);border-radius:999px;box-shadow:var(--aib-shadow);color:var(--aib-muted);font-weight:600}
.aib-search svg{flex-shrink:0;color:var(--aib-petrol)}
.aib-search span{flex:1;text-align:left;font-size:.95rem}
.aib-search-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;background:var(--aib-brass);color:#fff;border-radius:999px;font-weight:700;min-height:44px}
.aib-search:hover{border-color:var(--aib-petrol);color:var(--aib-ink)}
.aib-search:hover .aib-search-btn{background:var(--aib-brass-hover);color:#fff}
.aib-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.aib-chip{display:inline-flex;padding:8px 14px;background:#fff;border:1px solid var(--aib-border);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--aib-ink-sec)}
.aib-chip:hover{border-color:var(--aib-petrol);color:var(--aib-petrol)}

.aib-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;background:var(--aib-brass);color:#fff;font-weight:700;border-radius:999px;min-height:48px;border:none}
.aib-btn-primary:hover{background:var(--aib-brass-hover);color:#fff}
.aib-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;background:#fff;color:var(--aib-ink);font-weight:700;border-radius:999px;border:1px solid var(--aib-border);min-height:48px}
.aib-btn-ghost:hover{border-color:var(--aib-petrol);color:var(--aib-petrol)}
.aib-btn-block{width:100%}

/* DIRECTORY 6-up */
.aib-section{padding:72px 0;scroll-margin-top:80px}
.aib-section-alt{background:var(--aib-bg-alt)}
.aib-sec-head{text-align:center;max-width:640px;margin:0 auto 36px}
.aib-tag{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--aib-brass);margin-bottom:8px}
.aib-sec-head h2{font-size:2rem;letter-spacing:-.035em;line-height:1.15;margin-bottom:8px}
.aib-sec-head p{color:var(--aib-ink-sec)}
.aib-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--aib-petrol)}

.aib-dir{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aib-card{background:var(--aib-card);border:1px solid var(--aib-border);border-radius:var(--aib-radius);overflow:hidden;box-shadow:var(--aib-shadow);display:flex;flex-direction:column;text-align:left;color:inherit}
.aib-card:hover{border-color:var(--aib-petrol);color:inherit;transform:translateY(-2px)}
.aib-card img{width:100%;height:148px;object-fit:cover}
.aib-card-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column}
.aib-card-n{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--aib-brass);margin-bottom:6px}
.aib-card h3{font-size:1.05rem;margin-bottom:8px;letter-spacing:-.02em;line-height:1.35}
.aib-card p{font-size:.86rem;color:var(--aib-ink-sec);margin-bottom:12px;flex:1}

/* LEDGER */
.aib-ledger{background:#fff;border:1px solid var(--aib-border);border-radius:var(--aib-radius);overflow:hidden;box-shadow:var(--aib-shadow)}
.aib-ledger-head,.aib-ledger-row{display:grid;grid-template-columns:1.2fr 1.4fr .8fr;gap:12px;padding:14px 20px}
.aib-ledger-head{background:var(--aib-petrol);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.aib-ledger-row{border-top:1px solid var(--aib-border);font-size:.92rem}
.aib-ledger-row:nth-child(odd){background:#FAF8F3}
.aib-ok{color:#166534;font-weight:700}

/* TWIN PORTALS */
.aib-portals{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.aib-portal{display:grid;grid-template-columns:.9fr 1.1fr;min-height:220px;background:#fff;border:1px solid var(--aib-border);border-radius:var(--aib-radius);overflow:hidden;box-shadow:var(--aib-shadow);color:inherit}
.aib-portal:hover{border-color:var(--aib-petrol);color:inherit}
.aib-portal img{width:100%;height:100%;object-fit:cover;min-height:220px}
.aib-portal-body{padding:24px 22px}
.aib-portal-body h3{font-size:1.25rem;margin:8px 0 10px}

/* APP DOCK */
.aib-dock{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center;background:#fff;border:1px solid var(--aib-border);border-radius:var(--aib-radius);padding:28px;box-shadow:var(--aib-shadow)}
.aib-dock img{width:100%;border-radius:var(--aib-radius-sm)}
.aib-dock h2{font-size:1.8rem;margin-bottom:10px;letter-spacing:-.03em}
.aib-dock p{color:var(--aib-ink-sec);margin-bottom:18px}

/* ABOUT / PAGE */
.aib-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.aib-split img{width:100%;border-radius:var(--aib-radius);border:1px solid var(--aib-border)}
.aib-split h2{font-size:1.85rem;margin-bottom:12px;letter-spacing:-.03em}
.aib-split p{color:var(--aib-ink-sec);margin-bottom:12px}
.aib-page-hero{padding:120px 0 28px;text-align:center}
.aib-page-hero h1{font-size:2.5rem;letter-spacing:-.04em;margin-bottom:10px}
.aib-page-hero p{color:var(--aib-ink-sec);max-width:560px;margin:0 auto}

/* FAQ */
.aib-faq{max-width:760px;margin:0 auto;border-top:1px solid var(--aib-border)}
.aib-faq-item{border-bottom:1px solid var(--aib-border)}
.aib-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border:none;padding:18px 0;text-align:left;font-weight:700;color:var(--aib-ink);font-size:.98rem;min-height:56px}
.aib-faq-q svg{flex-shrink:0;transition:transform .22s}
.aib-faq-item.active .aib-faq-q svg{transform:rotate(45deg)}
.aib-faq-a{display:none;padding:0 0 18px;color:var(--aib-ink-sec);font-size:.92rem}
.aib-faq-item.active .aib-faq-a{display:block}

/* RECOMMEND / CTA / FOOTER */
.aib-recommend{padding:64px 0}
.aib-recommend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.aib-recommend-grid a{display:block;padding:14px 16px;background:#fff;border:1px solid var(--aib-border);border-radius:var(--aib-radius-sm);font-size:.84rem;color:var(--aib-ink-sec)}
.aib-recommend-grid a:hover{border-color:var(--aib-petrol);color:var(--aib-petrol)}
.aib-cta{padding:8px 0 80px}
.aib-cta-box{text-align:center;padding:48px 24px;background:var(--aib-petrol);color:#fff;border-radius:var(--aib-radius)}
.aib-cta-box h2{font-size:2rem;margin-bottom:10px;letter-spacing:-.03em}
.aib-cta-box p{opacity:.86;margin-bottom:22px}
.aib-cta-box .aib-btn-primary{background:var(--aib-brass)}

.aib-footer{border-top:1px solid var(--aib-border);padding:40px 0 24px}
.aib-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;margin-bottom:24px}
.aib-footer-desc{font-size:.85rem;color:var(--aib-ink-sec);max-width:380px;margin-top:10px}
.aib-footer-nav h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--aib-brass);margin-bottom:12px}
.aib-footer-nav ul{display:flex;flex-direction:column;gap:8px}
.aib-footer-nav a{font-size:.86rem;color:var(--aib-ink-sec)}
.aib-footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.75rem;color:var(--aib-muted)}
.aib-footer-bottom a{color:inherit}

/* CONTACT desk */
.aib-desk{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.aib-desk-card{width:100%;max-width:480px;background:#fff;border:1px solid var(--aib-border);border-radius:20px;padding:36px 28px;box-shadow:var(--aib-shadow);text-align:center}
.aib-desk-card h2{font-size:1.7rem;margin:10px 0 8px;letter-spacing:-.03em}
.aib-desk-card > p{color:var(--aib-ink-sec);margin-bottom:20px}
.aib-desk-list{text-align:left;display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.aib-desk-item{padding:10px 12px;background:var(--aib-bg);border-radius:var(--aib-radius-sm);font-size:.88rem}
.aib-desk-item b{display:block;font-size:.9rem}
.aib-desk-item span{font-size:.76rem;color:var(--aib-muted)}
.aib-desk-timer{margin-top:14px;font-size:.8rem;color:var(--aib-muted)}
.aib-desk-timer strong{color:var(--aib-brass)}

/* 404 */
.aib-404{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px 20px}
.aib-404 h1{font-size:6.5rem;letter-spacing:-.06em;line-height:1;color:var(--aib-petrol)}
.aib-404 h2{margin:8px 0 10px}
.aib-404 p{color:var(--aib-ink-sec);margin-bottom:24px}

.aib-reveal{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}
.aib-reveal.visible{opacity:1;transform:none}

@media(max-width:1024px){
  .aib-hero h1{font-size:2.3rem}
  .aib-dir,.aib-portals,.aib-split,.aib-dock{grid-template-columns:1fr}
  .aib-portal{grid-template-columns:1fr}
  .aib-portal img{min-height:180px;height:180px}
}
@media(max-width:768px){
  .aib-nav-links{display:none;position:fixed;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:12px 16px 20px;border-bottom:1px solid var(--aib-border);box-shadow:0 16px 28px rgba(26,68,84,.08);z-index:var(--aib-z-nav)}
  .aib-nav-links.active{display:flex}
  .aib-nav-links a{min-height:44px}
  .aib-nav-cta{display:none}
  .aib-mobile-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
  .aib-hero{padding:104px 0 32px}
  .aib-hero h1,.aib-page-hero h1{font-size:1.95rem}
  .aib-search{flex-direction:column;align-items:stretch;border-radius:16px;padding:14px}
  .aib-search-btn{width:100%}
  .aib-dir{grid-template-columns:1fr}
  .aib-ledger-head,.aib-ledger-row{grid-template-columns:1fr;gap:4px}
  .aib-footer-top{grid-template-columns:1fr}
  .aib-section{padding:52px 0}
}
