/* N&H LONGEVITY · identidad visual oficial
   Manual de marca: Pantone 339 C / #00B08A, blanco y Circular Std. */
:root {
  --brand-primary: #00b08a;
  --brand-primary-rgb: 0, 176, 138;
  --brand-deep: #007a60;
  --brand-dark: #004f40;
  --brand-ink: #12332c;
  --brand-copy: #3f6259;
  --brand-soft: #e8f8f4;
  --brand-mist: #f5fbf9;
  --brand-line: #bfe8de;
  --brand-white: #ffffff;
  --ink: var(--brand-ink);
  --ink-2: #31584f;
  --teal: var(--brand-primary);
  --teal-bright: #35c6a6;
  --teal-pale: var(--brand-soft);
  --gold: var(--brand-primary);
  --paper: var(--brand-mist);
  --muted: #5a756e;
  --line: #d7ece7;
  --shadow: 0 24px 64px rgba(0, 79, 64, .11);
  --radius: 22px;
}

body, button, input, textarea, select {
  font-family: "Circular Std", "Inter Body", Avenir, "Avenir Next", ui-sans-serif, system-ui, sans-serif;
}
h1, h2, h3, h4, h5, h6,
.nav-panel-title strong, .nav-menu-links a, .portal-link b,
.team-card h3, .post-card h3, .product-visual strong,
.future-products-card > span {
  font-family: "Circular Std", "Inter Body", Avenir, "Avenir Next", ui-sans-serif, system-ui, sans-serif;
  font-weight: 750;
  letter-spacing: -.045em;
}
h1, h2 { font-weight: 780; }
p, li, small, label { letter-spacing: -.008em; }
.eyebrow { color: var(--brand-deep); letter-spacing: .16em; }
.hero h1 span { font-family: "Damion Accent", cursive; font-weight: 400; letter-spacing: 0; }

.site-header {
  background: rgba(255,255,255,.97);
  border-bottom-color: rgba(var(--brand-primary-rgb),.16);
  box-shadow: 0 8px 30px rgba(0,79,64,.055);
}
.site-header .nav { padding-left: clamp(8px, 1.5vw, 22px); }
.brand { width: 154px; flex-basis: 154px; justify-content: flex-start; }
.brand img { width: 148px; height: 74px; object-position: left center; }
.desktop-nav { color: #31584f; }
.desktop-nav a:not(.button):hover, .desktop-nav [aria-current="page"] { color: var(--brand-primary); }
.menu-button { background: var(--brand-primary); }
.menu-button:hover, .menu-button:focus-visible { background: var(--brand-deep); outline-color: var(--brand-primary); }
.cart-trigger { border-color: #d4ebe5; box-shadow: 0 8px 22px rgba(0,79,64,.08); }
.cart-trigger:hover, .cart-trigger:focus-visible { border-color: var(--brand-primary); box-shadow: 0 12px 28px rgba(var(--brand-primary-rgb),.15); }
.cart-count { background: var(--brand-primary); }

.nav-links {
  background: linear-gradient(rgba(255,255,255,.045),rgba(255,255,255,.045)), var(--brand-dark);
  box-shadow: -28px 0 70px rgba(0,49,39,.4);
}
.nav-links::before {
  content: ""; position: absolute; width: 390px; height: 410px; right: -170px; top: 90px;
  opacity: .07; background: url("nh-longevity-icon.png") center/contain no-repeat; pointer-events: none;
}
.nav-panel-head, .nav-menu-links, .portal-links { position: relative; z-index: 1; }
.nav-panel-title span, .nav-menu-links a:hover { color: #99ead8; }
.nav-menu-links a { font-weight: 650; letter-spacing: -.035em; }
.nav-close { border-radius: 12px; }
.portal-link { color: var(--brand-ink); border-color: white; box-shadow: 0 12px 30px rgba(0,35,28,.2); }
.portal-link:hover, .portal-link:focus-visible { border-color: #9ce6d6; background: var(--brand-soft); }
.portal-link b { color: var(--brand-dark); }
.portal-link small { color: var(--brand-copy); }
.portal-link em, .cart-empty a { background: var(--brand-primary); }

.button { border-radius: 12px; background: var(--brand-primary); box-shadow: 0 10px 24px rgba(var(--brand-primary-rgb),.18); }
.button:hover { background: var(--brand-deep); box-shadow: 0 14px 28px rgba(var(--brand-primary-rgb),.24); }
.button.secondary { color: var(--brand-deep); border-color: rgba(0,122,96,.32); }
.button.secondary:hover { border-color: var(--brand-primary); }
.cart-head { background: var(--brand-primary); }
.cart-head span { color: #dcfff7; }
.cart-quantity button { color: var(--brand-deep); }
.cart-quantity button:hover, .cart-quantity button:focus-visible { background: var(--brand-primary); }
.cart-quantity input:focus { outline-color: var(--brand-primary); }
.cart-toast { background: var(--brand-dark); }

.news-ticker, .collaborators-ticker { background: var(--brand-primary); box-shadow: 0 10px 26px rgba(var(--brand-primary-rgb),.15); }
.ticker-item::before, .collaborators-item::before { color: white; }
.ticker-brand, .collaborators-label { border-color: #d7f5ee; box-shadow: 10px 0 24px rgba(0,91,72,.13); }
.collaborators-label { color: var(--brand-dark); }

.hero { background: var(--brand-primary); }
.hero::before {
  content: ""; position: absolute; width: min(660px,58vw); aspect-ratio: 1; right: -9vw; top: -8vw;
  opacity: .08; background: url("nh-longevity-icon.png") center/contain no-repeat; pointer-events: none;
}
.hero .eyebrow { color: #d9fff6; }
.hero .lead { color: rgba(255,255,255,.88); }
.hero .button.hero-primary { color: var(--brand-dark); background: white; box-shadow: 0 14px 32px rgba(0,79,64,.2); }
.hero .button.hero-primary:hover { color: var(--brand-dark); background: #effcf9; }
.doctor-frame img { filter: drop-shadow(0 26px 28px rgba(0,79,64,.24)); }
.hero-access { box-shadow: 0 -10px 40px rgba(0,122,96,.14); }
.hero-access > a { border-color: #d6ede7; }
.hero-access > a:hover { background: var(--brand-soft); }
.access-icon { color: var(--brand-primary); }
.band, .executive { background: var(--brand-dark); }
.band-item b { color: #7de0ca; }
.home-news::before { border-color: rgba(var(--brand-primary-rgb),.18); box-shadow: 0 0 0 54px rgba(var(--brand-primary-rgb),.04), 0 0 0 108px rgba(var(--brand-primary-rgb),.025); }
.home-news-reserve { background: linear-gradient(90deg,rgba(232,248,244,.9),rgba(255,255,255,0) 45%,rgba(var(--brand-primary-rgb),.12)); }
.service-card, .article-card, .post-card { border-color: var(--line); border-radius: var(--radius); }
.service-card:hover { border-color: rgba(var(--brand-primary-rgb),.5); box-shadow: 0 20px 45px rgba(0,79,64,.1); }
.team-card { border-color: #d4ebe5; background: linear-gradient(145deg,#fff 0%,#f7fcfa 72%,var(--brand-soft) 100%); box-shadow: 0 22px 55px rgba(0,79,64,.08); }
.team-card::after { content: "N&H"; color: rgba(var(--brand-primary-rgb),.045); }
.team-card:hover { border-color: #91d9c9; box-shadow: 0 30px 70px rgba(0,79,64,.13); }
.team-photo { border-color: rgba(var(--brand-primary-rgb),.3); background: linear-gradient(145deg,var(--brand-soft),#fff); box-shadow: 0 18px 35px rgba(0,79,64,.14),0 0 0 10px rgba(var(--brand-primary-rgb),.06); }
.team-role, .post-card .tag { color: var(--brand-deep); background: var(--brand-soft); }
.post-card.featured { background: var(--brand-dark); }
.post-card.featured .tag { color: #9cebd9; background: rgba(0,176,138,.16); }
.post-card.featured .text-link { color: #89e7d2; }
.cta-panel { border-color: var(--brand-line); background: white; box-shadow: var(--shadow); }

.site-footer { background: var(--brand-dark); }
.site-footer .footer-brand img { filter: brightness(0) invert(1); opacity: .98; }
.footer-col a:hover { color: #8ce4d0; }
.page-hero { background: linear-gradient(135deg,var(--brand-soft),#fff); }

.model-page, .executive-page, .shop-page, .checkout-page { background: var(--brand-mist); }
.model-hero { background: linear-gradient(125deg,var(--brand-soft) 0%,#fff 52%,#dcf3ed 100%); }
.model-hero::after { background: rgba(var(--brand-primary-rgb),.1); }
.model-orb-one { border-color: rgba(var(--brand-primary-rgb),.2); box-shadow: 0 0 0 70px rgba(var(--brand-primary-rgb),.045); }
.model-orb-two { background: radial-gradient(circle,rgba(var(--brand-primary-rgb),.16),transparent 68%); }
.model-hero-copy h1 span, .panel-title span, .ranking-row.active, .pillar-card span { color: var(--brand-primary); }
.model-promises span { color: #315f55; border-color: var(--brand-line); }
.model-promises span::before, .dash-tab.active, .mortality-insight > span, .model-plan a.filled { background: var(--brand-primary); }
.dashboard-person .avatar { background: linear-gradient(145deg,var(--brand-deep),var(--brand-primary)); }
.legend-blue { background: var(--brand-primary); }
.chart-blue { stroke: var(--brand-primary); }
.info-card { border-color: #d2e8e2; background: linear-gradient(150deg,#fff,var(--brand-mist)); }
.info-card > span { color: var(--brand-deep); background: var(--brand-soft); }
.risk-section { background: linear-gradient(135deg,var(--brand-soft) 0%,#fff 58%,#edf9f6 100%); }
.mortality-toolbar, .process-detail, .evolution-section, .model-cta { background: var(--brand-dark); }
.mortality-year span, .national-rate > span, .process-detail > span, .model-cta .eyebrow, .evolution-section .eyebrow { color: #91e4d1; }
.map-point.active, .map-legend i.selected { background: var(--brand-primary); }
.map-point.active { box-shadow: 0 0 0 7px rgba(var(--brand-primary-rgb),.2),0 5px 14px rgba(0,79,64,.38); }
.map-detail { background: rgba(0,79,64,.94); }
.process-step:hover b, .process-step.active b { background: var(--brand-primary); }
.process-step.active, .model-plan > span, .model-plan a { color: var(--brand-primary); }
.pillar-card[aria-expanded="true"] { border-color: var(--brand-primary); background: #effaf7; }
.evolution-line span, .evolution-point.active b { background: var(--brand-primary); }
.model-plan.featured, .model-plan a { border-color: var(--brand-primary); }
.security-strip { background: var(--brand-soft); }
.security-strip div div { border-color: var(--brand-primary); }
.model-cta .button { background: var(--brand-primary); }

.executive-page .exec-hero { background: var(--brand-primary); }
.executive-page .exec-hero::after {
  content: ""; position: absolute; width: 520px; height: 540px; right: -130px; top: -120px;
  opacity: .07; background: url("nh-longevity-icon.png") center/contain no-repeat; pointer-events: none;
}
.executive-page .exec-heading .eyebrow, .executive-page .exec-hero .eyebrow, .executive-page .exec-cta .eyebrow { color: #d8fff6; }
.executive-page .exec-monitor, .executive-page .evidence-dashboard, .executive-page .comparison-card, .executive-page .load-explorer { border-color: rgba(var(--brand-primary-rgb),.22); }
.executive-page .evidence-detail, .executive-page .mechanism-detail, .executive-page .load-summary, .executive-page .exec-method-detail, .executive-page .indicator-detail { color: white; background: var(--brand-dark); }
.executive-page .indicator-detail .indicator-kicker { color: #9ce7d7; }
.executive-page .indicator-detail h3, .executive-page .evidence-detail h3, .executive-page .mechanism-detail h3, .executive-page .load-summary h3, .executive-page .exec-method-detail h3 { color: white; }
.executive-page .indicator-detail > strong { color: #c9fff2; }
.executive-page .indicator-detail > small, .executive-page .indicator-detail .period-track,
.executive-page .evidence-detail p, .executive-page .mechanism-detail p, .executive-page .load-summary p,
.executive-page .exec-method-detail p, .executive-page .exec-method-detail ul { color: #d7eee9; }
.executive-page .indicator-detail .period-track::before { background: linear-gradient(90deg,var(--brand-primary),#8fe4d1,#fff); }
.executive-page .indicator-detail .period-track span::before, .executive-page .indicator-detail .period-track span:last-child::before { background: var(--brand-primary); box-shadow: 0 0 0 1px var(--brand-primary); }
.executive-page .exec-cta, .executive-page .confidentiality-seal { background: var(--brand-dark); }
.executive-page .comparison-tabs button[aria-selected="true"], .executive-page .exec-method-steps button[aria-selected="true"] { color: white; border-color: var(--brand-primary); background: var(--brand-primary); }
.executive-page .exec-cta .button { color: var(--brand-dark); background: white; }

.shop-page .desktop-nav [aria-current="page"] { color: var(--brand-primary); }
.shop-topbar { background: var(--brand-dark); box-shadow: 0 8px 24px rgba(0,79,64,.2); }
.shop-search { border-radius: 12px; }
.shop-search:focus-within { border-color: var(--brand-primary); }
.shop-search button { color: white; background: var(--brand-primary); }
.shop-hero { background: var(--brand-primary); }
.shop-hero .eyebrow { color: #d8fff6; }
.shop-hero .lead, .shop-promises span { color: rgba(255,255,255,.88); }
.shop-sections a:hover, .shop-sections a:focus-visible { color: var(--brand-deep); background: var(--brand-soft); }
.shop-sections a.active::after, .shop-empty button { background: var(--brand-primary); }
.shop-sections span, .product-level, .product-details { color: var(--brand-primary); }
.shop-filters button.active { color: white; border-color: var(--brand-primary); background: var(--brand-primary); box-shadow: 0 8px 20px rgba(var(--brand-primary-rgb),.2); }
.shop-product { border-color: #d4e9e4; border-radius: var(--radius); box-shadow: 0 10px 28px rgba(0,79,64,.08); }
.shop-product:hover { box-shadow: 0 20px 45px rgba(0,79,64,.14); }
.shop-product.featured { border-color: var(--brand-primary); }
.product-badge, .product-badge.premium { color: var(--brand-deep); background: #d9f4ed; }
.product-visual { background: radial-gradient(circle at 50% 30%,rgba(var(--brand-primary-rgb),.16),transparent 34%),linear-gradient(145deg,#f7fcfa,var(--brand-soft)); }
.product-price strong, .compare-price td { color: var(--brand-deep); }
.shop-add { color: white; background: var(--brand-primary); }
.shop-add:hover { background: var(--brand-deep); }
.shop-buy { border-color: var(--brand-deep); background: var(--brand-deep); }
.shop-buy:hover { background: var(--brand-dark); }
.shop-products-future, .shop-support { background: var(--brand-dark); }
.shop-products-future .eyebrow, .future-products-card small, .shop-support .eyebrow { color: #9ce7d7; }
.future-products-card > span { color: var(--brand-dark); background: linear-gradient(135deg,#9ce7d7,#fff); }
.shop-compare thead th { background: var(--brand-dark); }
.shop-support .button { color: var(--brand-dark); background: white; }

.checkout-head { background: var(--brand-primary); }
.checkout-back, .checkout-head .eyebrow { color: #d8fff6; }
.checkout-steps li { color: #c9f5eb; }
.checkout-steps .done span { border-color: white; background: var(--brand-deep); }
.checkout-form-card, .summary-sticky { border-color: #d4e9e4; box-shadow: 0 16px 45px rgba(0,79,64,.09); }
.summary-edit { color: var(--brand-primary); }
.secure-note { background: var(--brand-soft); }
.secure-note > span { background: var(--brand-primary); }

.article-page .article-kicker, .article-page a { color: var(--brand-deep); }
.article-page .article-hero, .blog-page .page-hero { background: linear-gradient(135deg,var(--brand-soft),#fff); }
.article-page blockquote { border-left-color: var(--brand-primary); background: var(--brand-soft); }

@media (max-width: 760px) {
  .site-header .nav { padding-left: 6px; padding-right: 10px; }
  .brand { width: 118px; flex-basis: 118px; }
  .brand img { width: 114px; height: 65px; }
  .nav-links { padding: 28px 24px; }
  .hero::before, .executive-page .exec-hero::after { width: 420px; height: 440px; right: -230px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
