/* Responsive layouts: phone <=600px, tablet 601-1024px, desktop >1024px.
   No device fingerprinting; layout also adapts to zoom and resized windows. */
@media screen and (max-width:1024px){
  .nav{gap:10px 16px}
  .nav-links{order:3;flex:1 0 100%;margin:0;flex-wrap:wrap}
  .language{margin-left:auto}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-art{min-height:0;height:clamp(240px,42vw,400px)}
  .hero-art img{inset:0;width:100%}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial{grid-template-columns:1fr;gap:24px}
  .callout{grid-template-columns:1fr;gap:20px}
  .footer-row{align-items:flex-start;flex-direction:column}
}
@media screen and (max-width:600px){
  html{scroll-padding-top:16px}
  .site-header{position:static}
  .container,.nav{width:calc(100% - 32px)}
  .nav{padding-block:12px;gap:8px 12px}
  .brand{font-size:.95rem;gap:8px}
  .brand-mark{width:32px;height:32px;border-radius:10px}
  .language{gap:2px;padding-left:6px}
  .language a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:.8rem}
  .theme-choice{order:4;width:100%;justify-content:space-between;margin-top:4px}
  .theme-choice span{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  .theme-choice select{min-height:44px;max-width:none;min-width:140px;font-size:1rem}
  .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .nav-links a{display:flex;align-items:center;min-height:44px;padding:8px 10px;overflow-wrap:anywhere}
  .hero{padding:32px 0 36px}
  .hero h1{font-size:clamp(1.85rem,8.4vw,2.8rem);overflow-wrap:anywhere}
  .hero-grid{gap:20px}
  .lead{font-size:1.05rem;line-height:1.6}
  .eyebrow{font-size:.72rem;letter-spacing:.08em}
  .hero-art{height:clamp(190px,58vw,320px)}
  .actions{flex-direction:column;align-items:stretch}
  .button{min-height:48px;padding:12px 16px;text-align:center}
  .cards,.feature-grid{grid-template-columns:minmax(0,1fr)}
  .card,.feature,.callout{padding:20px;min-width:0}
  .section{padding:36px 0}
  .section-head h2{font-size:1.8rem}
  .page-title{font-size:2rem;overflow-wrap:anywhere}
  .notice,.archive-notice{padding:18px}
  .footer-links{gap:4px}
  .footer-links a{display:inline-flex;align-items:center;min-height:44px}
  .price-table-wrap{max-width:100%;overscroll-behavior-x:contain}
  .price-table th,.price-table td{padding:12px}
  body>#content{padding:18px;overflow-wrap:anywhere}
  #content table{display:block;overflow-x:auto}
  body>#navwrap{position:static}
}
@media screen and (hover:none) and (pointer:coarse){
  .nav-links a,.language a,.theme-choice select,summary{min-height:44px}
  summary{padding-block:8px}
  .card:hover,.button:hover{transform:none}
}
