/* AG Photonics — site styles ported from the .dc mockup.
   Layout is kept as inline styles in the templates (faithful to the design);
   this file holds @font-face, keyframes, resets, and the hover states that the
   mockup expressed via its `style-hover` attribute. */

@font-face{font-family:'Safiro';src:url("../assets/fonts/safiro-regular.42bb04cff0ec.woff2") format('woff2'),url("../assets/fonts/safiro-regular.8da5379f8159.woff") format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Safiro';src:url("../assets/fonts/safiro-medium.b830a3f43cf9.woff2") format('woff2'),url("../assets/fonts/safiro-medium.ce6434b3606a.woff") format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Safiro';src:url("../assets/fonts/safiro-semibold.06d97d1b17f5.woff2") format('woff2'),url("../assets/fonts/safiro-semibold.e7a2cc28880f.woff") format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Safiro';src:url("../assets/fonts/safiro-bold.31a50c7c312b.woff2") format('woff2'),url("../assets/fonts/safiro-bold.6a22f54c5d3e.woff") format('woff');font-weight:700;font-style:normal;font-display:swap}

*{box-sizing:border-box}
body{margin:0;background:#010e19;color:#cdd9ec;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;overflow-x:clip}
img{display:block;max-width:100%}
a{text-decoration:none}
::selection{background:rgba(135,166,210,0.3);color:#fff}

@keyframes agpFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes agpDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes agpMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes agpGlowDrift{0%{transform:translate(-50%,-50%) translate(-5%,-4%) scale(1)}50%{transform:translate(-50%,-50%) translate(5%,4%) scale(1.14)}100%{transform:translate(-50%,-50%) translate(-5%,-4%) scale(1)}}
@keyframes agpScan{0%{transform:translateX(-130%)}100%{transform:translateX(330%)}}
@media (prefers-reduced-motion:reduce){[style*="agpFade"],[style*="agpMarquee"],[style*="agpGlowDrift"],[style*="agpScan"]{animation:none!important}}

.agp-noscroll{scrollbar-width:none;-ms-overflow-style:none}
.agp-noscroll::-webkit-scrollbar{display:none}

.agp-font{font-family:'Safiro','Helvetica Neue',Helvetica,Arial,sans-serif}

/* Nav */
.agp-navlink{color:#aebfd8;font-size:14px;padding:8px 14px;border-radius:999px;transition:color .15s,background .15s}
.agp-navlink:hover{color:#fff;background:rgba(135,166,210,0.08)}
.agp-cta{display:inline-flex;align-items:center;gap:8px;background:#2f5597;color:#fff;font-size:14px;font-weight:500;padding:10px 18px;border-radius:999px;transition:background .2s}
.agp-cta:hover{background:#3d68b5}

/* Language switcher (EN / ES) */
.agp-lang{display:inline-flex;align-items:center;gap:2px;margin:0 2px;padding:0}
.agp-lang-btn{background:none;border:none;cursor:pointer;color:#aebfd8;font-family:'Safiro','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.02em;padding:7px 9px;border-radius:999px;transition:color .15s,background .15s}
.agp-lang-btn:hover{color:#fff;background:rgba(135,166,210,0.08)}
.agp-lang-btn.is-active{color:#fff;background:rgba(135,166,210,0.18)}
/* Floating EN/ES pill — Apple "spatial / liquid glass": near-transparent, deep blur */
.agp-lang-float{position:fixed;left:16px;bottom:16px;z-index:80;padding:4px;background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.14);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,0.28),inset 0 1px 0 rgba(255,255,255,0.30),inset 0 -1px 0 rgba(0,0,0,0.12);transition:background .2s,border-color .2s,box-shadow .2s}
.agp-lang-float:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.22);box-shadow:0 10px 36px rgba(0,0,0,0.34),inset 0 1px 0 rgba(255,255,255,0.40),inset 0 -1px 0 rgba(0,0,0,0.12)}
.agp-lang-float .agp-lang{margin:0}
.agp-lang-float .agp-lang-btn.is-active{background:rgba(255,255,255,0.16);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25)}
/* Slide out to the left + fade while scrolling down */
.agp-lang-float{transition:background .2s,border-color .2s,box-shadow .2s,transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease}
.agp-lang-float.is-hidden{transform:translateX(-130%);opacity:0;pointer-events:none}
@media (prefers-reduced-motion: reduce){.agp-lang-float{transition:opacity .2s ease}.agp-lang-float.is-hidden{transform:none;opacity:0}}

/* Mobile nav — frosted "spatial" hamburger + dropdown menu */
.agp-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;background:rgba(255,255,255,0.07);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:none;border-radius:15px;box-shadow:0 10px 34px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.22),inset 0 -1px 0 rgba(0,0,0,0.18);cursor:pointer;-webkit-tap-highlight-color:transparent}
.agp-nav-toggle span{display:block;width:22px;height:2px;margin:0 auto;background:#cfe0f5;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.agp-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.agp-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.agp-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.agp-mobile-menu{position:fixed;top:80px;left:12px;right:12px;z-index:59;display:none;flex-direction:column;gap:4px;padding:10px;background:rgba(10,20,36,0.66);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid rgba(255,255,255,0.14);border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,0.55),inset 0 1px 0 rgba(255,255,255,0.24),inset 0 -2px 8px rgba(0,0,0,0.2)}
.agp-mobile-menu.open{display:flex;animation:agpDrop .22s ease}
.agp-mobile-menu a{display:block;padding:13px 16px;border-radius:13px;color:#cfe0f5;font-size:15.5px;transition:background .15s,color .15s}
.agp-mobile-menu a:hover{background:rgba(135,166,210,0.12);color:#fff}
.agp-mobile-menu a.agp-mobile-cta{margin-top:6px;background:#2f5597;color:#fff;text-align:center;font-weight:500;box-shadow:inset 0 1px 0 rgba(255,255,255,0.25)}
.agp-mobile-menu a.agp-mobile-cta:hover{background:#3d68b5}

@media (max-width:860px){
  .agp-nav-pill{display:none!important}
  .agp-nav-toggle{display:flex}
  /* Wordmark hides on scroll-down and reappears on scroll-up (mobile only),
     mirroring the EN/ES pill — so it doesn't float over the content while reading. */
  .agp-nav-logo{transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease}
  .agp-nav-logo.is-hidden{transform:translateY(-140%);opacity:0;pointer-events:none}
}
@media (min-width:861px){
  .agp-mobile-menu{display:none!important}
}

/* Outline buttons / links used across hero, sections, CTA */
.agp-btn-outline{display:inline-flex;align-items:center;gap:9px;padding:15px 28px;background:transparent;color:#cfe0f5;font-size:15.5px;font-weight:500;border:1px solid #345f9c;border-radius:9px;cursor:pointer;transition:all .2s}
.agp-btn-outline:hover{border-color:#4a73bd;color:#fff}

/* Cards lift on hover */
.agp-lift{transition:transform .2s,border-color .2s}
.agp-lift:hover{transform:translateY(-3px)}

/* Rich-text article body (Newsroom posts, rendered from TinyMCE HTML) */
.agp-prose{font-size:17px;line-height:1.8;color:#aebfd8}
.agp-prose p{margin:0 0 20px}
.agp-prose h2{font-family:'Safiro','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:600;font-size:clamp(22px,3vw,30px);letter-spacing:-0.02em;color:#eef3fb;margin:36px 0 14px}
.agp-prose h3{font-family:'Safiro','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:600;font-size:20px;color:#eaf1fb;margin:28px 0 12px}
.agp-prose a{color:#87a6d2;text-decoration:underline}
.agp-prose a:hover{color:#aac6e6}
.agp-prose ul,.agp-prose ol{margin:0 0 20px;padding-left:24px}
.agp-prose li{margin:0 0 8px}
.agp-prose img{max-width:100%;height:auto;border-radius:12px;margin:8px 0 20px}
.agp-prose blockquote{margin:0 0 20px;padding:6px 0 6px 20px;border-left:3px solid #2f5597;color:#cdd9ec;font-style:italic}
.agp-prose strong{color:#dcebff}
.agp-prose hr{border:none;border-top:1px solid rgba(135,166,210,0.16);margin:28px 0}

/* Cookie consent banner */
.agp-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;max-width:1000px;margin:0 auto;padding:16px 20px;background:rgba(10,20,36,0.92);backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);border:1px solid rgba(135,166,210,0.18);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,0.55)}
.agp-cookie[hidden]{display:none}
.agp-cookie-text{margin:0;font-size:13.5px;line-height:1.55;color:#bcd0ec;flex:1;min-width:240px}
.agp-cookie-text a{color:#87a6d2;text-decoration:underline}
.agp-cookie-actions{display:flex;gap:10px;flex:none}
.agp-cookie-btn{font-family:'Safiro','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;cursor:pointer;padding:10px 20px;border-radius:999px;border:1px solid #345f9c;background:transparent;color:#cfe0f5;transition:all .2s}
.agp-cookie-btn:hover{border-color:#4a73bd;color:#fff}
.agp-cookie-btn.is-primary{background:#2f5597;border-color:#2f5597;color:#fff}
.agp-cookie-btn.is-primary:hover{background:#3d68b5;border-color:#3d68b5}

/* Subsidies page — key/value data + auto-scrolling consortium logo marquee */
.agp-sub-k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6b82a6;margin-bottom:4px}
.agp-sub-v{font-family:'Safiro','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15.5px;color:#dcebff}
.agp-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.agp-marquee-track{display:flex;flex-wrap:nowrap;align-items:center;gap:44px;width:max-content;animation:agpMarquee 26s linear infinite}
.agp-marquee:hover .agp-marquee-track{animation-play-state:paused}
.agp-partner-logo{height:44px;width:auto;flex:none;opacity:0.85;transition:opacity .2s}
.agp-partner-logo:hover{opacity:1}
/* Reduced motion: keep a single line, stop the animation, allow manual scroll */
@media (prefers-reduced-motion:reduce){.agp-marquee{overflow-x:auto}.agp-marquee-track{animation:none}}

/* Footer certifications strip — small muted logos (PYME Innovadora, ISO, …) */
.agp-certs{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:22px;padding-top:22px;border-top:1px solid rgba(135,166,210,0.12)}
.agp-certs img{height:42px;width:auto;opacity:0.8;transition:opacity .2s}
.agp-certs a{display:inline-flex}
.agp-certs a:hover img,.agp-certs img:hover{opacity:1}

/* Footer links */
.agp-foot{color:#8ea4c4;font-size:14px;transition:color .15s}
.agp-foot:hover{color:#fff}
.agp-foot-min{color:#52688c;font-size:12px;transition:color .15s}
.agp-foot-min:hover{color:#8ea4c4}
/* Footer wordmark — fixed aspect ratio; smaller on mobile. max-width:none stops
   the global `img{max-width:100%}` reset from squashing it in a narrow column. */
.agp-footer-logo{height:34px;width:auto}
@media (max-width:860px){.agp-footer-logo{height:24px;max-width:none}}

/* Contact / datasheet form */
.agp-input{width:100%;padding:14px 16px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:13px;color:#eaf1fb;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:14.5px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.agp-input:focus{border-color:rgba(135,166,210,0.7);box-shadow:0 0 0 3px rgba(91,143,214,0.25);background:rgba(255,255,255,0.09)}
.agp-input::placeholder{color:#7e93b3}
.agp-submit{margin-top:4px;padding:15px;width:100%;background:linear-gradient(160deg,rgba(74,115,189,0.95),rgba(47,85,151,0.95));color:#fff;font-family:'Safiro','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;font-weight:600;border:1px solid rgba(255,255,255,0.22);border-radius:13px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 24px rgba(20,42,72,0.5),inset 0 1px 0 rgba(255,255,255,0.4)}
.agp-submit:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,42,72,0.6),inset 0 1px 0 rgba(255,255,255,0.5)}
.agp-field-error{color:#f0857a;font-size:12.5px;margin:2px 0 0}

/* Datasheet request modal */
.agp-modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,8,16,0.74);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:agpFade .2s ease}
.agp-modal-overlay[hidden]{display:none}
.agp-modal{position:relative;width:min(520px,100%);max-height:90vh;overflow-y:auto;background:#0c1a30;border-radius:18px;padding:clamp(26px,4vw,38px);box-shadow:0 40px 100px rgba(0,0,0,0.6)}
.agp-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.06);border:none;border-radius:9px;color:#9fb4d4;font-size:18px;cursor:pointer;transition:background .15s}
.agp-modal-close:hover{background:rgba(255,255,255,0.12)}
.agp-modal-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#52688c;margin-bottom:12px}
.agp-modal-check{width:58px;height:58px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:rgba(47,85,151,0.18);border-radius:50%;color:#87a6d2;font-size:28px}

/* Solid primary button (Request Datasheet etc.) */
.agp-btn-solid{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;background:#2f5597;color:#fff;font-size:15px;font-weight:500;border:none;border-radius:9px;cursor:pointer;transition:background .2s}
.agp-btn-solid:hover{background:#3d68b5}

/* Products dropdown (CSS-only hover) */
.agp-have-menu{position:relative}
.agp-menu{position:absolute;top:calc(100% + 8px);left:0;width:320px;background:#0c1828;border-radius:12px;padding:8px;box-shadow:0 24px 60px rgba(0,0,0,0.5);animation:agpDrop .18s ease;opacity:0;visibility:hidden;transition:opacity .15s}
/* Narrower variant, left-aligned under its title (e.g. Company). */
.agp-menu.agp-menu-end{width:250px}
.agp-have-menu:hover .agp-menu{opacity:1;visibility:visible}
.agp-menu a{display:block;padding:11px 13px;border-radius:8px;transition:background .15s}
.agp-menu a:hover{background:rgba(135,166,210,0.08)}

/* Applications: two-market blocks (label column + prose) */
.agp-market{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;max-width:1240px;margin:0 auto}
.agp-market-aside{position:sticky;top:96px}
@media (max-width:860px){
  .agp-market{grid-template-columns:1fr;gap:22px}
  .agp-market-aside{position:static}
}
