/* Homepage geometry from the source theme. Keep component layout in one place. */
:root { --max:1360px; }
.container { width:100%; max-width:1360px; padding:0 35px; margin:0 auto; }
.hero { height:100vh; min-height:960px; }
.hero-slide,.hero-slide.active { transform:none; transition:opacity .6s; }
.hero-shade { background:linear-gradient(to bottom,rgba(0,40,80,.9),transparent 50%,rgba(0,40,80,.9)); }
.header { height:220px; padding:20px 0; }
.header-top { display:flex; align-items:flex-start; gap:0; padding-top:0; }
.logo { flex:0 0 25%; min-width:0; }
.logo img { width:290px; max-width:100%; }
.search-trigger { margin:0 30px 0 auto; flex:0 0 25%; }
.tools { flex:0 0 41.666667%; }
.tool-row { height:61px; padding:0 0 10px; margin:0 0 35px; }
.main-nav { height:50px; padding:0; gap:0; align-items:flex-start; justify-content:space-between; }
.main-nav>a { height:65px; padding:14px 0 0; font-size:16px; line-height:22px; font-weight:900; }
.main-nav>a::before { content:""; position:absolute; left:0; top:0; width:35px; height:5px; background:#fff; }
.hero-notices { display:flow-root; margin:0 auto; }
.hero-notice { position:relative; isolation:isolate; max-width:470px; padding:25px 0; margin-top:30px; }
.hero-notice::before { content:""; position:absolute; right:0; top:0; height:100%; width:calc(100% + 35vh); z-index:-1; background:linear-gradient(to right,rgba(10,70,130,0),rgba(10,70,130,.6) 47%,rgba(10,70,130,.8)); }
.hero-notices .hero-notice>a { display:block; width:auto; max-width:370px; padding:0 0 0 25px; margin:0; border-left:3px solid #fff; background:none; color:#fff; text-align:left; font-size:18px; line-height:1.6; font-weight:400; }
.hero-dots { display:none; }
.featured { margin-top:-230px; background:radial-gradient(ellipse at bottom center,rgba(40,100,160,.4),rgba(40,100,160,.1) 50%,transparent); }
.title-row>a { height:50px; padding-top:12px; }
.feature-card::after { display:none; }
.feature-card>div { top:0; right:0; bottom:auto; left:auto; width:465px; padding:30px 30px 30px 0; }
.feature-card h2 { font-weight:600; font-size:30px; line-height:30px; }
.chat-button { position:fixed; right:28px; bottom:13px; z-index:120; display:flex; align-items:center; gap:15px; height:40px; padding:0 18px; border:0; border-radius:30px; color:#fff; background:#64a0dc; font-size:14px; font-weight:700; box-shadow:0 3px 14px #0003; }
.cookie-bar { position:fixed; inset:0 0 auto; z-index:400; width:100%; height:auto; margin:0; padding:0; display:flex; background:transparent; color:#fff; font-size:16px; }
.cookie-bar>.cookie-bar__container { position:relative; width:100%; min-height:76px; margin:0; padding:12px 20px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:18px; background:#2b2b2b; border:1px solid #2b2b2b; }
.cookie-bar__text { display:flex; align-items:center; gap:14px; flex:1 1 65%; min-width:220px; max-width:100%; margin-right:8px; line-height:1.5; }
.cookie-bar__icon { width:26px; height:26px; flex-shrink:0; color:#d9e6ff; }
.cookie-bar__copy { display:flex; flex-direction:column; max-width:60ch; width:100%; }
.cookie-bar__desc { font-size:16px; line-height:1.45; }
.cookie-bar__desc a { color:#fff; font-weight:700; text-decoration:underline; }
.cookie-bar__actions { display:flex; align-items:center; flex-shrink:0; gap:12px; margin-left:6px; }
.cookie-btn { display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border:1px solid #fff; border-radius:10px; background:transparent; color:#fff; font-size:16px; font-weight:400; line-height:1; white-space:nowrap; }
.cookie-btn--settings { margin-right:22px; }
.cookie-btn--accept,.cookie-btn--reject { border-width:.5px; border-color:#ededed; background:#ededed; color:#2b2b2b; }
.cookie-bar.hidden { display:none; }
@media(min-width:1367px) {
  .hero { min-height:1080px; }
  .header { padding-top:30px; }
  .logo img { width:360px; }
  .tool-row { margin-bottom:50px; }
  .main-nav>a { font-size:22px; }
  .hero-notices .hero-notice>a { font-size:20px; }
}
@media(min-width:1025px) and (max-width:1366px) { .container { max-width:1184px; } }
@media(max-width:960px) {
  .header-top { align-items:center; }
  .logo { flex-basis:240px; }
  .tools,.search-trigger { display:none; }
  .menu-trigger { display:block; margin-left:auto; }
  .hero-notice { margin-top:70px; }
  .hero-notice::before { width:calc(100% + 35px); background:rgba(10,70,130,.8); }
}
@media(max-width:800px) {
  .hero-notices .hero-notice>a { min-height:0; font-size:16px; }
  .feature-card>div { width:75%; padding:20px; top:auto; bottom:20px; }
  .feature-card h2 { font-size:23px; line-height:1.25; }
}
@media(max-width:767px) { .featured { margin-top:-130px; } }
@media(max-width:720px) {
  .cookie-bar>.cookie-bar__container { flex-direction:column; align-items:stretch; gap:12px; padding:12px; }
  .cookie-bar__actions { flex-wrap:wrap; flex-shrink:1; margin:0; gap:8px; }
  .cookie-btn { white-space:normal; }
}
@media(max-width:500px) { .container { padding:0 15px; } .hero-notice::before { width:calc(100% + 15px); } }
