/* Shared additions layered on top of each page's stylesheet:
   hamburger nav, mobile menu, Structur form embed, mobile polish. */

/* ---------- Hamburger button ---------- */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:11px;border:1px solid var(--line2);border-radius:13px;background:rgba(255,255,255,.05);cursor:pointer;flex:0 0 auto}
.burger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Mobile slide-down menu ---------- */
.mobile-menu{position:fixed;inset:0;z-index:49;background:rgba(8,8,8,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow-y:auto;opacity:0;transition:opacity .22s ease}
.mobile-menu.open{opacity:1}
.mobile-menu-inner{padding:18px 28px 40px;display:flex;flex-direction:column;min-height:100%}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.mobile-menu-top .logo{height:58px;width:auto}
.menu-close{width:46px;height:46px;border:1px solid var(--line2);border-radius:13px;background:rgba(255,255,255,.05);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.mobile-menu-links{display:flex;flex-direction:column;gap:4px}
.mobile-menu-links a{font-family:var(--serif);font-size:27px;letter-spacing:-.02em;color:rgba(255,255,255,.85);padding:11px 0;border-bottom:1px solid var(--line)}
.mobile-menu-links a.active{color:var(--cream)}
.mobile-menu-links a:hover{color:#fff}
.mobile-menu-actions{display:grid;gap:10px;margin-top:28px}
body.menu-open{overflow:hidden}
body.menu-open .header{background:rgba(8,8,8,.96)}
body.menu-open .mobile-cta{display:none}

@media(max-width:900px){
  .burger{display:flex}
  /* keep header row tidy next to the burger */
  .nav{gap:14px}
}
@media(min-width:901px){
  .mobile-menu{display:none}
}

/* ---------- Structur lead form embed ---------- */
.formbox--embed{padding:22px 18px 16px}
.structur-embed{height:620px;margin:6px 0 10px;border-radius:14px;overflow:hidden;background:transparent}
.structur-embed iframe{display:block;width:100%;height:100%;border:0}
.form-privacy{font-size:12px;text-align:center;margin:8px 0 0}
@media(max-width:900px){
  /* hero-card loses its frame on mobile; keep the formbox itself framed */
  .structur-embed{height:600px}
}

/* ---------- Polish ---------- */
/* anchor target lands below the sticky header */
#quote{scroll-margin-top:108px}
section[id],div[id]{scroll-margin-top:108px}
/* guard against any accidental horizontal scroll on small screens */
html,body{overflow-x:clip}
/* WP admin bar offset for the sticky header (logged-in views) */
body.admin-bar .header{top:32px}
@media screen and (max-width:782px){body.admin-bar .header{top:46px}}
