/* Approved M44/M46 visual system; primary navigation uses text color states. */
.reference-site {
  --header-size:78px;
  --header-menu-size:14px;
  --header-gap:26px;
  --reference-header-height:var(--header-size);
}
.reference-site .site-header {
  height:var(--header-size);
  background:rgba(250,249,245,.97);
  border-bottom:1px solid #dedbd25c;
  box-shadow:none;
  transition:box-shadow 200ms ease,background 200ms ease;
}
.reference-site .site-header.is-scrolled { background:#faf9f5f7;box-shadow:0 4px 24px #15222c09; }
.reference-site .header-inner { height:100%;gap:32px; }
.reference-site .header-inner>a { display:flex;align-items:center;flex-shrink:0; }
.reference-site .header-inner .custom-logo { display:block;max-width:190px;max-height:40px;width:auto; }
.reference-site .header-actions { font-size:14px;gap:16px; }
.reference-site .header-actions .member-label { font-size:14px;font-weight:500;line-height:1.5;min-height:42px;align-items:center;color:#435057; }
.reference-site .header-actions .member-label:hover { color:var(--ui-accent-text); }
.reference-site .header-actions>.btn {
  min-width:104px;max-width:180px;min-height:42px;padding:10px 22px;
  font-size:14px;font-weight:600;line-height:1.5;border-radius:6px;
}
.reference-site .header-actions>.btn:hover { transform:none;box-shadow:0 3px 10px #9c4c3317; }
.reference-site .header-divider { height:20px;border-color:#ddd6ca;opacity:.85; }
.reference-site .language-trigger {
  min-height:42px;padding:9px 8px;gap:7px;border-radius:6px;
  font-size:14px;line-height:1.5;font-weight:500;white-space:nowrap;
  transition:color 160ms ease,background 160ms ease;
}
.reference-site .language-trigger:hover,
.reference-site .language-trigger[aria-expanded=true] { color:var(--ui-accent-text);background:#eee6da80; }
.reference-site .language-trigger>.icon:first-child { display:block;width:15px;height:15px;stroke-width:1.6; }
.reference-site .language-trigger>.icon:last-child { width:14px;height:14px;transition:transform 180ms ease; }
.reference-site .language-trigger[aria-expanded=true]>.icon:last-child { transform:rotate(180deg); }
.reference-site :is(.nav-dropdown,.language-pop) {
  padding:8px;min-width:200px;border:1px solid #e2dbcf;border-radius:10px;
  background:#fffdf9;box-shadow:0 16px 42px #18262b12,0 3px 8px #18262b06;
  animation:refined-popover 160ms ease both;
}
.reference-site .language-pop { min-width:178px; }
.reference-site :is(.nav-dropdown,.language-pop) a {
  min-height:42px;display:flex;align-items:center;padding:10px 13px;
  font-size:14px;line-height:1.6;border-radius:5px;
}
.reference-site :is(.nav-dropdown,.language-pop) a:is(:hover,:focus-visible),
.reference-site :is(.nav-dropdown a[aria-current=page],.language-pop a.active) { background:#f5eee5;color:var(--ui-accent-text); }
.reference-site .language-pop a .icon { width:16px;height:16px;flex-shrink:0;margin-inline-start:16px; }
.reference-site .mobile-toggle {
  align-items:center;justify-content:center;width:44px;height:44px;
  min-width:44px;min-height:44px;padding:10px;border-radius:6px;
}
.reference-site .mobile-toggle:hover { background:#eee6da80; }
.reference-site .mobile-toggle[aria-expanded=true] { color:var(--ui-accent-text);background:#eee6da80; }
.reference-site .mobile-toggle>.icon { width:22px;height:22px; }

@media(min-width:801px) {
  .reference-site .header-inner,
  html[dir=rtl] .reference-site .header-inner { direction:ltr; }
  .reference-site .desktop-nav,
  html[dir=rtl] .reference-site .desktop-nav {
    display:flex;position:static;inset:auto;direction:ltr;align-items:center;
    height:100%;gap:var(--header-gap);margin:0;flex:0 0 auto;
  }
  .reference-site .nav-parent-group { height:100%;position:relative;gap:3px;align-items:center; }
  .reference-site .nav-parent-group>.nav-entry { position:static; }
  .reference-site .desktop-nav :is(.nav-parent-link,.nav-link),
  html[dir=rtl] .reference-site .desktop-nav :is(.nav-parent-link,.nav-link) {
    position:relative;display:flex;align-items:center;height:100%;padding:0;
    font-size:var(--header-menu-size);font-weight:500;line-height:1.5;white-space:nowrap;
    transition:color 160ms ease;
  }
  .reference-site .desktop-nav :is(.nav-parent-link,.nav-link):hover,
  .reference-site .nav-parent-group.is-current>.nav-parent-link,
  .reference-site .desktop-nav .nav-link[aria-current=page] { color:var(--ui-accent-text); }
  .reference-site .nav-parent-group:has(details[open])::after {
    content:"";position:absolute;left:-16px;right:-16px;top:calc(100% - 1px);height:12px;
  }
  .reference-site .nav-parent-group summary {
    display:flex;align-items:center;justify-content:center;min-width:20px;min-height:36px;
    padding:0;border-radius:5px;cursor:pointer;
  }
  .reference-site .nav-parent-group summary:hover { background:#eee6da80; }
  .reference-site .nav-parent-group summary>.icon {
    display:block;width:15px;height:15px;stroke-width:1.75;transition:transform 180ms ease;
  }
  .reference-site .nav-entry[open]>summary>.icon { transform:rotate(180deg); }
  .reference-site .nav-parent-group:has(details[open])>.nav-parent-link { color:var(--ui-accent-text); }
  .reference-site .nav-parent-group .nav-dropdown,
  html[dir=rtl] .reference-site .nav-parent-group .nav-dropdown { top:calc(100% + 9px);left:-16px;right:auto; }
  .reference-site .header-actions,
  html[dir=rtl] .reference-site .header-actions { height:100%;direction:ltr;margin-left:auto;margin-right:0;gap:16px;flex:0 0 auto; }
  .reference-site .header-actions .member-label { display:inline-flex; }
  .reference-site .language-wrap { height:100%;display:flex;align-items:center; }
  .reference-site .language-pop,
  html[dir=rtl] .reference-site .language-pop { top:calc(100% + 9px);right:0;left:auto; }
  html[dir=rtl] .reference-site :is(.nav-parent-link,.nav-link,.nav-dropdown,.language-pop) { direction:rtl; }
  .reference-site.header-compact .desktop-nav,
  html[dir=rtl] .reference-site.header-compact .desktop-nav { display:none; }
  .reference-site.header-compact .mobile-toggle { display:flex; }
}
@media(min-width:801px) and (max-width:1200px) {
  .reference-site { --header-gap:14px; }
  .reference-site .header-inner { gap:24px; }
  .reference-site .header-actions,
  html[dir=rtl] .reference-site .header-actions { gap:12px; }
  .reference-site .header-actions>.btn { padding-inline:16px;min-width:96px; }
  .reference-site .language-trigger { padding-inline:5px; }
}

/* The menu uses the same rhythm at touch widths and when long labels need it. */
.reference-site .mobile-menu {
  inset:var(--reference-header-height,78px) 0 0;padding:18px max(24px,5.2vw) 48px;
  background:#faf9f5;overscroll-behavior:contain;scrollbar-gutter:stable;
}
.reference-site .mobile-menu>details { border-color:#e1dcd2; }
.reference-site .mobile-menu>details>summary,
.reference-site .mobile-menu>a:not(.btn) { min-height:56px;font-size:16px;line-height:1.6; }
.reference-site .mobile-menu summary>.icon { width:18px;height:18px;transition:transform 180ms ease; }
.reference-site .mobile-menu details[open]>summary { color:var(--ui-accent-text); }
.reference-site .mobile-menu details[open]>summary>.icon { transform:rotate(180deg); }
.reference-site .mobile-sub { margin:0 0 16px;padding:2px 0 6px 14px;border-inline-start:2px solid #e9d1be; }
.reference-site .mobile-sub a { min-height:44px;padding:10px 16px;font-size:14px;line-height:1.65; }
.reference-site .mobile-sub a[aria-current=page] { color:var(--ui-accent-text);font-weight:600; }
.reference-site .mobile-menu .language-list { margin:24px 0;gap:8px;display:flex;flex-wrap:wrap; }
.reference-site .language-list a { min-height:40px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid transparent;border-radius:6px;font-size:13px;line-height:1.6; }
.reference-site .language-list a[aria-current=true] { color:var(--ui-accent-text);border-color:#e4cbb8;background:#f5ece2; }
.reference-site .mobile-menu>.btn { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 20px;border-radius:6px;font-size:15px; }

/* A restrained type scale retains the supplied homepage composition. */
.reference-site .hero h1 { font-size:clamp(36px,4.35vw,66px);line-height:1.26; }
.reference-site .hero-desc { font-size:clamp(15px,1.45vw,21px);line-height:1.85;max-width:540px; }
.reference-site .hero-buttons { margin-top:24px;gap:34px; }
.reference-site .hero-buttons .btn { min-height:52px;font-size:16px; }
.reference-site .hero-buttons .btn-text { min-height:44px;font-size:15px; }
.reference-site .reference-section-title h2 { font-size:clamp(28px,2.95vw,45px);line-height:1.4; }
.reference-site .reference-section-title>p { font-size:clamp(14px,1.2vw,18px);line-height:1.85;max-width:58em;margin-inline:auto; }
.reference-site .principle { padding:30px 28px;min-height:280px; }
.reference-site .principle .icon { width:48px;height:48px;margin-bottom:24px; }
.reference-site .principle h3 { font-size:24px; }
.reference-site .principle p { font-size:16px;line-height:1.85; }
.reference-site .product-card { border-radius:9px; }
.reference-site .product-card-copy { min-height:196px;padding:24px; }
.reference-site .product-card-copy h3 { font-size:24px; }
.reference-site .product-card-copy p { font-size:15px;line-height:1.75;min-height:3.5em;white-space:normal; }
.reference-site .product-card-copy .round-arrow { margin-top:auto;width:38px;height:38px; }
.reference-site .trust-grid[data-count="1"] { max-width:680px;margin-inline:auto; }
.reference-site .trust-grid[data-count="1"] .trust-card { min-height:212px; }
.reference-site .trust-grid[data-count="1"] .flag-photo { background-size:180px auto;background-position:right 24px top 28px;mask-image:none;opacity:.85; }
.reference-site .trust-grid[data-count="1"] .regulation-card-copy { padding:70px 28px 24px; }
.reference-site .trust-grid[data-count="1"] .trust-card:after { background:linear-gradient(90deg,#06131c18,#06131c40); }
.reference-site .trust-grid[data-count="1"] .trust-card:hover .flag-photo { transform:none; }

.reference-site .detail-hero { padding-top:22px;padding-bottom:44px; }
.reference-site .detail-hero .breadcrumb { margin-bottom:28px; }
.reference-site .detail-hero-grid { min-height:300px;gap:44px; }
.reference-site .detail-hero-copy h1 { font-size:clamp(36px,3.75vw,56px);margin:16px 0 22px; }
.reference-site .detail-hero-copy>p { font-size:16px;line-height:1.85; }
.reference-site .detail-hero-actions { margin-top:26px; }
.reference-site .detail-body { padding-top:48px; }
.reference-site .document-hero .detail-hero-grid { min-height:0; }
.reference-site .document-hero .detail-hero-copy h1 { font-size:42px; }
.reference-site .document-reading-note { padding:0 0 24px; }
.reference-site .document-reading-note p { font-size:14px;color:var(--text-secondary); }
.reference-site .document-layout aside { top:calc(var(--header-size) + 24px); }

/* Let the mountain backdrop breathe, while retaining readable legal text. */
.reference-site .footer-main { padding-bottom:36px; }
.reference-site .footer-group:not(:last-child) { border-right:0;padding-right:0; }
.reference-site .footer-brand { padding-right:28px; }
.reference-site .footer-group h2 { font-size:15px;line-height:1.6;margin-bottom:16px; }
.reference-site .footer-group a { font-size:14px;line-height:1.8;margin:5px 0;min-height:28px; }
.reference-site .footer-legal-area { padding-top:26px; }
.reference-site .footer-disclosures { border-left:0;padding-left:0; }
.reference-site .disclosure { font-size:12px;line-height:1.9; }
.reference-site .disclosure p { line-height:1.9; }
.reference-site .footer-policy-links { margin-top:20px; }
.reference-site .platform-entry { padding:18px 20px;max-width:440px;min-height:84px;background:transparent; }
.reference-site .platform-entry strong { font-size:18px; }
.reference-site .platform-actions { margin-top:22px;gap:24px; }

@media(max-width:1100px) and (min-width:801px) {
  .reference-site .principle { padding:24px 20px; }
  .reference-site .principle h3 { font-size:20px; }
  .reference-site .principle p { font-size:14px; }
  .reference-site .product-card-copy { padding:20px; }
  .reference-site .product-card-copy h3 { font-size:21px; }
  .reference-site .product-card-copy p { font-size:14px; }
}
@media(max-width:800px) {
  .reference-site { --header-size:70px; }
  .reference-site .header-inner { direction:ltr;gap:8px; }
  .reference-site .header-inner .custom-logo { max-width:30vw;max-height:30px; }
  .reference-site .header-actions,
  html[dir=rtl] .reference-site .header-actions { direction:ltr;margin-left:auto;margin-right:0;gap:8px; }
  .reference-site .header-actions .member-label { display:none; }
  .reference-site .header-actions>.btn { min-width:0;max-width:120px;min-height:42px;padding:10px;font-size:12px; }
  .reference-site .header-divider { display:none; }
  .reference-site .language-trigger { justify-content:center;min-width:44px;min-height:44px;padding:10px; }
  .reference-site .language-trigger>span,.reference-site .language-trigger>.icon:last-child { display:none; }
  .reference-site .language-trigger>.icon:first-child { width:18px;height:18px; }
  .reference-site .language-pop,
  html[dir=rtl] .reference-site .language-pop { top:calc(100% + 13px);left:auto;right:0; }
  .reference-site .mobile-toggle { display:flex; }
  .reference-site .mobile-menu { padding:16px 24px 40px; }
  .reference-site .hero h1 { font-size:34px;line-height:1.3; }
  .reference-site .hero-desc { font-size:14px;line-height:1.9; }
  .reference-site .hero-buttons { margin-top:22px;gap:24px; }
  .reference-site .hero-buttons .btn { min-height:46px;font-size:13px; }
  .reference-site .hero-buttons .btn-text { font-size:13px; }
  .reference-site .reference-section-title h2 { font-size:27px; }
  .reference-site .reference-section-title>p { font-size:14px; }
  .reference-site .principle { padding:24px 20px;min-height:230px; }
  .reference-site .principle .icon { width:36px;height:36px;margin-bottom:18px; }
  .reference-site .principle h3 { font-size:21px; }
  .reference-site .principle p { font-size:14px; }
  .reference-site .product-card-copy { min-height:175px;padding:20px; }
  .reference-site .product-card-copy h3 { font-size:22px; }
  .reference-site .product-card-copy p { font-size:14px; }
  .reference-site .product-card-copy .round-arrow { width:36px;height:36px; }
  .reference-site .trust-grid[data-count="1"] .trust-card { min-height:190px; }
  .reference-site .trust-grid[data-count="1"] .flag-photo { background-size:130px auto;background-position:right 20px top 24px; }
  .reference-site .trust-grid[data-count="1"] .regulation-card-copy { padding:70px 20px 20px; }
  .reference-site .detail-hero { padding:18px 0 30px; }
  .reference-site .detail-hero .breadcrumb { margin-bottom:24px;font-size:12px; }
  .reference-site .detail-hero-grid { gap:26px;min-height:0; }
  .reference-site .detail-hero-copy h1 { font-size:34px;margin:12px 0 18px; }
  .reference-site .detail-hero-copy>p { font-size:14px;line-height:1.85; }
  .reference-site .detail-hero-actions { margin-top:22px; }
  .reference-site .brand-editorial-art { height:190px; }
  .reference-site .detail-body { padding-top:32px; }
  .reference-site .document-hero .detail-hero-copy h1 { font-size:32px; }
  .reference-site .document-layout { gap:26px; }
  .reference-site .document-layout aside { position:static; }
  .reference-site .footer-main { gap:26px 20px; }
  .reference-site .footer-brand { padding-right:0; }
  .reference-site .footer-group h2 { font-size:14px; }
  .reference-site .footer-group a { font-size:13px;min-height:32px; }
  .reference-site .disclosure,.reference-site .disclosure p { font-size:12px;line-height:1.9; }
  .reference-site .platform-entry { max-width:100%; }
}
@keyframes refined-popover { from { opacity:0;transform:translateY(-4px); } to { opacity:1;transform:translateY(0); } }
@media(max-width:389px) {
  .reference-site .header-actions>.btn { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .reference-site *, .reference-site *::before, .reference-site *::after { animation:none!important;transition:none!important; }
}

.reference-site .trust-grid[data-count="1"] .flag-photo img { position:absolute;inset:auto;inset-inline-end:24px;top:28px;width:180px;height:auto;object-fit:contain; }
@media(max-width:800px) { .reference-site .trust-grid[data-count="1"] .flag-photo img { inset-inline-end:20px;top:24px;width:130px;height:auto; } }
