/* Falcon Family v2.7.0 — Rounded Glass / Premium Interaction System
   Replaces the inherited 45-degree cut motif with a coherent Falcon-native language. */
:root{
  --ffi-radius-xs:10px;
  --ffi-radius-sm:14px;
  --ffi-radius-md:18px;
  --ffi-radius-lg:24px;
  --ffi-radius-xl:30px;
  --ffi-glass-dark:rgba(255,255,255,.075);
  --ffi-glass-dark-strong:rgba(255,255,255,.11);
  --ffi-glass-light:rgba(255,255,255,.72);
  --ffi-glass-border:rgba(255,255,255,.17);
  --ffi-glass-shadow:0 18px 54px rgba(0,0,0,.18);
  --ffi-gold-a:#f0d58f;
  --ffi-gold-b:#d7b867;
  --ffi-gold-c:#c49f4e;
}

/* 2.7: Falcon uses rounded geometry throughout; the former cut-corner rules were removed from production CSS. */
.home-hero-frame,.sector-hero-media,.project-detail-hero-media{border-radius:clamp(20px,2vw,30px)!important;overflow:hidden}
.home-about-visual,.home-sector-card,.home-project-card,.project-index-card,.sector-project-card,.project-related-card{border-radius:var(--ffi-radius-lg)!important;overflow:hidden}
.home-sector-media,.home-project-image,.project-index-image,.project-related-card>div{border-radius:calc(var(--ffi-radius-lg) - 2px)!important}

/* Unified CTA system — soft-radius, premium glass, no emoji glyphs, no detached arrow plates. */
.button,
.contact-direct-button,
.form-submit,
.imprint-map-button,
.mobile-contact-cta,
.footer-email-reveal,
.footer-cookie-button,
.cookie-action,
.cookie-inline-settings,
.imprint-email-reveal,
.company-info-cta{
  --cta-bg:rgba(255,255,255,.075);
  --cta-border:rgba(255,255,255,.18);
  --cta-color:#f9f7f0;
  position:relative;
  display:inline-flex;
  min-height:52px;
  padding:0 20px;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid var(--cta-border)!important;
  border-radius:16px!important;
  color:var(--cta-color)!important;
  background:var(--cta-bg)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.12)!important;
  -webkit-backdrop-filter:blur(16px) saturate(135%);
  backdrop-filter:blur(16px) saturate(135%);
  font-weight:760!important;
  letter-spacing:.055em!important;
  text-transform:uppercase;
  text-decoration:none!important;
  transform:translateZ(0);
  transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,color .22s ease!important;
}
.button-gold,
.contact-direct-button,
.form-submit,
.cookie-action-primary{
  --cta-bg:linear-gradient(135deg,var(--ffi-gold-a) 0%,var(--ffi-gold-b) 58%,var(--ffi-gold-c) 100%);
  --cta-border:rgba(255,235,180,.58);
  --cta-color:#171814;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 12px 32px rgba(177,139,49,.16)!important;
}
.button-ghost,
.imprint-map-button,
.mobile-contact-cta,
.footer-email-reveal,
.footer-cookie-button,
.cookie-action-secondary,
.cookie-inline-settings,
.imprint-email-reveal{
  --cta-bg:rgba(255,255,255,.065);
  --cta-border:rgba(255,255,255,.18);
  --cta-color:#f7f4ec;
}
.section-paper .imprint-email-reveal,
.section-paper .cookie-inline-settings,
.section-paper .imprint-map-button,
.section-paper .company-info-cta{
  --cta-bg:rgba(255,255,255,.62);
  --cta-border:rgba(25,28,24,.12);
  --cta-color:#171914;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 10px 28px rgba(26,27,23,.08)!important;
}
@media (hover:hover) and (pointer:fine){
  .button:hover,.contact-direct-button:hover,.form-submit:hover,.imprint-map-button:hover,.mobile-contact-cta:hover,
  .footer-email-reveal:hover,.footer-cookie-button:hover,.cookie-action:hover,.cookie-inline-settings:hover,.imprint-email-reveal:hover,.company-info-cta:hover{
    transform:translateY(-1px)!important;
    border-color:rgba(255,255,255,.30)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 16px 40px rgba(0,0,0,.17)!important;
  }
  .button-gold:hover,.contact-direct-button:hover,.form-submit:hover,.cookie-action-primary:hover{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 16px 38px rgba(177,139,49,.22)!important;
    filter:saturate(1.03) brightness(1.015);
  }
}
.button:active,.contact-direct-button:active,.form-submit:active,.imprint-map-button:active,.cookie-action:active{transform:translateY(0) scale(.992)!important}

/* Real vector icons replace text arrows. */
.ffi-svg-icon{display:block;width:18px;height:18px;flex:0 0 auto}
.cta-icon,.inline-icon,.sector-related-arrow{display:inline-grid;place-items:center;flex:0 0 auto;color:currentColor;line-height:0}
.cta-icon .ffi-svg-icon{width:17px;height:17px}
.cta-icon-leading{margin-right:2px}
.inline-icon{margin-left:5px;vertical-align:-3px}
.inline-icon .ffi-svg-icon,.sector-related-arrow .ffi-svg-icon{width:15px;height:15px}
.button .cta-icon,.contact-direct-button .cta-icon,.form-submit .cta-icon{margin-left:2px}
.button-gold .cta-icon,.contact-direct-button .cta-icon,.form-submit .cta-icon{color:rgba(22,23,19,.82)}

/* Glass language controls and a 13-language desktop panel. */
.language-current,.mobile-language-trigger,.mobile-language-open-row{
  border-radius:15px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 28px rgba(0,0,0,.10)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
}
.language-chevron{display:grid;place-items:center;width:17px;height:17px}
.language-chevron .ffi-svg-icon{width:14px;height:14px}
.language-menu{
  width:min(420px,calc(100vw - 32px))!important;
  max-height:min(70vh,620px);
  overflow:auto;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:20px!important;
  background:rgba(17,20,18,.88)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.32)!important;
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  backdrop-filter:blur(24px) saturate(140%);
  scrollbar-width:thin;
}
.language-menu a{min-height:46px;border-radius:12px!important;padding:0 12px!important}
.language-menu a:hover,.language-menu a[aria-current="page"]{background:rgba(255,255,255,.075)!important}
.mobile-language-panel{border-radius:28px 28px 0 0!important;background:rgba(20,22,20,.94)!important;-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.mobile-language-list{max-height:min(62dvh,590px);overflow:auto;overscroll-behavior:contain}
.mobile-language-list a{border-radius:14px!important}

/* Refined glass on key dark surfaces, intentionally restrained. */
.contact-direct,.contact-form,.ffi-cookie-panel{
  border-radius:var(--ffi-radius-lg)!important;
}
.section-dark .contact-direct,
.ffi-cookie-panel{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.14)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
}

/* Accessibility: visible but elegant focus, not dependent on colour alone. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid #efd58d!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(239,213,141,.14)!important;
}
:where(input,select,textarea):focus-visible{outline-offset:1px!important}

/* Performance containment for below-the-fold sections. */
.home-about-v2,.home-sectors-v2,.home-projects-v2,.home-principles-v2,.contact,
.sector-overview,.sector-focus,.sector-projects,.sector-related,
.project-index-section,.project-content-section,.project-gallery-section,.project-related-section{
  content-visibility:auto;
  contain-intrinsic-size:auto 720px;
}

/* Reduced motion is authoritative. */
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .hero-video-player{display:none!important}
}

@media(max-width:759px){
  .button,.contact-direct-button,.form-submit,.imprint-map-button,.mobile-contact-cta,.cookie-action{min-height:50px;border-radius:15px!important}
  .home-hero-frame,.sector-hero-media,.project-detail-hero-media{border-radius:22px!important}
}

/* 2.7.0 final interaction cleanup: directional icons are part of the typography,
   never separate dark/gold badges. */
.project-index-open .inline-icon,
.sector-related-arrow{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.project-index-open .ffi-svg-icon,
.sector-related-arrow .ffi-svg-icon{width:16px;height:16px}

/* Thirteen languages fit without a long narrow dropdown on desktop. */
@media(min-width:980px){
  .language-menu:not([hidden]){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
  }
}

/* Icon-only close controls use the same calm glass geometry. */
.ffi-cookie-close,
.mobile-language-close{
  display:grid!important;
  width:42px!important;
  height:42px!important;
  place-items:center;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  color:inherit!important;
  background:rgba(255,255,255,.06)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.ffi-cookie-close .ffi-svg-icon,
.mobile-language-close .ffi-svg-icon{width:18px;height:18px}
