/* Cross-device hardening: compact phones, tablets, laptops, wide screens and touch. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 280px; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { height: auto; }
.hero-copy-block, .product-copy, .section-head > *, .split > *, .partner-hero > *, .form-section > *, .portal-section > * { min-width: 0; }
.site-header, .section, .page-hero, .page-content, .hero, .site-footer { width: 100%; }
.hero { overflow: hidden; }
.nav-links { z-index: 50; }
.site-header .brand { position: relative; display: grid; width: 62px; height: 62px; flex: 0 0 62px; overflow: hidden; place-items: center; border: 1px solid rgba(216,183,101,.58); border-radius: 50%; background: #030404; box-shadow: 0 0 24px rgba(216,183,101,.13),inset 0 0 16px rgba(216,183,101,.08); }
.brand::before { content: ""; position: absolute; inset: 4px; z-index: 1; border: 1px solid rgba(216,183,101,.18); border-radius: inherit; transition: .3s ease; pointer-events: none; }
.brand::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; background: radial-gradient(circle at 40% 30%,rgba(255,223,132,.1),transparent 50%); pointer-events: none; }
.site-header .brand img { display: block; width: 52px!important; height: 52px!important; max-width: none; padding: 0; object-fit: contain!important; object-position: 50% 50%!important; background: transparent; filter: drop-shadow(0 0 8px rgba(216,183,101,.14)); transition: transform .3s ease,filter .3s ease; }
.brand:hover::before { border-color: rgba(243,223,161,.65); }
.brand:hover img { transform: scale(1.035); filter: drop-shadow(0 0 14px rgba(216,183,101,.3)); }
.menu-toggle { min-width: 44px; min-height: 44px; cursor: pointer; }
.btn { text-align: center; }
.wide-visual, .cinematic-preview, .editorial-visual, .results-gallery figure { max-width: 100%; }
.partner-form textarea { resize: vertical; }

@media (min-width: 1600px) {
  :root { --max: 1380px; }
  .hero { min-height: 840px; }
  .wide-visual { max-width: 1580px; }
}

@media (max-width: 1100px) {
  .nav-links { gap: 20px; }
  .hero { gap: 34px; }
  .section { padding-top: 100px; padding-bottom: 100px; }
  .veyrion-showcase, .product-hero { gap: 46px; }
  .commission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 850px) {
  .site-header { position: relative; }
  .nav-links { max-height: calc(100dvh - 86px); overflow-y: auto; box-shadow: 0 24px 60px rgba(0,0,0,.55); }
  .nav-links a { width: 100%; padding: 9px 0; }
  .nav-cta { text-align: center; }
  .announcement { padding: 8px 14px; font-size: 9px; line-height: 1.55; }
  .hero { padding-right: 20px; padding-left: 20px; }
  .hero-actions .btn { min-width: 180px; }
  .hero-meta div { border-bottom: 1px solid var(--line); }
  .page-hero, .partner-hero { overflow: hidden; }
  .product-logo-frame { max-width: 620px; margin: 0 auto; }
  .wide-visual { margin-right: 20px; margin-left: 20px; }
  .editorial-visual { overflow-x: hidden; }
  .editorial-visual img { min-width: 0; }
  .results-gallery figure img { width: 100%; }
  .footer-top { align-items: flex-start; }
  .footer-links a { padding: 7px 0; }
}

@media (max-width: 640px) {
  .site-header { padding-right: 16px; padding-left: 16px; }
  .site-header .brand { width: 50px; height: 50px; flex-basis: 50px; }
  .site-header .brand img { width: 42px!important; height: 42px!important; }
  .nav-links { right: 16px; left: 16px; }
  .hero { padding-top: 54px; padding-bottom: 44px; }
  .hero h1 { font-size: clamp(46px, 15vw, 68px); overflow-wrap: anywhere; }
  .hero-copy, .lead { font-size: 15px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; min-width: 0; }
  .hero-meta { grid-template-columns: 1fr; }
  .hero-meta div { border-right: 0; }
  .hero-art { width: min(100%, 430px); }
  .section { padding: 72px 16px; }
  .section-head { margin-bottom: 36px; }
  .section h2 { font-size: clamp(39px, 12vw, 52px); }
  .page-hero { padding: 62px 16px 38px; }
  .page-hero h1, .partner-hero h1 { font-size: clamp(46px, 14vw, 64px); }
  .page-content { padding-right: 16px; padding-left: 16px; }
  .partner-band { margin-right: 12px; margin-left: 12px; padding: 40px 22px; }
  .partner-band .btn { width: 100%; }
  .modes, .card-grid, .numbers, .commission-grid { grid-template-columns: 1fr; }
  .mode-card, .info-card, .number-card, .commission-card { padding: 24px; }
  .feature-list { grid-template-columns: 1fr; }
  .cinematic-preview span { position: static; display: block; border-width: 1px 0 0; }
  .visual-disclaimer { line-height: 1.5; }
  .results-gallery figcaption { padding: 14px 16px; }
  .steps { grid-template-columns: 1fr; }
  .step { min-height: 0; }
  .site-footer { padding: 54px 16px 30px; }
  .footer-logo { width: 150px; height: 72px; }
  .footer-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px 24px; }
  .risk { margin-top: 32px; }
  .offer-card { padding: 26px; }
  .offer-card > strong { font-size: 44px; }
  .form-section, .portal-section { gap: 38px; }
  .copy-row .btn { width: 100%; }
  .admin-main { padding: 50px 16px; }
  .admin-tabs { overflow-x: auto; white-space: nowrap; }
}

@media (max-width: 360px) {
  .announcement { letter-spacing: .09em; }
  .hero h1 { font-size: 43px; }
  .section h2, .page-hero h1, .partner-hero h1 { font-size: 40px; }
  .btn { padding-right: 16px; padding-left: 16px; letter-spacing: .09em; }
  .partner-form, .portal-login, .partner-dashboard, .admin-login form, .inline-form { padding: 18px; }
  .footer-links { grid-template-columns: 1fr; }
  .partner-band { width: auto; }
  .admin-label { max-width: 120px; text-align: right; line-height: 1.35; }
  .admin-login h1, .admin-toolbar h1 { overflow-wrap: anywhere; font-size: 38px; }
}

@media (max-height: 520px) and (orientation: landscape) {
  .nav-links { max-height: calc(100dvh - 72px); }
  .hero { min-height: auto; padding-top: 45px; }
}

@media (hover: none) and (pointer: coarse) {
  .nav-links a, .footer-links a { min-height: 44px; display: flex; align-items: center; }
  .btn { min-height: 50px; }
  input, select, textarea { font-size: 16px !important; }
}

@media print {
  .menu-toggle, .announcement, .hero-actions, .nav-links { display: none !important; }
  body { background: #fff; color: #111; }
}
