/* V27: Replace V26 desktop-only CSS. No mobile or category rules. */
@media screen and (min-width: 761px) {
  /* Header: keep the real mark, avoid the second large wordmark. */
  .site-header { height: 80px; padding: 0 3.2%; display: grid; grid-template-columns: minmax(165px,23%) minmax(420px,1fr) minmax(160px,18%) auto; gap: clamp(10px,1.3vw,22px); align-items: center; }
  .brand { display:flex; align-items:center; min-width:0; gap:0; }
  .brand img { display:block; width:clamp(150px,20vw,320px); height:65px; object-fit:contain; object-position:left center; }
  .brand-wordmark { display:none; }
  .site-nav { gap:clamp(9px,1.35vw,22px); justify-content:center; min-width:0; }
  .site-nav a { font-size:clamp(12px,.95vw,16px); white-space:nowrap; }
  .header-script { display:block; width:100%; margin:0; font-size:clamp(17px,1.4vw,24px); line-height:1.03; transform:rotate(-7deg); }
  .start-link { font-size:clamp(12px,.96vw,16px); padding:11px clamp(15px,1.6vw,26px); white-space:nowrap; }
  /* Keep image proportions. Align its TOP edge so no extra top crop hides the robot. */
  .clean-hero { position:relative; height:clamp(300px,24.65vw,460px); min-height:0; max-height:none; overflow:hidden; background-image:url('../images/ligone-ai/hero-1920.webp'); background-color:#b5def8; background-position:center top; background-size:cover; background-repeat:no-repeat; }
  .mobile-hero-photo { display:none; }
  /* Reference: compact centered text, input directly below it. */
  .hero-content { position:absolute; z-index:2; top:11%; left:44.5%; transform:translateX(-50%); width:clamp(420px,32vw,610px); margin:0; padding:0; text-align:center; }
  .hero-content h1 { margin:0; font-size:clamp(40px,3.55vw,67px); font-weight:800; line-height:1.02; letter-spacing:-.045em; white-space:nowrap; color:#0a2456; text-shadow:0 1px 4px #ffffffc9; }
  .hero-content h1 em { display:inline; font-style:normal; color:#0868ed; -webkit-text-fill-color:#0868ed; background:none!important; text-shadow:0 1px 4px #ffffffe0; }
  .hero-content>p { margin:5px -12% clamp(14px,1.5vw,25px); font-size:clamp(14px,1.23vw,22px); line-height:1.2; font-weight:700; white-space:nowrap; text-shadow:0 1px 4px white; }
  .hero-prompt { width:100%; height:clamp(48px,3.6vw,64px); padding:4px 6px 4px 18px; box-shadow:0 2px 10px #0a3d6b1a; }
  .hero-prompt input { font-size:clamp(13px,.95vw,17px); }
  .hero-prompt button { flex:0 0 clamp(40px,3vw,55px); height:clamp(40px,3vw,55px); }
  .hero-chips { gap:clamp(5px,.45vw,8px); margin-top:clamp(8px,.7vw,12px); }
  .hero-chips button { font-size:clamp(11px,.75vw,14px); padding:clamp(5px,.38vw,7px) clamp(9px,.75vw,15px); }
  .hero-side-note { left:1.6%; bottom:11%; font-size:clamp(12px,1vw,17px); }
  .hero-right-brand { z-index:2; right:2.2%; top:8%; width:clamp(125px,12.5vw,215px); gap:0; }
  .hero-right-brand img { width:100%; max-height:none; height:auto; object-fit:contain; filter:drop-shadow(0 1px 5px #fff); }
  .hero-right-brand strong { font-size:clamp(11px,.95vw,16px); margin-top:0; line-height:1.18; color:#0a2456; text-shadow:0 1px 5px white; }
}
@media screen and (min-width:761px) and (max-width:1200px) {
 .site-header { grid-template-columns:22% 1fr auto; gap:10px; }
 .header-script { display:none; }
 .brand img { width:100%; }
 .hero-content { left:44%; width:38%; }
 .hero-content h1 { font-size:3.5vw; }
 .hero-content>p { font-size:1.2vw; }
 .hero-right-brand { width:12%; }
}

/* V28 repair: only desktop hero position + header logo alignment. */
@media screen and (min-width:761px) {
  .site-header .brand { transform:translate(12px,3px); }
  .hero-content {
    top:13%;
    right:5%;
    left:auto;
    transform:none;
    width:min(560px,32vw);
    margin:0;
    padding:0;
    text-align:center;
  }
  .hero-side-note,
  .hero-right-brand { display:none; }
}
@media screen and (min-width:761px) and (max-width:1200px) {
  .hero-content { right:3%; left:auto; width:40vw; }
}
