:root{
  /* Lufthansa-inspired palette (adjust if you have exact brand codes) */
  --bg:#05164d;
  --bg2:#030d2e;
  --panel:rgba(255,255,255,.78);
  --panel2:rgba(0,0,0,.22);
  --text:#ffffff;
  --muted:rgba(255,255,255,.75);
  --line:rgba(255,255,255,.22);
  --accent:#ffcc00;
  --btnbg:rgba(255,255,255,.08);
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:10px;
  --wrap:1100px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  background: var(--bg);
  color:var(--text);
}

a{color:var(--accent);text-decoration:none}
a:hover{opacity:.92;text-decoration:underline}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}

.site-header{
  padding:34px 0 10px;
}

.header-grid{
  display:grid;
  grid-template-columns: 1fr 420px;
  gap:28px;
  align-items:start;
}

.brand{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--text);
  text-decoration:none;
}

.brand-logo{
  display:block;
  height:210px;
  width:auto;
  border-radius:8px;
  box-shadow:var(--shadow);
}

.logo-box{
  width:70px;height:70px;
  background:var(--accent);
  color:var(--bg);
  display:grid;place-items:center;
  font-weight:700;
  letter-spacing:.08em;
  border-radius:4px;
  box-shadow:var(--shadow);
}

.wordmark{
  font-size:56px;
  font-weight:300;
  letter-spacing:.06em;
  line-height:1;
}
.wordmark-sub{
  font-size:22px;
  font-weight:600;
  letter-spacing:.12em;
  margin-left:-10px;
  opacity:.9;
}

.contact-card{
  padding:16px 18px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  box-shadow:var(--shadow);
}
.contact-lines{font-size:13px;line-height:1.45}
.contact-lines + .contact-lines{margin-top:10px}
.contact-lines a{color:var(--text)}
.contact-lines a:hover{color:var(--accent)}
.contact-lines a[href^="tel:"]::after{
  content:"|";
  display:inline-block;
  padding:0 10px;
  opacity:.75;
  pointer-events:none;
  text-decoration:none;
}
.muted{color:var(--muted)}
.small{font-size:12px}

.site-main{padding:20px 0 30px}

.home-grid{
  margin-top:22px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns: 1fr 1fr;
}

.area-card{
  padding:34px 36px;
  min-height:160px;
  display:flex;
  flex-direction:column;
  gap:18px;
  justify-content:center;
  text-decoration:none;
  color:var(--text);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.area-card:nth-child(2n){border-right:none}
.area-card:nth-last-child(-n+2){border-bottom:none}

.area-card h2{
  margin:0;
  font-weight:300;
  letter-spacing:.045em;
  font-size:clamp(20px, 2.0vw, 28px);
  text-transform:uppercase;
}

.area-card--long h2{
  font-size:clamp(18px, 1.55vw, 24px);
  white-space:nowrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:4px;
  color:var(--text);
  background:var(--btnbg);
  font-size:13px;
  letter-spacing:.02em;
  text-decoration:none;
}
.btn:hover{text-decoration:none;opacity:.92}
.btn.solid{
  background:rgba(255,204,0,.16);
  border-color:rgba(255,204,0,.70);
}

.inner{
  margin-top:18px;
}
.inner-grid{
  display:grid;
  grid-template-columns: 360px 1fr;
  gap:40px;
  align-items:start;
}
.inner-title{
  padding-top:20px;
  text-align:center;
}
.inner-title h1{
  margin:0;
  font-weight:300;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:44px;
  line-height:1.05;
}
.inner-title .sub{
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
}

.inner-panel{
  position:relative;
  padding:22px 24px;
  background:var(--panel);
  color:#0a1a45;
  border-radius:6px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.inner-panel.hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,0)),
    url("../img/hero.svg");
  background-repeat:no-repeat;
  background-position:right center;
  background-size:520px auto;
  opacity:.55;
  pointer-events:none;
}
.inner-panel > *{position:relative}

.inner-panel h2{margin:0 0 10px;font-size:20px}
.inner-panel h3{margin:18px 0 6px;font-size:16px}
.inner-panel p{margin:0 0 10px;line-height:1.6}
.inner-panel ul{margin:10px 0 0 18px;line-height:1.7}

.divider{
  margin:18px 0;
  height:1px;
  background:rgba(0,0,0,.18);
}
.inline-actions{display:flex;gap:10px;flex-wrap:wrap}

.cols{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
}
.label{
  font-size:12px;
  color:rgba(10,26,69,.72);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.spacer{height:10px}

.form{
  margin-top:10px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.form input,.form textarea{
  padding:10px 12px;
  border-radius:6px;
  border:1px solid rgba(10,26,69,.22);
  background:rgba(255,255,255,.78);
  font:inherit;
}
.form textarea{resize:vertical}
.form .full{grid-column:1 / -1}
.form .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.actions{display:flex;gap:10px;flex-wrap:wrap}

.notice{
  min-height:18px;
  margin:2px 0 10px;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid rgba(10,26,69,.14);
  background:rgba(255,255,255,.55);
  color:#0a1a45;
  display:none;
}
.notice.ok{
  display:block;
  border-color:rgba(0,140,70,.25);
}
.notice.err{
  display:block;
  border-color:rgba(190,30,45,.25);
}

.profile{
  display:grid;
  grid-template-columns: 150px 1fr;
  gap:16px;
  align-items:start;
}
.profile-photo{
  width:150px;
  height:auto;
  border-radius:12px;
  border:1px solid rgba(10,26,69,.18);
  box-shadow:var(--shadow);
  background:rgba(255,255,255,.35);
}
.avatar{
  width:86px;height:86px;border-radius:12px;
  background:rgba(5,22,77,.88);
  display:grid;place-items:center;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.10em;
}
.profile-body h2{margin:0}

.site-footer{
  padding:26px 0 26px;
  background:#030d2e;            /* НЕпрозрачно (убирает просвет градиента) */
  border-top:1px solid rgba(255,255,255,.12);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap:18px;
  align-items:center;
}
.footer-nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:14px;
}
.footer-nav a{color:var(--text);opacity:.92}
.footer-nav a[aria-current="page"]{color:var(--accent);opacity:1}
.footer-brand{
  font-weight:600;
  letter-spacing:.12em;
  opacity:.9;
  text-transform:uppercase;
  text-align:center;
}
.footer-social{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.icon{
  width:28px;height:28px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.34);
  border-radius:8px;
  color:var(--text);
}
.icon svg{width:16px;height:16px;fill:currentColor}

.footer-bottom{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.14);
  text-align:center;
  font-size:13px;
  opacity:.9;
}

.cookie-banner{
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:9999;
}
.cookie-banner__wrap{
  max-width:var(--wrap);
  margin:0 auto;
  padding:12px 14px;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  background:rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius:12px;
  box-shadow:var(--shadow);
}
.cookie-banner__text{
  font-size:13px;
  line-height:1.35;
  color:rgba(255,255,255,.92);
}
.cookie-banner__actions{
  flex:0 0 auto;
}

/* Make email/phone links more visible inside light panels */
.inner-panel a[href^="mailto:"],
.inner-panel a[href^="tel:"]{
  color: #E65100;
  font-weight: 700;
  text-decoration: ;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.inner-panel a[href^="mailto:"]:hover,
.inner-panel a[href^="tel:"]:hover{
  color: #ffcc00;
  background: #05164d;
  padding: 0 4px;
  border-radius: 4px;
  text-decoration: none;
}

.contact-accent{
  color: #E65100;
  font-weight: 700;
  text-decoration: ;
  text-underline-offset: 3px;
}

.contact-card .contact-inline a.contact-accent{
  color:#E65100 !important;
}

@media (max-width: 980px){
  .header-grid{grid-template-columns:1fr;gap:18px}
  .wordmark{font-size:44px}
  .brand-logo{height:150px}
  .home-grid{grid-template-columns:1fr}
  .area-card--long h2{white-space:normal}
  .area-card{border-right:none}
  .area-card:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .area-card:last-child{border-bottom:none}
  .inner-grid{grid-template-columns:1fr;gap:18px}
  .inner-title{text-align:left}
  .inner-title h1{font-size:34px}
  .cols{grid-template-columns:1fr}
  .profile{grid-template-columns:1fr}
  .profile-photo{width:min(260px, 100%)}
  .footer-grid{grid-template-columns:1fr;gap:14px}
  .footer-social{justify-content:flex-start}
  .footer-brand{text-align:left}
  .cookie-banner__wrap{flex-direction:column;align-items:flex-start}
}
