/* Viewport-specific polish. The desktop art direction and copy stay unchanged. */
@media (max-width:1180px) {
  .navbar .desktop-only { display:none !important; }
  html .navbar .mobile-menu-toggle { display:grid !important; place-items:center; width:46px; height:46px; padding:0; flex:none; border:1px solid rgba(165,198,241,.27); border-radius:14px; background:rgba(20,39,72,.82); color:#fff; box-shadow:inset 0 1px rgba(255,255,255,.08); cursor:pointer; position:relative; z-index:1003; }
  .navbar .mobile-menu-toggle:focus-visible,.navbar .nav-menu a:focus-visible { outline:2px solid #80b7ff; outline-offset:4px; }
  .menu-lines { position:relative; display:block; width:20px; height:16px; }
  .menu-lines span { position:absolute; left:0; width:20px; height:2px; border-radius:2px; background:#eaf2ff; transition:transform .24s ease,top .24s ease; }
  .menu-lines span:first-child { top:4px; }
  .menu-lines span:last-child { top:11px; }
  .navbar.menu-open .menu-lines span:first-child { top:7px; transform:rotate(45deg); }
  .navbar.menu-open .menu-lines span:last-child { top:7px; transform:rotate(-45deg); }
  .navbar .mobile-nav-backdrop { position:fixed; inset:0; z-index:1000; background:rgba(1,5,15,.68); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s,visibility .25s; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
  .navbar.menu-open .mobile-nav-backdrop { opacity:1; visibility:visible; pointer-events:auto; }
  .navbar .nav-menu { display:flex !important; position:fixed; top:10px; right:10px; bottom:10px; left:auto; width:min(420px,calc(100vw - 20px)); height:calc(100dvh - 20px); max-height:calc(100dvh - 20px); margin:0; padding:clamp(74px,11vh,110px) 22px 28px; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:3px; overflow-y:auto; border:1px solid rgba(151,191,242,.24); border-radius:25px; background:radial-gradient(circle at 92% 0%,rgba(58,128,232,.22),transparent 43%),linear-gradient(155deg,#10254a,#060e1f 72%); box-shadow:0 32px 80px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08); z-index:1002; transform:translateX(calc(100% + 30px)); opacity:0; visibility:hidden; pointer-events:none; transition:transform .34s cubic-bezier(.2,.75,.2,1),opacity .25s,visibility .25s; }
  .navbar .nav-menu.active { right:10px; transform:translateX(0); opacity:1; visibility:visible; pointer-events:auto; }
  .navbar .nav-menu li { width:100%; margin:0; }
  .navbar .nav-menu li:not(.mobile-only) a { display:flex; align-items:center; min-height:49px; padding:9px 14px; border-radius:12px; color:#dbe7fb; font-size:clamp(1rem,2vw,1.14rem); font-weight:700; letter-spacing:-.025em; text-decoration:none; }
  .navbar .nav-menu li:not(.mobile-only) a:hover,.navbar .nav-menu li:not(.mobile-only) a:focus-visible { background:rgba(118,175,255,.13); color:#fff; }
  .navbar .nav-menu a::after { display:none; }
  html .navbar .mobile-only { display:block !important; }
  .navbar .nav-menu li.mobile-only { margin-top:auto; padding-top:20px; }
  .navbar #mobile-cta-btn { display:flex !important; align-items:center; justify-content:center; width:100% !important; margin:0 !important; padding:15px 18px !important; min-height:52px; border-radius:13px !important; background:#3b82f6 !important; color:#fff !important; font-size:.98rem !important; font-weight:800 !important; }
  .navbar.menu-open { z-index:12001; }
  body.nav-open { overflow:hidden; }
}
@media (min-width:1181px) { .mobile-nav-backdrop { display:none; } }
@media (max-width:1024px) {
  #ueber-uns .about-grid { grid-template-columns:1fr; gap:clamp(2rem,5vw,3.5rem); }
  #ueber-uns .about-card { padding:clamp(1.35rem,4vw,3.5rem); }
  #ueber-uns .about-visual { width:min(100%,640px); margin-inline:auto; }
  #ueber-uns .founder-img { display:block; width:100%; height:clamp(340px,57vw,580px); object-fit:cover; object-position:center 37%; }
  #ueber-uns .stats-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.5rem,2vw,1rem); }
  #ueber-uns .stat-bubble { min-width:0; }
  .wc-reasons { margin-left:0 !important; }
}
@media (min-width:901px) { .wc-reasons { margin-left:0 !important; } }
@media (min-width:1600px) {
  .wc-content { width:min(92%,1740px); gap:clamp(35px,3vw,70px); grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); }
  .wc-model { height:min(76vh,820px); }
  .wc-reason { max-width:560px; }
}
@media (min-width:2200px) { .container { max-width:1800px; } }
@media (max-width:700px) {
  .navbar { padding:.85rem 0; }
  .navbar.scrolled { padding:.65rem 0; }
  .navbar .logo { font-size:1.35rem; }
  #ueber-uns .about-card { padding:1.35rem; }
  #ueber-uns .section-header { margin-bottom:1.75rem !important; }
  #ueber-uns .about-text p { font-size:clamp(.94rem,3.8vw,1.04rem); line-height:1.7; margin-bottom:1.1rem; }
  #ueber-uns .stats-row { margin-top:1.75rem; }
  #ueber-uns .stat-bubble { padding:.8rem .35rem; border-radius:13px; }
  #ueber-uns .stat-bubble strong { font-size:clamp(1rem,5vw,1.45rem); }
  #ueber-uns .stat-bubble span { font-size:.58rem; letter-spacing:0; line-height:1.25; display:block; }
  #ueber-uns .founder-img { height:auto; aspect-ratio:4/5; object-position:center 32%; }
  #ueber-uns .founder-label { padding:.75rem; left:9px; right:9px; bottom:9px; border-radius:12px; }
  #ueber-uns .founder-label span { font-size:.74rem; line-height:1.3; }
  .wc-stage { min-height:0; }
}
@media (hover:none), (pointer:coarse) {
  .magnetic-pill,.stat-bubble:hover { transform:none !important; }
  .wc-reason:hover,.stat-bubble:hover { box-shadow:inherit; }
}
@media (prefers-reduced-motion:reduce) { .navbar .nav-menu,.navbar .mobile-nav-backdrop,.menu-lines span { transition:none; } }

/* Phone layout: keep the complete first impression inside the initial view. */
@media (max-width:700px) {
  .navbar .nav-menu { padding:74px 18px max(18px,env(safe-area-inset-bottom)); gap:8px; }
  .navbar .nav-menu li:not(.mobile-only) a { min-height:58px; padding:12px 17px; border:1px solid rgba(151,191,242,.22); border-radius:16px; background:rgba(125,173,239,.075); color:#edf5ff; font-size:1.08rem; }
  .navbar .nav-menu li:not(.mobile-only) a:active { background:rgba(93,153,244,.22); }
  .navbar .nav-menu li.mobile-only { padding-top:9px; }
  .navbar #mobile-cta-btn { min-height:56px; font-size:1.02rem !important; }
  .hero { min-height:calc(100svh + 4.5rem); align-items:center; padding:6.25rem 0 4rem; }
  .hero-tag { margin-bottom:1.6rem; padding:.48rem .82rem; }
  .hero h1 { margin-bottom:1.25rem; }
  .hero-desc { margin-bottom:1.8rem; line-height:1.55; }
  .hero-btns { gap:.7rem; }
  .hero-btns .btn-main { width:min(100%,305px); padding:.8rem 1.15rem; border-radius:13px; font-size:.98rem; }
  .hero-btns .btn-main small { font-size:.65rem; }
  .hero-btns .btn-secondary { width:auto; min-width:154px; padding:.65rem 1rem; justify-content:center; font-size:.88rem; }
  .hero-trust { margin-top:2.8rem; gap:.65rem .9rem; }
  .services-giant { bottom:-.5rem; font-size:31vw; -webkit-text-stroke:1px rgba(185,212,255,.4); background:linear-gradient(180deg,rgba(232,242,255,.24),rgba(78,143,237,.13) 55%,transparent 88%); -webkit-background-clip:text; background-clip:text; filter:drop-shadow(0 0 22px rgba(64,140,255,.18)); }
  .wc-root { min-height:320lvh; }
  .wc-stage { height:100lvh; }
  .wc-blue-card { height:88lvh; }
  .flow-section,.flow-inner { min-height:100svh; }
  .flow-one,.flow-two { margin-bottom:28svh; }
  .flow-process::after { display:block; height:28svh; }
  .footer-contact a[href^="tel:"],.footer-contact a[href^="tel:"] span { color:#fff !important; text-decoration:none !important; -webkit-text-fill-color:#fff; }
  .c-info a[href^="tel:"],.c-info a[href^="tel:"] span { color:#fff !important; text-decoration:none !important; -webkit-text-fill-color:#fff; }
}
