
:root{
  --bg:#071827;
  --bg2:#0b2137;
  --surface:rgba(7,24,39,.66);
  --surface-strong:rgba(7,24,39,.84);
  --text:#f6f1e8;
  --muted:rgba(246,241,232,.69);
  --faint:rgba(246,241,232,.11);
  --line:rgba(246,241,232,.14);
  --gold:#c7a05a;
  --gold2:#e1c88e;
  --shadow:0 34px 90px rgba(0,0,0,.28);
  --header-h:96px;
  --radius:28px;
  --blur:22px;
}

html[data-theme="light"]{
  --bg:#e8edf1;
  --bg2:#f7f3eb;
  --surface:rgba(250,248,243,.76);
  --surface-strong:rgba(250,248,243,.92);
  --text:#102238;
  --muted:rgba(16,34,56,.67);
  --faint:rgba(16,34,56,.08);
  --line:rgba(16,34,56,.12);
  --gold:#9b7436;
  --gold2:#bd9452;
  --shadow:0 34px 90px rgba(25,35,47,.14);
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{
  margin:0;
  min-width:320px;
  min-height:100%;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:var(--bg);
}
button,a{font:inherit}
a{color:inherit}
button{color:inherit}
[hidden]{display:none!important}

.site{
  min-height:100svh;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(circle at 12% 16%,rgba(199,160,90,.13),transparent 24%),
    linear-gradient(145deg,var(--bg),var(--bg2));
  transition:background .35s ease,color .35s ease;
}

.bg-video,.bg-image,.veil,.noise,.aurora{
  position:fixed;
  inset:0;
  pointer-events:none;
}
.bg-video{
  z-index:-7;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72) contrast(1.08) brightness(.58);
  transition:filter .35s ease,opacity .35s ease;
}
.bg-image{
  z-index:-8;
  background:url("../images/hero-fallback.png") center/cover no-repeat;
}
html[data-theme="light"] .bg-video{
  filter:saturate(.62) contrast(.96) brightness(1.05);
  opacity:.28;
}
html[data-theme="light"] .bg-image{opacity:.38}
.veil{
  z-index:-6;
  background:
    linear-gradient(90deg,rgba(2,12,22,.90) 0%,rgba(4,20,33,.74) 42%,rgba(4,20,33,.46) 70%,rgba(2,12,22,.74) 100%),
    linear-gradient(180deg,rgba(4,17,29,.52),rgba(4,17,29,.32) 54%,rgba(4,17,29,.76));
}
html[data-theme="light"] .veil{
  background:
    linear-gradient(90deg,rgba(244,246,247,.84),rgba(244,246,247,.63) 47%,rgba(244,246,247,.48) 72%,rgba(244,246,247,.68)),
    linear-gradient(180deg,rgba(248,246,241,.42),rgba(248,246,241,.52));
}
.noise{
  z-index:-2;
  opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");
}
.aurora{
  z-index:-4;
  filter:blur(60px);
  border-radius:50%;
  opacity:.35;
  mix-blend-mode:screen;
}
.aurora-one{
  width:360px;height:360px;
  left:-100px;top:30%;
  background:rgba(40,105,145,.48);
  animation:floatA 12s ease-in-out infinite alternate;
}
.aurora-two{
  width:280px;height:280px;
  right:10%;top:16%;
  background:rgba(199,160,90,.30);
  animation:floatB 14s ease-in-out infinite alternate;
}
html[data-theme="light"] .aurora{opacity:.16;mix-blend-mode:multiply}

.topbar{
  height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:18px clamp(20px,4vw,64px);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(5,18,31,.34),rgba(5,18,31,.10));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
html[data-theme="light"] .topbar{background:rgba(249,247,242,.38)}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  min-width:0;
}
.brand-mark{
  width:48px;height:48px;
  border-radius:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  flex:0 0 auto;
}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(20px,1.8vw,30px);
  font-weight:500;
  line-height:1.05;
  white-space:nowrap;
}
.brand-copy small{
  margin-top:7px;
  color:var(--gold2);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.23em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.top-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.lang-switch{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:999px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  backdrop-filter:blur(14px);
}
.lang-btn{
  border:0;
  cursor:pointer;
  background:transparent;
  padding:8px 11px;
  color:var(--muted);
  border-radius:999px;
  font-weight:700;
  letter-spacing:.08em;
  font-size:11px;
  transition:.2s ease;
}
.lang-btn:hover{color:var(--text)}
.lang-btn.is-active{
  color:var(--bg);
  background:var(--gold2);
}
html[data-theme="light"] .lang-btn.is-active{color:#fff}

.icon-btn{
  width:42px;height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid var(--line);
  background:var(--surface);
  cursor:pointer;
  backdrop-filter:blur(14px);
  transition:transform .2s ease,background .2s ease;
}
.icon-btn:hover{transform:translateY(-2px)}
.icon-btn svg{
  width:18px;height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
html[data-theme="dark"] .sun-icon{display:block}
html[data-theme="dark"] .moon-icon{display:none}
html[data-theme="light"] .sun-icon{display:none}
html[data-theme="light"] .moon-icon{display:block}

.main{
  width:min(1500px,100%);
  margin:auto;
  padding:clamp(34px,5vw,74px) clamp(20px,4vw,64px);
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(380px,.84fr);
  align-items:center;
  gap:clamp(34px,6vw,92px);
  flex:1;
}

.hero-copy{max-width:820px}
.status-pill{
  width:max-content;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  backdrop-filter:blur(16px);
}
.status-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--gold2);
  box-shadow:0 0 0 0 rgba(225,200,142,.52);
  animation:pulse 2s infinite;
}
.kicker{
  margin:24px 0 18px;
  color:var(--gold2);
  font-size:11px;
  font-weight:700;
  letter-spacing:.27em;
}
.copy-panel{animation:fadeUp .32s ease both}
.copy-panel h1{
  margin:0;
  max-width:10.7ch;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(54px,6vw,100px);
  line-height:.94;
  letter-spacing:-.05em;
  font-weight:500;
  text-wrap:balance;
}
.copy-panel h1 em{
  color:var(--gold2);
  font-weight:500;
}
.copy-panel>p:not(.thanks){
  max-width:64ch;
  margin:30px 0 0;
  color:var(--muted);
  font-size:clamp(16px,1.25vw,20px);
  line-height:1.78;
}
.thanks{
  margin:16px 0 0;
  color:var(--text);
  font-size:13px;
}
.rtl{
  direction:rtl;
  text-align:right;
  font-family:Tahoma,"Segoe UI",Arial,sans-serif;
}
.rtl h1{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif;
  font-size:clamp(48px,5.5vw,82px);
  line-height:1.32;
  letter-spacing:-.025em;
  max-width:12ch;
  font-weight:800;
}
.rtl>p:not(.thanks){line-height:2.05}

.quick-links{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:34px;
}
.primary-link,.secondary-link{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:15px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.primary-link{
  padding:0 18px;
  background:var(--gold2);
  color:#102238;
  box-shadow:0 14px 34px rgba(199,160,90,.18);
}
.secondary-link{
  padding:0 17px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  backdrop-filter:blur(14px);
}
.primary-link:hover,.secondary-link:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.14);
}
.link-icon svg{
  width:18px;height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.info-stack{
  display:grid;
  gap:14px;
}
.visual-card,.time-card{
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--surface),rgba(6,21,36,.50));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(var(--blur));
  -webkit-backdrop-filter:blur(var(--blur));
  overflow:hidden;
}
html[data-theme="light"] .visual-card,
html[data-theme="light"] .time-card{
  background:linear-gradient(180deg,var(--surface),rgba(250,248,243,.66));
}

.visual-card{padding:20px}
.visual-card-top,.visual-card-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.mini-label{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.flag-composition{
  position:relative;
  height:300px;
  margin:12px -4px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1000px;
}
.flag{
  position:absolute;
  width:min(280px,62%);
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 30px 60px rgba(0,0,0,.26);
  transform-style:preserve-3d;
}
.flag img{display:block;width:100%}
.flag-germany{
  left:2%;
  transform:rotate(-8deg) rotateY(8deg);
  animation:flagA 6s ease-in-out infinite alternate;
}
.flag-iran{
  right:1%;
  transform:rotate(8deg) rotateY(-8deg);
  animation:flagB 6.8s ease-in-out infinite alternate;
}
.connection-line{
  position:absolute;
  width:46%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
  z-index:5;
  box-shadow:0 0 18px rgba(225,200,142,.38);
}
.connection-line i{
  position:absolute;
  top:50%;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--gold2);
  transform:translate(-50%,-50%);
}
.connection-line i:nth-child(1){left:15%}
.connection-line i:nth-child(2){left:50%}
.connection-line i:nth-child(3){left:85%}
.visual-card-bottom{
  align-items:flex-end;
}
.visual-card-bottom strong{
  max-width:16ch;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:500;
}
.visual-card-bottom span{
  max-width:25ch;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
  text-align:right;
}

.time-card{padding:20px}
.time-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.time-card-head>div{display:flex;flex-direction:column;gap:7px}
#germanyTime{
  font-variant-numeric:tabular-nums;
  font-size:clamp(34px,3.2vw,54px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.04em;
}
.timezone{
  color:var(--gold2);
  font-size:10px;
  letter-spacing:.1em;
}
.calendar-row{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:20px;
  padding-top:18px;
}
.calendar-day{
  width:76px;
  min-height:88px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:var(--faint);
  border:1px solid var(--line);
}
.calendar-day span{
  color:var(--gold2);
  text-transform:uppercase;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
}
.calendar-day strong{
  margin-top:2px;
  font-size:36px;
  line-height:1;
  font-weight:500;
}
.calendar-date{display:flex;flex-direction:column;gap:6px}
.calendar-date strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:500;
}
.calendar-date span{
  color:var(--muted);
  font-size:11px;
}

.footer{
  padding:16px clamp(20px,4vw,64px) calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:rgba(5,18,31,.22);
  backdrop-filter:blur(18px);
}
html[data-theme="light"] .footer{background:rgba(249,247,242,.30)}
.social-wrap{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.footer-label{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.17em;
  white-space:nowrap;
}
.social-links{
  display:flex;
  align-items:center;
  gap:7px;
  overflow:auto;
  scrollbar-width:none;
}
.social-links::-webkit-scrollbar{display:none}
.social-link{
  height:34px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 10px 0 6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  text-decoration:none;
  color:var(--muted);
  font-size:10px;
  transition:.2s ease;
  white-space:nowrap;
}
.social-link:hover{color:var(--text);transform:translateY(-1px)}
.social-link span{
  width:22px;height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--faint);
  color:var(--gold2);
  font-weight:900;
  font-size:8px;
}
.social-link b{font-weight:700}
.footer-end{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--muted);
  font-size:10px;
  white-space:nowrap;
}
.footer-end a{
  color:var(--gold2);
  text-decoration:none;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(225,200,142,.48)}
  70%{box-shadow:0 0 0 10px rgba(225,200,142,0)}
  100%{box-shadow:0 0 0 0 rgba(225,200,142,0)}
}
@keyframes floatA{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(60px,-26px,0) scale(1.08)}
}
@keyframes floatB{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-48px,36px,0) scale(.94)}
}
@keyframes flagA{
  from{transform:rotate(-8deg) rotateY(8deg) translateY(0)}
  to{transform:rotate(-5deg) rotateY(3deg) translateY(-8px)}
}
@keyframes flagB{
  from{transform:rotate(8deg) rotateY(-8deg) translateY(0)}
  to{transform:rotate(5deg) rotateY(-3deg) translateY(8px)}
}

/* Tablet / landscape phones */
@media (max-width:1080px){
  :root{--header-h:auto}
  .topbar{padding-block:15px}
  .main{
    grid-template-columns:1fr;
    align-items:start;
    padding-top:38px;
    gap:28px;
  }
  .hero-copy{max-width:900px}
  .copy-panel h1{max-width:12ch}
  .info-stack{
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  }
  .flag-composition{height:260px}
  .footer{align-items:flex-start}
  .social-wrap{align-items:flex-start;flex-direction:column;gap:9px}
}

/* Mobile */
@media (max-width:760px){
  .topbar{
    align-items:flex-start;
    gap:14px;
    padding:14px 16px;
  }
  .brand{gap:10px}
  .brand-mark{width:40px;height:40px;border-radius:13px}
  .brand-copy strong{
    font-size:18px;
    white-space:normal;
  }
  .brand-copy small{display:none}
  .top-actions{gap:6px}
  .lang-btn{padding:7px 8px}
  .icon-btn{width:38px;height:38px}

  .main{
    padding:28px 16px 24px;
    gap:22px;
  }
  .kicker{font-size:9px;letter-spacing:.20em;margin-top:18px}
  .copy-panel h1{
    font-size:clamp(46px,14vw,70px);
    line-height:.98;
    max-width:10ch;
  }
  .rtl h1{
    font-size:clamp(40px,11.5vw,62px);
    line-height:1.42;
    max-width:12ch;
  }
  .copy-panel>p:not(.thanks){
    margin-top:22px;
    font-size:16px;
    line-height:1.72;
  }
  .quick-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:26px;
  }
  .primary-link,.secondary-link{justify-content:center;padding-inline:12px}

  .info-stack{grid-template-columns:1fr}
  .visual-card,.time-card{border-radius:22px}
  .flag-composition{height:220px}
  .flag{width:60%}
  .visual-card-bottom{align-items:flex-start;flex-direction:column}
  .visual-card-bottom span{text-align:left}
  html[dir="rtl"] .visual-card-bottom span{text-align:right}

  .footer{
    flex-direction:column;
    align-items:stretch;
    padding-inline:16px;
    gap:14px;
  }
  .social-wrap{width:100%}
  .social-links{width:100%}
  .footer-end{justify-content:space-between}
}

/* Very small phones */
@media (max-width:420px){
  .topbar{flex-wrap:wrap}
  .top-actions{width:100%;justify-content:flex-end}
  .copy-panel h1{font-size:43px}
  .rtl h1{font-size:38px}
  .quick-links{grid-template-columns:1fr}
  .flag-composition{height:190px}
  .time-card-head{flex-direction:column}
  .calendar-row{gap:14px}
  .calendar-day{width:68px}
  .footer-end{
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
  }
}

/* Short viewports / laptop windows */
@media (min-width:1081px) and (max-height:820px){
  .topbar{height:78px;padding-block:12px}
  .brand-mark{width:42px;height:42px}
  .main{padding-top:26px;padding-bottom:26px}
  .copy-panel h1{font-size:clamp(50px,5vw,78px)}
  .copy-panel>p:not(.thanks){margin-top:20px}
  .quick-links{margin-top:24px}
  .flag-composition{height:230px}
  #germanyTime{font-size:42px}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
  .bg-video{display:none}
}

/* Print */
@media print{
  .bg-video,.aurora,.noise,.theme-toggle{display:none!important}
}
