
:root{
  --blue:#075dcc;
  --blue-dark:#063c8f;
  --navy:#061d49;
  --navy-2:#082d69;
  --green:#08aa74;
  --purple:#7a5be0;
  --orange:#ff831f;
  --text:#0b1732;
  --muted:#697386;
  --line:#e9edf4;
  --surface:#ffffff;
  --page:#f5f8fc;
  --shadow:0 14px 36px rgba(17,45,91,.10);
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--page);
  line-height:1.55;
}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
svg{width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(1320px,calc(100% - 40px));margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(226,232,240,.9);
}
.header-inner{height:78px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:11px;min-width:330px}
.brand-mark{width:44px;height:44px}
.brand-text{display:flex;flex-direction:column;line-height:1.12}
.brand-text strong{font-size:21px;letter-spacing:.02em;color:#123f8f}
.brand-text small{font-size:13px;color:#35415b;margin-top:4px}
.main-nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.main-nav>a,.nav-dropdown>button{
  border:0;background:transparent;padding:26px 15px 23px;
  color:#111b31;font-size:14px;cursor:pointer;position:relative;
}
.main-nav>a.active{color:var(--blue);font-weight:700}
.main-nav>a.active:after{
  content:"";position:absolute;left:14px;right:14px;bottom:16px;height:2px;background:var(--blue);border-radius:2px;
}
.nav-dropdown{position:relative}
.nav-dropdown>button span{font-size:13px;margin-left:6px}
.dropdown-menu{
  position:absolute;top:64px;left:0;min-width:210px;background:white;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);padding:8px;opacity:0;transform:translateY(8px);
  visibility:hidden;transition:.2s ease;
}
.dropdown-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:13px}
.dropdown-menu a:hover{background:#f1f6ff;color:var(--blue)}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:none}
.header-actions{display:flex;align-items:center;gap:10px}
.icon-btn{width:42px;height:42px;border:0;background:transparent;color:#07162e;cursor:pointer;display:grid;place-items:center;border-left:1px solid #eef1f5}
.login-btn{
  height:42px;padding:0 16px;background:linear-gradient(135deg,#0a68e8,#0756bd);
  color:white;border-radius:8px;display:flex;align-items:center;gap:8px;font-weight:650;font-size:14px;
  box-shadow:0 6px 16px rgba(7,93,204,.24)
}
.menu-toggle{display:none;background:none;border:0;padding:8px;margin-left:auto}
.menu-toggle span{display:block;width:24px;height:2px;background:#14213d;margin:5px 0;border-radius:2px}

/* HERO */
.hero{
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(2,33,79,.97) 0%,rgba(4,55,112,.93) 43%,rgba(8,61,112,.74) 64%,rgba(4,37,79,.62) 100%),
    linear-gradient(180deg,#21446a,#63758e);
  min-height:312px;color:white;
}
.hero-pattern{
  position:absolute;inset:0;opacity:.27;
  background:
    linear-gradient(90deg,transparent 0 57%,rgba(255,255,255,.08) 57% 58%,transparent 58% 74%,rgba(255,255,255,.08) 74% 75%,transparent 75%),
    repeating-linear-gradient(0deg,transparent 0 48px,rgba(255,255,255,.06) 48px 51px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 16px,transparent 16px 44px);
  mask-image:linear-gradient(90deg,transparent 5%,rgba(0,0,0,.45) 35%,#000 60%);
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.55fr .85fr;gap:48px;align-items:center;padding:44px 0 42px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#b8d7ff;margin:0 0 8px}
.eyebrow.dark{color:var(--blue)}
.hero h1{font-size:38px;line-height:1.16;margin:0 0 12px;letter-spacing:-.025em}
.hero-lead{font-size:16px;max-width:690px;margin:0 0 18px;color:#e6effc}
.catalog-search{
  background:white;height:48px;border-radius:8px;display:flex;align-items:center;max-width:760px;
  overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.16)
}
.catalog-search select{border:0;outline:0;height:100%;padding:0 17px;background:white;color:#192238;min-width:170px}
.search-divider{width:1px;height:26px;background:#e5e9ef}
.catalog-search input{border:0;outline:0;flex:1;height:100%;padding:0 16px;color:#263247;min-width:0}
.catalog-search button{width:50px;height:40px;margin-right:4px;border:0;border-radius:7px;background:var(--blue);color:white;display:grid;place-items:center;cursor:pointer}
.popular{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12px}
.popular>span{font-weight:700}
.popular a{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.08)}
.popular a:hover{background:rgba(255,255,255,.2)}
.stats-panel{
  background:rgba(255,255,255,.96);color:var(--text);border-radius:14px;
  display:grid;grid-template-columns:1fr 1fr;box-shadow:0 20px 45px rgba(0,0,0,.2);
  overflow:hidden;position:relative
}
.stat-item{min-height:102px;display:flex;align-items:center;gap:13px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-item:nth-child(2n){border-right:0}
.stat-item:nth-child(n+3){border-bottom:0}
.stat-item strong{font-size:19px;display:block}
.stat-item small{display:block;color:#525e72;margin-top:3px;font-size:12px}
.stat-icon,.service-icon{display:grid;place-items:center;border-radius:50%;color:#fff;flex:0 0 auto}
.stat-icon{width:48px;height:48px}
.stat-icon svg,.service-icon svg{width:24px;height:24px}
.blue{background:linear-gradient(135deg,#2280ef,#075cca)}
.green{background:linear-gradient(135deg,#16c18b,#049a68)}
.purple{background:linear-gradient(135deg,#9677ed,#6d4ed0)}
.orange{background:linear-gradient(135deg,#ff9c37,#ff7414)}
.stats-note{position:absolute;left:0;right:0;bottom:-27px;text-align:right;color:#dce9fb;font-size:10px}

/* SERVICES */
.quick-services{margin-top:14px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{
  background:white;border:1px solid var(--line);border-radius:11px;padding:16px 20px;display:flex;align-items:flex-start;gap:16px;
  box-shadow:0 5px 18px rgba(22,53,94,.06);transition:.2s ease;min-height:114px
}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.service-icon{width:52px;height:52px;margin-top:2px}
.service-card>span:last-child{display:flex;flex-direction:column}
.service-card strong{font-size:15px}
.service-card small{font-size:13px;color:#4d596d;margin:2px 0 8px}
.service-card b{font-size:12px;color:var(--blue)}

/* CONTENT */
.content-section{padding:14px 0 22px}
.main-content-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(320px,1fr);gap:18px}
.featured-box,.info-box{
  background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 18px rgba(22,53,94,.05)
}
.featured-box{padding:16px 24px 18px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}
.section-heading h2{font-size:19px;margin:0}
.section-heading a{font-size:12px;color:var(--blue);font-weight:650}
.books-wrap{position:relative}
.book-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:152px;gap:22px;overflow:auto;scrollbar-width:none;scroll-behavior:smooth;padding:0 8px}
.book-carousel::-webkit-scrollbar{display:none}
.book-card{min-width:0}
.book-cover{
  height:170px;border-radius:3px;padding:18px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;color:white;box-shadow:0 8px 18px rgba(0,0,0,.16);position:relative;overflow:hidden
}
.book-cover:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 16px,rgba(255,255,255,.06) 16px 18px)}
.book-cover span{position:relative;z-index:1;font-family:Georgia,serif;font-weight:700;line-height:1.13;font-size:17px}
.book-cover small{position:relative;z-index:1;font-size:9px;margin-top:14px;letter-spacing:.16em;opacity:.85}
.cover-1{background:linear-gradient(150deg,#0b274b,#00528f)}
.cover-2{background:linear-gradient(150deg,#fff4e5,#e69b44);color:#432d20}
.cover-3{background:linear-gradient(150deg,#051c42,#0b5fa2)}
.cover-4{background:linear-gradient(150deg,#16272b,#9b4d2e)}
.cover-5{background:linear-gradient(150deg,#78a96c,#e5d38a);color:#1f442e}
.cover-6{background:linear-gradient(150deg,#5d3e94,#b891d9)}
.book-card h3{font-size:12.5px;margin:8px 0 2px;line-height:1.35}
.book-card p{font-size:11px;color:#687286;margin:0}
.carousel-btn{
  position:absolute;top:73px;z-index:3;width:28px;height:28px;border:0;border-radius:50%;background:#eef3fa;
  color:#29446d;font-size:21px;display:grid;place-items:center;cursor:pointer
}
.carousel-btn.prev{left:-14px}.carousel-btn.next{right:-14px}
.side-column{display:flex;flex-direction:column;gap:14px}
.info-box{padding:14px 18px}
.section-heading.compact{margin-bottom:4px}
.section-heading.compact h2,.hours-title h2{font-size:15px}
.announcement{display:grid;grid-template-columns:36px 1fr 12px;gap:10px;align-items:center;padding:8px 0}
.announcement+ .announcement{border-top:1px solid #f0f2f5}
.announcement time{background:#f0f4fa;border-radius:5px;display:grid;place-items:center;padding:4px 0;line-height:1}
.announcement time b{font-size:13px;color:#154d9e}
.announcement time span{font-size:8px;color:#6c7483;margin-top:3px}
.announcement h3{font-size:12px;margin:0 0 2px;font-weight:600}
.announcement p{font-size:10px;color:#737d8d;margin:0}
.dot{width:6px;height:6px;border-radius:50%;display:block}
.red{background:#ef4444}.blue-dot{background:#4486ee}.gray{background:#c3c9d2}
.hours-box{position:relative;overflow:hidden}
.hours-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.clock-icon{color:var(--blue);display:grid;place-items:center}
.hours-title h2{margin:0}
.hours-row{display:grid;grid-template-columns:1fr 1fr;font-size:11px;padding:5px 0}
.hours-row span{color:#46536a}
.hours-watermark{position:absolute;right:22px;bottom:-18px;font-size:90px;color:#eff4fb}

/* ABOUT */
.about-strip{background:white;border-top:1px solid var(--line);padding:32px 0}
.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}
.about-grid h2{margin:3px 0 0;font-size:25px;line-height:1.3}
.about-grid>p{margin:0;color:#5d687b}

/* FOOTER */
.site-footer{background:linear-gradient(120deg,#082f7b,#061f5d 70%,#041748);color:white;padding:28px 0 0}
.footer-grid{display:grid;grid-template-columns:1.2fr .9fr .8fr 1.1fr .8fr;gap:28px}
.site-footer h3{font-size:13px;margin:0 0 12px}
.site-footer p,.footer-links a{font-size:11px;color:#bdcbe6}
.site-footer p{margin:6px 0}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links.two-cols{display:grid;grid-template-columns:1fr 1fr}
.footer-links a:before{content:"›";margin-right:7px;color:#d9e6ff}
.footer-links a:hover{color:white}
.socials{display:flex;gap:10px;margin-top:14px}
.socials a{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#b9c8e4;color:#0b3474;font-size:11px;font-weight:800}
.footer-brand{display:flex;align-items:center;justify-content:center;gap:10px}
.footer-brand img{width:58px;height:58px}
.footer-brand div{display:flex;flex-direction:column;line-height:1}
.footer-brand strong{font-size:21px}.footer-brand span{font-size:18px;margin-top:4px}
.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:24px;padding:12px 0;display:flex;justify-content:space-between;color:#93a8cf;font-size:10px}
.copyright a{color:#c6d7f5}

/* RESPONSIVE */
@media (max-width:1120px){
  .brand{min-width:auto}
  .brand-text small{display:none}
  .main-nav{gap:0}
  .main-nav>a,.nav-dropdown>button{padding-left:10px;padding-right:10px}
  .hero-grid{grid-template-columns:1.3fr .9fr}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .header-inner{height:68px}
  .brand-text strong{font-size:18px}
  .menu-toggle{display:block}
  .main-nav{
    position:absolute;left:20px;right:20px;top:72px;background:white;border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--shadow);padding:10px;display:none;flex-direction:column;align-items:stretch
  }
  .main-nav.open{display:flex}
  .main-nav>a,.nav-dropdown>button{display:block;width:100%;text-align:left;padding:11px 12px;border-radius:8px}
  .main-nav>a.active:after{display:none}
  .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;display:none}
  .nav-dropdown.open .dropdown-menu{display:block}
  .header-actions .icon-btn{display:none}
  .hero-grid{grid-template-columns:1fr;padding:38px 0 44px}
  .stats-panel{max-width:640px}
  .main-content-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:16px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .container{width:min(100% - 24px,1320px)}
  .brand-mark{width:38px;height:38px}
  .brand-text strong{font-size:15px}
  .login-btn{padding:0 12px}
  .login-btn span{display:none}
  .hero h1{font-size:31px}
  .hero-lead{font-size:14px}
  .catalog-search{height:auto;display:grid;grid-template-columns:1fr 50px}
  .catalog-search select{grid-column:1/-1;height:42px;border-bottom:1px solid #edf0f4}
  .search-divider{display:none}
  .catalog-search input{height:46px}
  .catalog-search button{grid-column:2;grid-row:2;margin:auto 4px auto 0}
  .stats-panel{grid-template-columns:1fr 1fr}
  .stat-item{padding:14px;min-height:88px;gap:9px}
  .stat-icon{width:40px;height:40px}
  .stat-item strong{font-size:15px}
  .stat-item small{font-size:10px}
  .service-grid{grid-template-columns:1fr}
  .featured-box{padding:14px}
  .book-carousel{grid-auto-columns:135px;gap:16px}
  .book-cover{height:158px}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{justify-content:flex-start}
  .copyright{flex-direction:column;gap:6px}
}
