/* Wesal masthead and footer. Original content and destinations retained. */
.site-header { padding:12px 0; background:transparent; border:0; box-shadow:none; }
.site-header .nav-wrap,
.site-header.scrolled .nav-wrap {
  position:relative; display:flex; align-items:center; justify-content:flex-start;
  gap:48px; min-height:82px; padding:12px 8px 20px;
  border:0; border-bottom:1px solid rgba(0,63,53,.18); border-radius:0;
  background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
  transition:background .2s ease,box-shadow .2s ease,border-radius .2s ease;
}
.site-header.scrolled { padding:10px 0; }
.site-header.scrolled .nav-wrap { min-height:74px; padding:10px 18px; background:#fff; border:1px solid rgba(0,63,53,.12); border-radius:20px 20px 5px 20px; box-shadow:0 6px 26px rgba(0,63,53,.07); }
.site-header .brand { flex-shrink:0; padding:0; }
.site-header .brand>.approved-logo { width:142px; height:auto; }
.site-header .nav-links { display:flex; justify-content:flex-start; gap:25px; margin:0; padding:0; align-items:center; }
.site-header .nav-links>a,
.nav-platform>summary {
  display:flex; align-items:center; gap:10px; min-height:44px;
  color:#003f35; font-size:.9375rem; font-weight:500; white-space:nowrap;
}
.site-header .nav-links a::after { display:none; }
.site-header .nav-links>a { text-decoration-thickness:1px; text-underline-offset:8px; }
.site-header .nav-links>a:hover { text-decoration:underline; }
.site-header .nav-links>a:hover,.nav-platform>summary:hover { color:#009e68; }
.nav-platform { position:relative; }
.nav-platform>summary { cursor:pointer; list-style:none; border-radius:10px; }
.nav-platform>summary::-webkit-details-marker { display:none; }
.nav-platform>summary::after { content:""; width:7px; height:7px; margin-top:-4px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .18s ease; }
.nav-platform[open]>summary { color:#003f35; }
.nav-platform[open]>summary::after { transform:rotate(225deg); margin-top:3px; }
.nav-platform-links {
  position:absolute; top:calc(100% + 16px); right:-28px; width:360px;
  display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:12px;
  background:#e9eed4; border:1px solid rgba(0,63,53,.18);
  border-radius:20px 20px 4px 20px; box-shadow:0 14px 32px rgba(0,63,53,.12);
}
.site-header .nav-platform-links a {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:51px; padding:12px 15px; border-radius:12px 12px 3px 12px;
  font-size:.9375rem; font-weight:500; color:#003f35; background:transparent;
}
.site-header .nav-platform-links a::after { content:"↙"; position:static; display:block; height:auto; width:auto; color:#003f35; background:none; font-size:1rem; }
.site-header .nav-platform-links a:last-child { grid-column:1/-1; border-top:1px solid rgba(0,63,53,.15); border-radius:0 0 3px 12px; margin-top:3px; }
.site-header .nav-platform-links a:hover { background:#c4e970; }
.site-header .nav-cta {
  display:inline-flex; min-height:50px; padding:7px 16px 7px 7px; gap:13px; flex-shrink:0; margin-inline-start:auto;
  color:#fff; background:#003f35; border:0; border-radius:22px 22px 4px 22px;
  font-size:.875rem; font-weight:500; box-shadow:none;
}
.site-header .nav-cta span { display:grid; place-items:center; width:34px; height:34px; margin:0; background:#c4e970; color:#003f35; border-radius:13px 13px 3px 13px; font-size:1.125rem; }
.site-header .nav-cta:hover { background:#009e68; transform:none; }
.site-header .menu-button { display:none; width:44px; height:44px; border:1px solid rgba(0,63,53,.22); border-radius:13px 13px 3px 13px; background:transparent; }

/* One continuous closing composition, with a clear visual order. */
.site-footer {
  position:relative; isolation:isolate; overflow:hidden; padding:80px 0 30px;
  color:#e9eed4; background:#003f35; border-radius:48px 48px 0 0;
}
.site-footer::before,.site-footer::after { display:none; }
.site-footer .footer-cta {
  display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:end;
  padding:0 0 62px; margin:0; border:0; border-radius:0;
  background:transparent; box-shadow:none;
}
.site-footer .footer-cta h2 { color:#e9eed4; font-size:clamp(2.8rem,4.1vw,4rem); line-height:1.36; font-weight:500; }
.site-footer .footer-cta h2 span { color:#c4e970; font-weight:700; }
.site-footer .footer-action { max-width:450px; }
.site-footer .footer-action p { margin:0 0 22px; font-size:1.0625rem; line-height:1.9; color:#e9eed4; font-weight:400; }
.site-footer .footer-action .button { min-height:52px; background:#c4e970; color:#003f35; border:0; padding-inline:24px; font-weight:500; box-shadow:none; }
.site-footer .footer-action .button:hover { background:#89e3b4; }
.site-footer .footer-meta {
  display:grid; grid-template-columns:minmax(220px,.95fr) minmax(330px,1.15fr) minmax(250px,.9fr);
  grid-template-areas:"identity links downloads" "assurance assurance assurance";
  gap:40px 54px; align-items:start; margin:0; padding:40px 0 0;
  border-top:1px solid rgba(233,238,212,.23); color:#e9eed4;
}
.site-footer .footer-identity { grid-area:identity; display:grid; gap:19px; max-width:290px; }
.site-footer .footer-identity .brand>.approved-logo { content:url('../identity/logo-white.svg'); width:150px; height:auto; }
.site-footer .footer-identity>span { color:#c3d8ce; font-size:.9375rem; font-weight:400; line-height:1.85; }
.site-footer .footer-socials { gap:8px; margin:0; }
.site-footer .footer-social-link { display:grid; place-items:center; width:34px; height:34px; color:#e9eed4; border:1px solid rgba(233,238,212,.25); border-radius:10px 10px 2px 10px; background:transparent; }
.site-footer .footer-social-link svg { width:16px; height:16px; }
.site-footer .footer-social-link:hover { background:#c4e970; border-color:#c4e970; color:#003f35; transform:none; }
.site-footer .footer-links {
  grid-area:links; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 26px; align-content:start; align-items:start; justify-content:start;
  padding:0; margin:0; border:0;
}
.site-footer .footer-links a { display:flex; align-items:center; min-height:39px; color:#e9eed4; font-size:.9375rem; font-weight:400; white-space:normal; }
.site-footer .footer-links a:hover { color:#c4e970; }
.site-footer .footer-downloads { grid-area:downloads; display:grid; justify-items:start; gap:18px; padding-top:6px; }
.site-footer .footer-downloads>span { color:#e9eed4; font-size:.875rem; font-weight:500; line-height:1.7; }
.site-footer .footer-store-badges { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-start; }
.site-footer .footer-store-badge { display:flex; align-items:center; gap:9px; min-height:50px; padding:9px 11px; color:#e9eed4; background:transparent; border:1px solid rgba(233,238,212,.35); border-radius:12px 12px 3px 12px; }
.site-footer .footer-store-badge svg { width:21px; height:24px; }
.site-footer .footer-store-badge .store-copy { gap:3px; }
.site-footer .footer-store-badge .store-copy small { color:#c3d8ce; font-size:.625rem; }
.site-footer .footer-store-badge .store-copy strong { color:#e9eed4; font-size:.875rem; }
.site-footer .footer-assurance {
  grid-area:assurance; display:grid; grid-template-columns:1fr; gap:22px;
  margin:0; padding:24px 32px 18px; border:0; border-radius:24px 24px 5px 24px;
  color:#003f35; background:#e9eed4;
}
.site-footer .assurance-identity { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:center; }
.site-footer .commerce-registration,.site-footer .meta-trust,.site-footer .oracle-trust { min-height:62px; justify-content:center; margin:0; padding:0; border:0; }
.site-footer .commerce-registration { gap:14px; }
.site-footer .commerce-registration img { width:78px; height:35px; filter:none; opacity:1; }
.site-footer .registration-divider { display:none; }
.site-footer .registration-copy { gap:7px; }
.site-footer .registration-copy small { color:#365b4e; font-size:.8125rem; font-weight:400; }
.site-footer .registration-copy bdi { color:#003f35; font-size:.9375rem; font-weight:500; letter-spacing:.015em; }
.site-footer .meta-trust { flex-direction:column; gap:6px; border-inline:1px solid rgba(0,63,53,.18); }
.site-footer .meta-trust>span { color:#365b4e; font-size:.75rem; font-weight:400; }
.site-footer .meta-trust img { width:124px; height:auto; object-fit:contain; margin-block:-8px; }
.site-footer .oracle-trust { display:flex; flex-direction:row-reverse; gap:14px; }
.site-footer .oracle-trust>span { color:#365b4e; font-size:.8125rem; font-weight:400; line-height:1.55; }
.site-footer .oracle-logo { display:block; width:110px; height:24px; flex:0 0 auto; }
.site-footer .payment-support { display:flex; align-items:center; justify-content:center; width:100%; padding-top:14px; border-top:1px solid rgba(0,63,53,.12); }
.site-footer .payment-marks { gap:9px; padding:0; flex-wrap:wrap; justify-content:center; }
.site-footer :focus-visible { outline-color:#c4e970; }

@media (max-width:1180px) {
  .site-header .nav-wrap { gap:32px; padding-inline:8px; }
  .site-header .nav-links { gap:18px; }
  .site-header .nav-links>a,.nav-platform>summary { font-size:.875rem; }
  .site-header .nav-cta { font-size:.8125rem; gap:9px; }
  .site-footer .footer-meta { grid-template-columns:1fr 1.1fr .9fr; gap:36px 30px; }
  .site-footer .oracle-trust { flex-direction:column-reverse; gap:8px; text-align:center; }
}
@media (max-width:980px) {
  .site-header { padding:12px 0; }
  .site-header .nav-wrap { min-height:74px; gap:18px; }
  .site-header .nav-links { display:none; }
  .site-header .nav-cta { margin-inline-start:auto; }
  .site-header .menu-button { display:grid; place-items:center; flex-shrink:0; }
  .site-header .nav-links.open {
    position:absolute; display:flex; align-items:stretch; flex-direction:column; gap:0;
    inset:calc(100% + 10px) 0 auto; padding:15px; margin:0;
    max-height:calc(100dvh - 120px); overflow-y:auto;
    color:#003f35; background:#fff; border:1px solid rgba(0,63,53,.2);
    border-radius:20px 20px 4px 20px; box-shadow:0 18px 34px rgba(0,63,53,.12);
  }
  .site-header .nav-links>a,.nav-platform>summary { padding:12px 16px; min-height:50px; font-size:1rem; }
  .nav-platform { border-block:1px solid rgba(0,63,53,.12); }
  .nav-platform>summary { justify-content:space-between; }
  .nav-platform-links { position:static; width:100%; padding:8px; margin:0 0 10px; border:0; box-shadow:none; border-radius:14px 14px 3px 14px; }
  .site-header .nav-platform-links a { font-size:.9375rem; min-height:48px; }
  .site-footer { padding-top:62px; border-radius:36px 36px 0 0; }
  .site-footer .footer-cta { gap:36px; }
  .site-footer .footer-meta { grid-template-columns:1fr 1fr; grid-template-areas:"identity links" "downloads downloads" "assurance assurance"; gap:32px 50px; }
  .site-footer .footer-downloads { display:flex; justify-content:space-between; align-items:center; gap:20px; }
  .site-footer .footer-assurance { padding-inline:22px; }
  .site-footer .assurance-identity { gap:18px; }
  .site-footer .commerce-registration { flex-direction:column; gap:8px; text-align:center; }
}
@media (max-width:700px) {
  .site-header .nav-wrap { min-height:70px; padding:6px 2px 15px; border-radius:0; }
  .site-header.scrolled .nav-wrap { min-height:66px; padding:8px 12px; border-radius:16px 16px 4px 16px; }
  .site-header .nav-cta { display:none; }
  .site-header .menu-button { margin-inline-start:auto; }
  .site-header .nav-links.open { inset:calc(100% + 8px) 0 auto; }
  .site-footer { padding:48px 0 18px; border-radius:28px 28px 0 0; }
  .site-footer .footer-cta { grid-template-columns:1fr; gap:24px; padding-bottom:38px; }
  .site-footer .footer-cta h2 { font-size:clamp(2.05rem,8.9vw,3.3rem); line-height:1.4; }
  .site-footer .footer-action p { font-size:1rem; margin-bottom:20px; }
  .site-footer .footer-action .button { width:100%; justify-content:space-between; }
  .site-footer .footer-meta { grid-template-columns:1fr; grid-template-areas:"identity" "links" "downloads" "assurance"; gap:30px; padding-top:32px; }
  .site-footer .footer-identity { max-width:100%; gap:17px; }
  .site-footer .footer-identity>span { max-width:330px; }
  .site-footer .footer-socials { gap:9px; }
  .site-footer .footer-social-link { width:38px; height:38px; }
  .site-footer .footer-links { gap:0 26px; padding-block:0; }
  .site-footer .footer-links a { font-size:1rem; min-height:43px; }
  .site-footer .footer-downloads { display:grid; gap:14px; justify-content:stretch; padding-top:0; }
  .site-footer .footer-store-badges { gap:10px; }
  .site-footer .footer-store-badge { padding:10px 14px; }
  .site-footer .footer-assurance { padding:24px 18px 18px; gap:20px; border-radius:20px 20px 4px 20px; }
  .site-footer .assurance-identity { grid-template-columns:1fr 1fr; gap:24px 12px; }
  .site-footer .commerce-registration { grid-column:1/-1; flex-direction:row; justify-content:flex-start; gap:18px; padding-bottom:18px; border-bottom:1px solid rgba(0,63,53,.15); text-align:right; }
  .site-footer .commerce-registration img { width:80px; height:38px; }
  .site-footer .registration-copy small { font-size:.875rem; }
  .site-footer .registration-copy bdi { font-size:1rem; }
  .site-footer .meta-trust { border:0; gap:9px; }
  .site-footer .meta-trust img { width:112px; height:auto; }
  .site-footer .oracle-trust { gap:10px; border-inline-start:1px solid rgba(0,63,53,.15); }
  .site-footer .oracle-trust>span { font-size:.75rem; }
  .site-footer .oracle-logo { width:94px; height:22px; }
  .site-footer .payment-marks { gap:5px; }
}
@media (prefers-reduced-motion:reduce) {
  .nav-platform>summary::after { transition:none; }
  .site-header .nav-wrap { transition:none; }
}
