:root {
  --navy:#122b3a;
  --ink:#152e3d;
  --muted:#63727a;
  --cream:#f7f6f2;
  --gold:#ac9878}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth}
body {
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:Arial,Helvetica,sans-serif}
a {
  color:inherit;
  text-decoration:none}
.header {
  height:100px;
  position:absolute;
  z-index:5;
  top:0;
  left:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 7%;
  color:white;
  border-bottom:1px solid #ffffff38}
.brand {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:27px;
  font-weight:700;
  letter-spacing:-1px;
  line-height:1}
.brand small {
  font-size:15px}
.brand em {
  display:block;
  font:8px Arial,sans-serif;
  letter-spacing:1.7px;
  margin-top:5px}
.header nav {
  display:flex;
  align-items:center;
  gap:40px;
  font-size:12px;
  letter-spacing:.04em}
.nav-contact {
  border:1px solid #ffffff77;
  padding:15px 19px}
.nav-contact span {
  margin-left:22px}
.hero {
  min-height:760px;
  height:95vh;
  max-height:1000px;
  color:white;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#233f52}
.hero-art,.hero-shade {
  position:absolute;
  inset:0}
.hero-art svg {
  height:100%;
  width:100%}
.hero-shade {
  background:linear-gradient(90deg,rgba(12,33,48,.88) 0%,rgba(15,37,53,.55) 46%,rgba(16,40,56,.08) 100%),linear-gradient(0deg,rgba(11,32,46,.5),transparent 50%)}
.hero-content {
  position:relative;
  margin:100px 7% 0;
  max-width:800px}
.eyebrow,.section-label {
  font-size:10px;
  letter-spacing:.19em;
  font-weight:700}
.eyebrow {
  display:flex;
  align-items:center;
  gap:14px}
.eyebrow span {
  width:32px;
  height:1px;
  background:#d6c3a3}
.hero h1,h2 {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.045em}
.hero h1 {
  font-size:clamp(64px,8vw,118px);
  line-height:.98;
  margin:30px 0}
.hero h1 em,h2 em {
  font-weight:400;
  color:#d2c4ac}
.hero-content>p {
  font-size:17px;
  line-height:1.7;
  color:#e0e5e4;
  max-width:390px}
.hero-actions {
  display:flex;
  align-items:center;
  gap:30px;
  margin-top:38px}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding:19px 22px;
  font-size:12px;
  font-weight:700}
.button-light {
  background:#f7f6f2;
  color:#173344}
.text-link {
  font-size:12px;
  border-bottom:1px solid #ffffff80;
  padding:16px 0}
.text-link span {
  margin-left:16px}
.hero-bottom {
  position:absolute;
  bottom:32px;
  left:7%;
  right:7%;
  display:flex;
  justify-content:space-between;
  font-size:9px;
  letter-spacing:.16em;
  color:#e2e5e3}
.section {
  padding:115px 7%}
.section-label {
  display:flex;
  align-items:center;
  gap:24px;
  color:#89785e}
.section-label .line {
  height:1px;
  background:#c9c7be;
  flex:1}
.intro-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:10%;
  margin-top:75px}
h2 {
  font-size:clamp(42px,5vw,68px);
  line-height:1.1;
  margin:0}
h2 em {
  color:#a5967d}
.intro-copy {
  max-width:540px}
.intro-copy p,.contact-grid>div>p,.relationship-grid>div>p {
  font-size:15px;
  line-height:1.85;
  color:var(--muted)}
.intro-copy .lead {
  color:var(--ink);
  font:25px/1.45 Georgia,serif;
  margin-top:0}
.inline-link {
  display:inline-block;
  border-bottom:1px solid #8d9a9d;
  font-size:12px;
  font-weight:700;
  padding:20px 0 12px}
.inline-link span {
  margin-left:30px}
.advantages {
  background:#eaece8}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin:75px 0 60px}
.section-heading>p {
  max-width:300px;
  font-size:14px;
  line-height:1.8;
  color:var(--muted)}
.adv-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #bdc6c3}
.adv-grid article {
  padding:32px 35px 36px 0;
  border-bottom:1px solid #bdc6c3;
  min-height:205px}
.adv-grid article:not(:nth-child(3n+1)) {
  padding-left:35px;
  border-left:1px solid #bdc6c3}
.adv-grid article>span,.adv-grid h3 {
  font:25px Georgia,serif;
  font-weight:400;
  margin:28px 0 12px}
.adv-grid p {
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
  max-width:310px}
.relationship {
  background:#163343;
  color:white}
.light-label {
  color:#c7b89f}
.light-label .line {
  background:#ffffff40}
.relationship-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12%;
  margin-top:75px}
.relationship-grid>div>p {
  color:#bac7c9;
  max-width:350px}
.contact {
  background:#f7f6f2}
.contact-details a,footer {
  background:#102a39;
  color:#d8dfdc;
  padding:70px 7% 30px}
.footer-top {
  display:flex;
  align-items:center;
  gap:40px;
  border-bottom:1px solid #ffffff32;
  padding-bottom:45px}
.footer-top p {
  font-size:12px;
  color:#aab9ba}
.footer-top>a:last-child {
  margin-left:auto;
  font-size:10px;
  letter-spacing:.12em}
.footer-legal {
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:15%;
  padding:45px 0;
  color:#afbdbe;
  font-size:12px;
  line-height:1.8}
.footer-legal h3 {
  color:white;
  font:19px Georgia,serif}
.footer-bottom {
  border-top:1px solid #ffffff32;
  padding-top:25px;
  display:flex;
  justify-content:space-between;
  font-size:9px;
  letter-spacing:.1em;
  color:#92a3a5}
@media(max-width:700px) {
  .header {
  height:78px;
  padding:0 6%}
.header nav {
  gap:14px}
.header nav>a:not(.nav-contact) {
  display:none}
.nav-contact {
  padding:12px}
.hero {
  min-height:660px;
  height:90vh}
.hero-content {
  margin:80px 6% 0}
.hero h1 {
  font-size:60px}
.hero-actions {
  align-items:flex-start;
  flex-direction:column;
  gap:8px}
.hero-bottom {
  left:6%;
  right:6%;
  font-size:8px}
.section {
  padding:80px 6%}
.intro-grid,.relationship-grid,.section-heading {
  display:block;
  margin:45px 0 35px}
.section-heading>p {
  margin-top:24px}
.adv-grid {
  grid-template-columns:1fr 1fr}
.adv-grid article,.adv-grid article:not(:nth-child(3n+1)) {
  padding:25px 18px 25px 0;
  border-left:0}
.adv-grid article:nth-child(even) {
  border-left:1px solid #bdc6c3;
  padding-left:20px}
.adv-grid h3 {
  font-size:21px}
.footer-top {
  align-items:flex-start;
  flex-direction:column;
  gap:12px}
.footer-top>a:last-child {
  margin:15px 0 0}
.footer-legal {
  grid-template-columns:1fr;
  gap:10px}
.footer-bottom {
  gap:15px;
  flex-direction:column}
}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
}

/* Brand imagery and relationship diagram */
.brand img {
  display:block;
  width:174px;
  height:auto}
.hero-art {
  background-image:url('assets/matterhorn-glacier-paradise-aussicht-1.jpg');
  background-position:center center;
  background-size:cover}
.hero-shade {
  background:linear-gradient(90deg,rgba(10,34,52,.82),rgba(11,40,61,.47) 52%,rgba(12,37,55,.15)),linear-gradient(0deg,rgba(11,32,46,.52),transparent 55%)}
.relationship-intro {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:35px;
  margin-top:75px}
.relationship-intro p {
  color:#bac7c9;
  font-size:15px;
  line-height:1.8;
  max-width:360px}
.relationship-note {
  font-size:13px!important}
.diagram {
  max-width:960px;
  margin:30px auto 0}
.diagram svg {
  display:block;
  width:100%;
  height:auto}
.diagram-line {
  fill:none;
  stroke:#b7c6c7;
  stroke-width:1.5}
.diagram-node {
  fill:#1d4152;
  stroke:#849d9f;
  stroke-width:1}
.diagram-title {
  fill:#fff;
  font:24px Georgia,serif}
.label-bg {
  fill:#163343}
.diagram-label {
  fill:#cad6d3;
  font:10px Arial,sans-serif;
  letter-spacing:1.2px}
.diagram-caption {
  text-align:center;
  color:#bac7c9;
  font-size:13px;
  line-height:1.7;
  margin:0}
.footer-contact {
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:35px;
  padding:48px 0;
  border-bottom:1px solid #ffffff32}
.footer-contact span {
  display:block;
  font-size:10px;
  letter-spacing:.15em;
  color:#c5b596;
  margin-bottom:15px}
.footer-contact a,.footer-contact p {
  display:block;
  font:18px/1.7 Georgia,serif;
  margin:0}
.footer-contact a:hover {
  text-decoration:underline}
@media(max-width:700px) {
  .brand img {
  width:145px}
.hero-art {
  background-position:57% center}
.relationship-intro {
  display:block;
  margin-top:45px}
.relationship-note {
  margin-top:24px}
.diagram {
  margin:15px -3% 0}
.diagram-caption {
  text-align:left}
.footer-contact {
  grid-template-columns:1fr;
  gap:30px}
.diagram-title {
  font-size:26px}
.diagram-label {
  font-size:12px;
  letter-spacing:.4px}
}

.diagram-title {
  font-size:20px}
@media(max-width:700px) {
  .diagram-title {
  font-size:20px}
}

.header-right {
  display:flex;
  align-items:center;
  gap:30px}
.language-switch {
  display:flex;
  align-items:center;
  gap:7px;
  color:#ffffff80;
  font-size:11px;
  letter-spacing:.08em}
.language-switch button {
  border:0;
  padding:10px 2px;
  background:none;
  color:#ffffffa0;
  font:inherit;
  cursor:pointer}
.language-switch button[aria-pressed="true"] {
  color:#fff;
  font-weight:700}
.language-switch button:focus-visible {
  outline:2px solid white;
  outline-offset:3px}
@media(max-width:700px) {
  .header-right {
  gap:14px}
.language-switch {
  gap:4px;
  font-size:10px}
.nav-contact span {
  margin-left:8px}
.header nav {
  gap:0}
}

/* Responsive navigation, accessible type and mobile relationship diagram. */
.header {
  position:sticky;
  top:0;
  background:#123247;
  height:82px}
.hero {
  height:calc(95vh - 82px)}
.hero-content {
  margin-top:0}
.header nav {
  gap:24px}
.language-switch a {
  padding:10px 2px;
  color:#ffffffba}
.language-switch a[aria-current="page"] {
  color:#fff;
  font-weight:700}
.language-switch a:focus-visible {
  outline:2px solid white;
  outline-offset:3px}
.hero-art {
  background:none}
.hero-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center}
.hero {
  min-height:650px}
.mobile-diagram {
  display:none}
.section-label {
  color:#695b43}
.eyebrow,.section-label,.hero-bottom,.footer-bottom,.footer-contact span,.adv-grid article>span,.adv-grid p,.footer-legal {
  font-size:14px}
.footer-top>a:last-child {
  font-size:12px}
.button,.text-link,.inline-link,.header nav {
  font-size:13px}
.light-label {
  color:#e4d9c6}
.button-light {
  background:#1768a6;
  color:white}
.inline-link {
  color:#135d96}
.relationship-intro h2 em,.intro h2 em,.advantages h2 em {
  font-style:normal}
.mobile-diagram p {
  line-height:1.6}
.footer-contact a:focus-visible,.language-switch a:focus-visible {
  outline:2px solid #fff}
.section[id],footer[id] {
  scroll-margin-top:100px}

@media(max-width:1050px) {
  .header nav>a:not(.nav-contact) {
  display:none}
.header nav {
  gap:0}
}

@media(max-width:700px) {
  .header {
  height:74px}
.hero {
  height:calc(90vh - 74px);
  min-height:590px}
.hero-art img {
  object-position:57% center}
.header-right {
  gap:14px}
.hero-content {
  margin-top:0}
.adv-grid {
  grid-template-columns:1fr}
.adv-grid article,.adv-grid article:not(:nth-child(3n+1)),.adv-grid article:nth-child(even) {
  padding:25px 0;
  border-left:0;
  min-height:auto}
.desktop-diagram {
  display:none}
.mobile-diagram {
  display:block;
  margin-top:40px}
.mobile-node {
  border:1px solid #7c9a9f;
  background:#1d4152;
  padding:18px 20px}
.mobile-node strong {
  font:22px Georgia,serif;
  display:block}
.mobile-node span {
  display:block;
  color:#d7e0df;
  font-size:14px;
  margin-top:7px}
.mobile-relation {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 20px;
  color:#dce5e4;
  font-size:18px}
.mobile-relation span {
  font-size:13px;
  letter-spacing:.02em}
.mobile-diagram p {
  font-size:14px;
  color:#d7e0df}
.diagram-caption {
  display:none}
.hero-bottom {
  font-size:10px}
.relationship-intro h2 {
  font-size:clamp(39px,9vw,60px)}
}

.footer-contact { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
@media (max-width: 900px) { .footer-contact { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .footer-contact { grid-template-columns: 1fr; } }
.market-ticker { height: 46px; overflow: hidden; background: #123247; color: #d5e1e8; }
.market-ticker .tradingview-widget-container, .market-ticker .tradingview-widget-container__widget { width: 100%; height: 46px; }
.ticker-fallback { display: block; padding: 14px 7%; font-size: 12px; }
.ticker-reduced { display: none; padding: 14px 7%; font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .market-ticker .tradingview-widget-container { display: none; } .ticker-reduced { display: block; } }
/* Appearance selector and dark theme */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.theme-switch { display: flex; align-items: center; gap: 5px; color: #e6eff2; font-size: 14px; }
.theme-switch select { appearance: none; color: #e6eff2; background: transparent; border: 0; padding: 10px 14px 10px 2px; font: 12px Arial, sans-serif; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='m1 1 3 3 3-3' fill='none' stroke='%23c8d8dd'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right center; }
.theme-switch option { background: #123247; color: white; }
.theme-switch select:focus-visible { outline: 2px solid white; outline-offset: 3px; }
html[data-theme="dark"] { --ink: #edf3f1; --muted: #c0cdcf; --cream: #102735; }
html[data-theme="dark"] body, html[data-theme="dark"] .intro, html[data-theme="dark"] .contact { background: #102735; }
html[data-theme="dark"] .advantages { background: #1b3643; }
html[data-theme="dark"] .section-label { color: #d7c9b1; }
html[data-theme="dark"] .section-label .line, html[data-theme="dark"] .adv-grid { border-color: #718789; }
html[data-theme="dark"] .section-label .line { background: #718789; }
html[data-theme="dark"] .adv-grid article { border-color: #718789; }
html[data-theme="dark"] .adv-grid article > span { color: #e0cfb0; }
html[data-theme="dark"] .inline-link { color: #a6d8fa; border-color: #93aeb5; }
html[data-theme="dark"] h2 em { color: #d7c8ad; }
@media (max-width: 700px) { .header-right { gap: 10px; } .theme-switch { gap: 3px; } .theme-switch select { font-size: 11px; } .brand img { width: 128px; } }
@media (max-width: 360px) { .nav-contact { padding: 10px 8px; } .nav-contact span { display: none; } .brand img { width: 115px; } }
.theme-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 10px 2px; border: 0; background: transparent; color: #e6eff2; cursor: pointer; font: 12px Arial, sans-serif; white-space: nowrap; }
.theme-icon { display: inline-block; font-size: 18px; line-height: 1; }
.theme-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 700px) { .theme-toggle { font-size: 11px; } }
@media (max-width: 360px) { .theme-mode { display: none; } }
/* The transparent market tape sits over the same blue mountain sky as the hero. */
.market-ticker { background: linear-gradient(90deg, rgba(10,34,52,.72), rgba(11,40,61,.50)), url('/assets/matterhorn-glacier-paradise-aussicht-1.jpg') center top / cover; }
.market-ticker iframe { color-scheme: light; }

.footer-controls { display: flex; align-items: center; gap: 24px; border-top: 1px solid #ffffff32; padding: 20px 0; }
.footer-controls .theme-mode { display: inline; }
.footer-controls .theme-toggle, .footer-controls .language-switch { font-size: 13px; }

.arrow-icon { display: inline-block; width: 13px; height: 13px; vertical-align: -2px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }
/* Restrained interaction cues */
.button-light { background-color: #205c83; }
.button, .nav-contact, .text-link, .inline-link, .footer-contact a, .adv-grid article { transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.button .arrow-icon, .nav-contact .arrow-icon, .text-link .arrow-icon, .inline-link .arrow-icon, .footer-contact .arrow-icon { transition: transform 180ms ease; }
@media (hover: hover) and (pointer: fine) {
  .button-light:hover { background-color: #287096; }
  .nav-contact:hover { background-color: rgba(255,255,255,.08); border-color: #e4edee; }
  .text-link:hover, .inline-link:hover, .footer-contact a:hover { color: #6cb4de; }
  .button:hover .arrow-icon, .nav-contact:hover .arrow-icon, .inline-link:hover .arrow-icon, .footer-contact a:hover .arrow-icon { transform: translate(3px,-3px); }
  .text-link:hover .arrow-icon { transform: translateX(3px); }
  .adv-grid article:hover { background-color: rgba(255,255,255,.35); box-shadow: inset 0 -2px #357da2; }
  html[data-theme="dark"] .adv-grid article:hover { background-color: rgba(255,255,255,.045); box-shadow: inset 0 -2px #7ab6d5; }
}
.button:focus-visible, .nav-contact:focus-visible, .text-link:focus-visible, .inline-link:focus-visible, .footer-contact a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .button, .nav-contact, .text-link, .inline-link, .footer-contact a, .adv-grid article, .arrow-icon { transition: none; }
  .button:hover .arrow-icon, .nav-contact:hover .arrow-icon, .text-link:hover .arrow-icon, .inline-link:hover .arrow-icon, .footer-contact a:hover .arrow-icon { transform: none; }
}
/* Relationship diagram: a single, gentle highlight on entering the viewport. */
.diagram-node { transition: fill 220ms ease, stroke 220ms ease; }
.diagram-line { transition: stroke 220ms ease; }
.mobile-node { transition: background-color 220ms ease, border-color 220ms ease; }
@media (hover: hover) and (pointer: fine) {
}
@media (prefers-reduced-motion: no-preference) {
  .relationship.is-visible .diagram-line { animation: relationship-lines 1.3s ease-out; }
  .relationship.is-visible .diagram-node { animation: relationship-node 1s ease-out; }
  .relationship.is-visible .mobile-node { animation: relationship-mobile 700ms ease-out both; }
  .relationship.is-visible .mobile-node:nth-of-type(3) { animation-delay: 120ms; }
  .relationship.is-visible .mobile-node:nth-of-type(5) { animation-delay: 240ms; }
  .relationship.is-visible .mobile-relation { animation: relationship-relation 850ms ease-out both; }
  @keyframes relationship-lines { from { stroke: #547481; } to { stroke: #b7c6c7; } }
  @keyframes relationship-node { 0% { fill: #1d4152; } 45% { fill: #315a6c; stroke: #c7e1e7; } 100% { fill: #1d4152; } }
  @keyframes relationship-mobile { 0% { transform: translateY(5px); } 55% { background-color: #315a6c; border-color: #b5d5de; } 100% { transform: translateY(0); } }
  @keyframes relationship-relation { from { color: #8ba8ac; } to { color: #dce5e4; } }
}
@media (prefers-reduced-motion: reduce) { .diagram-node, .diagram-line, .mobile-node { transition: none; } }

/* The links in the relationship diagram respond independently. */
#contact { scroll-margin-top: 94px; }
.diagram-hit { fill: none; stroke: transparent; stroke-width: 28; pointer-events: stroke; }
@media (hover: hover) and (pointer: fine) {
  .diagram-connection:hover .diagram-line { stroke: #8ed7f2; stroke-width: 3; filter: drop-shadow(0 0 5px rgba(142,215,242,.55)); }
}
/* The relationship nodes react without shifting their connecting lines. */
.desktop-diagram .diagram-title { pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  .desktop-diagram .diagram-node:hover { fill: #315c6d; stroke: #b5dce8; stroke-width: 2; }
}
/* Small interaction cues, with content visible even without JavaScript. */
@media (hover: hover) and (pointer: fine) {
  .adv-grid article:hover h3, .adv-grid article:hover > span { color: #165d85; }
  html[data-theme="dark"] .adv-grid article:hover h3, html[data-theme="dark"] .adv-grid article:hover > span { color: #a7d7ec; }
  .diagram-connection.is-related .diagram-line { stroke: #8ed7f2; stroke-width: 3; filter: drop-shadow(0 0 5px rgba(142,215,242,.55)); }
}
.diagram-line { transition: stroke 220ms ease, stroke-width 220ms ease, filter 220ms ease; }
.footer-legal details { border-top: 1px solid #ffffff32; }
.footer-legal summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 0; color: white; font: 19px Georgia, serif; }
.footer-legal summary::-webkit-details-marker { display: none; }
.footer-legal summary::after { content: '+'; color: #c8d7d7; font: 22px Arial, sans-serif; }
.footer-legal details[open] summary::after { content: '−'; }
.footer-legal details p:last-child { margin-bottom: 20px; }
.footer-legal summary:focus-visible { outline: 2px solid #d2e8f2; outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .section.reveal-visible > .section-label, .section.reveal-visible h2, .section.reveal-visible .intro-copy, .section.reveal-visible .section-heading > p { animation: content-arrive 650ms ease-out; }
  @keyframes content-arrive { from { opacity: .55; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}
@media (prefers-reduced-motion: reduce) { .diagram-line { transition: none; } }
/* Equal inset on each advantage card, including the first column. */
@media (min-width: 701px) {
  .adv-grid article,
  .adv-grid article:not(:nth-child(3n+1)) { padding-left: 35px; padding-right: 35px; }
}
@media (max-width: 700px) {
  .adv-grid article,
  .adv-grid article:not(:nth-child(3n+1)),
  .adv-grid article:nth-child(even) { padding-left: 16px; padding-right: 16px; }
}
/* Legal text stays open on larger screens; phones use compact disclosures. */
.legal-desktop { display: contents; }
.legal-mobile { display: none; }
@media (max-width: 700px) {
  .legal-desktop { display: none; }
  .legal-mobile { display: contents; }
}
/* Align the appearance and language controls to the right of the footer. */
.footer-controls { justify-content: flex-end; }
/* A single separator between contacts and the compact legal disclosures. */
@media (max-width: 700px) {
  .footer-contact { padding-bottom: 32px; }
  .footer-legal { padding: 0 0 16px; gap: 0; }
  .legal-mobile details:first-child { border-top: 0; }
  .legal-mobile summary { padding: 18px 0; }
}
