/*
 * HELEN Furniture — precision polish layer
 * A restrained, Apple-influenced design system shared by every page.
 */
:root {
  --bg: #f5f5f7;
  --fg: #1d1d1f;
  --primary: #1769e0;
  --primary-fg: #fff;
  --cyan: #eaf3ff;
  --muted: #6e6e73;
  --border: rgba(29,29,31,.12);
  --card: rgba(255,255,255,.88);
  --surface: #fff;
  --surface-soft: #f5f5f7;
  --ink: #1d1d1f;
  --ink-soft: #6e6e73;
  --blue: #1769e0;
  --blue-dark: #0755c7;
  --line: rgba(29,29,31,.12);
  --radius: 22px;
  --max-w: 1380px;
  --px: clamp(1.25rem, 4.5vw, 4.5rem);
  --ease-out: cubic-bezier(.23,1,.32,1);
  --ease-in-out: cubic-bezier(.77,0,.175,1);
  --shadow-sm: 0 1px 2px rgba(0,0,0,.03),0 8px 28px rgba(0,0,0,.04);
  --shadow-md: 0 2px 4px rgba(0,0,0,.03),0 18px 55px rgba(0,0,0,.08);
}

html { scroll-padding-top: 5rem; }
body {
  background: var(--bg);
  color: var(--fg);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,.logo-text {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", sans-serif;
  font-optical-sizing: auto;
  text-wrap: balance;
}
p { text-wrap: pretty; }
a,button,input,textarea,select { -webkit-tap-highlight-color: transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline: 3px solid rgba(23,105,224,.28);
  outline-offset: 3px;
}
::selection { background: #b9d7ff; color: #0b2546; }

/* Floating, translucent site chrome */
#navbar {
  top: 10px;
  left: max(10px, env(safe-area-inset-left));
  right: max(10px, env(safe-area-inset-right));
  border-radius: 18px;
  background: rgba(248,248,250,.68);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 1px 2px rgba(0,0,0,.03),0 9px 30px rgba(0,0,0,.055);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  transition: background 200ms ease,box-shadow 200ms ease,transform 300ms var(--ease-out);
}
#navbar.scrolled { background: rgba(248,248,250,.86); box-shadow: 0 1px 2px rgba(0,0,0,.04),0 12px 38px rgba(0,0,0,.08); }
.topbar { max-height: 0!important; padding: 0!important; opacity: 0!important; }
.nav-inner { height: 58px; padding: 0 clamp(.65rem,3vw,1.5rem); }
.logo { gap: .65rem; }
.logo-icon {
  width: 32px;height:32px;border-radius:9px;
  background: linear-gradient(145deg,#2379ed,#0755c7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3),0 5px 12px rgba(23,105,224,.2);
  font-size: 11px;letter-spacing:-.02em;
}
.logo-text { font-weight:650;font-size:15px;letter-spacing:-.025em; }
.nav-links { gap:.08rem; }
.nav-links a,.nav-btn { padding:.5rem .68rem;border-radius:9px;color:rgba(29,29,31,.76);font-size:13px;font-weight:520;transition:color 150ms ease,background 150ms ease,transform 120ms var(--ease-out); }
.nav-links a:hover,.nav-btn:hover { color:#111;background:rgba(0,0,0,.055); }
.nav-links a:active,.nav-btn:active,.icon-btn:active { transform:scale(.96); }
.nav-btn svg { transition:transform 180ms var(--ease-out); }
.dropdown-menu {
  top:calc(100% + 10px);padding:.45rem;min-width:230px;border-radius:16px;
  background:rgba(250,250,252,.82);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 18px 55px rgba(0,0,0,.14);backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);transform:translateY(6px) scale(.98);
  transform-origin:top left;transition:opacity 160ms var(--ease-out),transform 160ms var(--ease-out);
}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu { transform:translateY(0) scale(1); }
.dropdown-menu a { padding:.62rem .72rem;border-radius:10px;font-size:13px;color:#49494e; }
.dropdown-menu a:hover { background:rgba(23,105,224,.09);color:#0755c7; }
.icon-btn { width:36px;height:36px;border-radius:10px;transition:background 150ms ease,transform 120ms var(--ease-out); }
.icon-btn:hover { background:rgba(0,0,0,.055); }

/* Shared controls */
.quote-link,.btn-primary,.btn-dark,.btn-outline,.btn-ghost,.form-submit,.fh-button,.fh-hero__cta,.product-link,.industry-link {
  transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 140ms var(--ease-out)!important;
}
.quote-link,.btn-primary,.btn-dark,.btn-outline,.btn-ghost,.form-submit,.fh-button,.fh-hero__cta { border-radius:999px!important;font-weight:600!important;letter-spacing:-.01em; }
.btn-primary,.quote-link,.form-submit { background:#1769e0!important;border-color:#1769e0!important;box-shadow:none!important; }
.btn-primary:hover,.quote-link:hover,.form-submit:hover { background:#0755c7!important;transform:none!important; }
.btn-outline,.btn-ghost { background:rgba(255,255,255,.72)!important;backdrop-filter:blur(12px); }
.btn-primary:active,.btn-dark:active,.btn-outline:active,.btn-ghost:active,.quote-link:active,.form-submit:active,.fh-button:active,.fh-hero__cta:active { transform:scale(.97)!important; }

/* Page heroes: quieter color, stronger typography */
#page-header {
  min-height:520px;padding-top:150px;padding-bottom:5.5rem;
  background:#101820;
}
.page-header-bg { opacity:.48;filter:saturate(.55) contrast(.92);transform:scale(1.01); }
.page-header-overlay { background:linear-gradient(90deg,rgba(7,13,20,.9) 0%,rgba(7,13,20,.64) 52%,rgba(7,13,20,.18) 100%),linear-gradient(0deg,rgba(7,13,20,.42),transparent 55%); }
.page-header-content { max-width:820px; }
.page-header-content .label { color:rgba(255,255,255,.68);letter-spacing:.16em; }
.page-header-content h1 { font-size:clamp(3.25rem,6.8vw,6.2rem);font-weight:600;line-height:.98;letter-spacing:-.055em;margin-top:1.2rem; }
.page-header-content p { max-width:690px;color:rgba(255,255,255,.73);font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.55;margin-top:1.6rem; }

/* Homepage */
#hero { min-height:760px;padding:10rem 0 5rem;background:linear-gradient(90deg,rgba(250,250,252,.97) 0%,rgba(250,250,252,.91) 46%,rgba(239,243,248,.48) 100%),url('https://images.unsplash.com/photo-1581093458791-9f3c3900df4b?w=1800&h=1100&fit=crop') center/cover; }
.hero-inner { grid-template-columns:minmax(0,1fr) minmax(420px,.86fr); }
.hero-tag,.label { letter-spacing:.16em!important;font-size:10px!important;font-weight:600; }
.hero-title { font-size:clamp(3.5rem,6.4vw,6.7rem);line-height:.92;letter-spacing:-.06em;font-weight:620;color:#1d1d1f;max-width:850px;margin-bottom:1.6rem; }
.hero-desc { color:#5c5c62;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.55;max-width:650px; }
.hero-content { transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out),filter 180ms ease; }
.hero-content.fade-out { transform:translateY(5px);filter:blur(2px); }
.hero-actions { margin-top:2.2rem; }
.hero-hud { gap:.65rem; }
.hud-stat { min-height:88px;border:1px solid rgba(29,29,31,.09);border-left:0;border-radius:16px;background:rgba(255,255,255,.58);backdrop-filter:blur(18px) saturate(145%);box-shadow:inset 0 1px 0 rgba(255,255,255,.65); }

/* Sections and cards */
.section,.product-section { padding-block:clamp(5rem,8vw,8rem); }
.product-section { border-bottom:1px solid rgba(29,29,31,.08); }
.product-section.section--alt { background:#fff; }
.section-header h2,.product-section h2 { letter-spacing:-.04em; }
.product-grid { gap:1rem; }
.product-card,.resource-card,.industry-card,.case-card,.team-card,.value-card,.service-card,.category-card,.feature-card {
  border:1px solid rgba(29,29,31,.085)!important;border-radius:24px!important;background:rgba(255,255,255,.84)!important;
  box-shadow:0 1px 1px rgba(0,0,0,.015);overflow:hidden;
  transition:border-color 180ms ease,box-shadow 260ms ease,transform 260ms var(--ease-out)!important;
}
.product-img-wrap { background:#f5f5f7;padding:2rem; }
.product-body { padding:1.6rem; }
.product-body h3 { font-weight:620;font-size:18px;letter-spacing:-.025em; }
.product-body p { font-size:14px;line-height:1.6;color:#6e6e73; }
.spec-tag { border-radius:999px;background:#eef5ff;color:#0755c7;padding:.32rem .66rem;letter-spacing:.06em; }
.product-link,.industry-link { color:#1769e0;font-weight:560; }
.product-card:active,.resource-card:active,.industry-card:active,.case-card:active { transform:scale(.99); }
@media (hover:hover) and (pointer:fine) {
  .product-card:hover,.resource-card:hover,.industry-card:hover,.case-card:hover,.team-card:hover,.value-card:hover,.service-card:hover,.category-card:hover,.feature-card:hover { border-color:rgba(29,29,31,.12)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-3px)!important; }
  .product-card:hover img,.resource-card:hover img,.industry-card:hover img,.case-card:hover img { transform:scale(1.025)!important; }
}

/* Sticky subnavigation as a floating material */
#product-nav { top:78px;background:rgba(245,245,247,.76);border:0;backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%); }
.product-nav-inner { justify-content:center;padding:.7rem 0; }
.product-nav-link { padding:.52rem .85rem;border-radius:999px;font-size:12px;color:#5e5e63; }
.product-nav-link:hover { background:rgba(0,0,0,.055);color:#1d1d1f; }

/* Forms */
.contact-form-wrap { border-radius:28px!important;border:1px solid rgba(29,29,31,.08)!important;background:#fff!important;box-shadow:var(--shadow-sm); }
.form-group input,.form-group select,.form-group textarea { border:1px solid rgba(29,29,31,.13)!important;border-radius:12px!important;background:#f5f5f7!important;padding:.88rem 1rem!important;transition:border-color 150ms ease,box-shadow 150ms ease,background 150ms ease!important; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { background:#fff!important;border-color:#1769e0!important;box-shadow:0 0 0 4px rgba(23,105,224,.11)!important; }

/* Product catalog family */
.fh-hero { background:#f5f5f7!important;padding-top:clamp(9rem,13vw,12rem)!important; }
.fh-hero h1 { font-size:clamp(3.5rem,7vw,6.8rem)!important;line-height:.94!important;letter-spacing:-.06em!important;font-weight:620!important; }
.fh-hero p { font-size:clamp(1.05rem,1.5vw,1.28rem)!important;line-height:1.6!important;color:#6e6e73!important; }
.fh-chip { border-radius:999px!important;background:rgba(255,255,255,.78)!important;border-color:rgba(29,29,31,.1)!important; }
.fh-card,.fh-product,.fh-support__card { border-radius:26px!important;border-color:rgba(29,29,31,.085)!important;background:#fff!important;box-shadow:none!important;transition:border-color 180ms ease,box-shadow 260ms ease,transform 260ms var(--ease-out)!important; }
@media (hover:hover) and (pointer:fine) { .fh-card:hover,.fh-product:hover,.fh-support__card:hover { transform:translateY(-3px)!important;box-shadow:var(--shadow-md)!important; } }

/* Footer */
#footer { background:#111113;padding-top:5.5rem;padding-bottom:2.25rem; }
.footer-hubs { border-color:rgba(255,255,255,.11);padding-bottom:2.3rem;margin-bottom:4rem; }
.hub-dot { width:5px;height:5px;animation:none;box-shadow:0 0 0 4px rgba(74,222,128,.09); }
.footer-grid { grid-template-columns:1.45fr repeat(4,1fr);gap:clamp(2rem,5vw,5rem); }
.footer-brand-icon { border-radius:9px;background:#1769e0; }
.footer-brand-name { font-size:15px;letter-spacing:-.02em; }
.footer-brand-desc,.footer-contact-item,.footer-col a { color:rgba(255,255,255,.46);font-size:12px;line-height:1.65; }
.footer-col h4 { font-size:11px;letter-spacing:.08em;text-transform:none;color:rgba(255,255,255,.9); }
.footer-col li { margin-bottom:.8rem; }
.footer-col a { transition:color 140ms ease; }
.footer-col a:hover { color:#fff; }
.footer-bottom { border-color:rgba(255,255,255,.1); }

/* Bring the industry system into the same visual family */
.industries-page,.industry-detail-page { --industry-ink:#1d1d1f;--industry-mint:#d9eaff;--industry-line:rgba(29,29,31,.12); }
.industry-index-hero,.proof-section { background:#e8edf3!important; }
.industry-index-hero h1,.industry-detail-hero h1,.industry-section__intro h2,.proof-section h2,.project-cta h2 { font-weight:620!important;letter-spacing:-.055em!important; }
.industry-choice { border-radius:24px!important;border:1px solid rgba(29,29,31,.08);box-shadow:0 1px 1px rgba(0,0,0,.02); }
.industry-choice__meta { border-color:rgba(29,29,31,.09)!important; }
.industry-index-cta,.solution-section { background:#111820!important; }
.industry-button { border-radius:999px!important;background:#d9eaff!important;color:#0b3c7c!important;padding:16px 22px!important; }
.industry-button--light { background:#fff!important; }
.compliance-strip,.project-cta { background:#d9eaff!important; }
.solution-grid { border-radius:26px;overflow:hidden; }
.industry-form input,.industry-form textarea { border-radius:12px 12px 0 0;background:rgba(255,255,255,.42)!important; }

/* Reveal motion is subtle and only used once */
.animate-on-scroll { opacity:0;transform:translateY(12px);transition:opacity 500ms var(--ease-out),transform 500ms var(--ease-out)!important; }
.animate-on-scroll.visible { opacity:1;transform:none; }
.delay-1 { transition-delay:0ms!important; }.delay-2 { transition-delay:45ms!important; }.delay-3 { transition-delay:90ms!important; }

@media (max-width:1023px) {
  #navbar { top:7px;left:7px;right:7px; }
  .nav-inner { height:54px; }
  #mobile-menu { display:block;position:absolute;left:0;right:0;top:calc(100% + 7px);padding:.45rem;background:rgba(250,250,252,.92);border:1px solid rgba(255,255,255,.85);border-radius:16px;box-shadow:0 20px 55px rgba(0,0,0,.14);backdrop-filter:blur(26px) saturate(180%);opacity:0;pointer-events:none;transform:translateY(-5px) scale(.985);transform-origin:top right;transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out); }
  #mobile-menu.open { opacity:1;pointer-events:auto;transform:none; }
  #mobile-menu a { border-radius:11px;padding:.72rem .8rem; }
  #hero { min-height:auto;padding-top:8.8rem; }
  .hero-inner { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px) {
  :root { --px:1.25rem; }
  .logo-text { font-size:14px; }
  #page-header { min-height:500px;padding-top:130px; }
  .page-header-content h1 { font-size:3.25rem; }
  #hero { padding-top:8rem; }
  .hero-title { font-size:3.6rem; }
  .hero-hud { grid-template-columns:1fr; }
  .hud-stat { min-height:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-hubs { align-items:flex-start;gap:1rem; }
  .hub-label { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important; }
  .animate-on-scroll { opacity:1;transform:none;transition:none!important; }
}
@media (prefers-reduced-transparency:reduce) {
  #navbar,#mobile-menu,.dropdown-menu,#product-nav { background:#f8f8fa!important;backdrop-filter:none!important; }
}
@media (prefers-contrast:more) {
  #navbar,.dropdown-menu,#mobile-menu { border:2px solid #1d1d1f; }
}
