/* Calm, borderless sections. Reflective glass is reserved for action controls. */
:root {
  --glass-paper: #e9edef;
  --glass-panel-fill: linear-gradient(135deg, #ffffff24, #ffffff00 46%, #ffffff1a);
  --glass-control-shadow: inset 0 1px 1px #fff, inset 0 3px 4px #334a6152, inset 2px 0 2px #ffffffd9, inset -2px 0 2px #ffffffb3, inset 0 -3px 2px #fffffff0, 0 1px 1px #49617666, 0 3px 2px #ffffffb3, 0 10px 15px -5px #35495b59, 0 20px 28px -15px #35495b66;
}
body {
  background: radial-gradient(ellipse at 82% 0, #d5dfe8 0, transparent 42%), linear-gradient(115deg, #e0e5e9, #e9edef 52%, #dfe5e9);
  background-attachment: fixed;
}
.glass-panel {
  --panel-radius: 34px;
  position: relative;
  isolation: isolate;
  border: 0;
  border-radius: var(--panel-radius);
  background: var(--glass-panel-fill);
  box-shadow: none;
}
.glass-panel::before,
.glass-panel::after { content: none; }
body .hero.glass-panel,
body .section.glass-panel,
body .contacts-panel.glass-panel,
body .legal-page.glass-panel {
  background: var(--glass-panel-fill);
  border: 0;
  box-shadow: none;
}
body .photo-section.glass-panel {
  --photo-surface: var(--glass-paper);
  background: var(--photo-surface);
}
body .support-film.glass-panel { background: #103347; }
.source-faithful .source-stats.glass-panel {
  padding-block: 28px;
  margin-top: 34px;
}
.header {
  padding-block: 8px;
  background: transparent;
  border: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.header .header-inner.glass-panel {
  --panel-radius: 28px;
  background: linear-gradient(125deg, #f1f4f68f, #e7ecf08c);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
  box-shadow: none;
}
.footer-compact.glass-panel { padding-top: 28px; margin-bottom: 28px; }
.cookie-notice.glass-panel {
  --panel-radius: 26px;
  background: #e9edefd9;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.glass-inset {
  --panel-radius: 24px;
  background: transparent;
  box-shadow: none;
}
.approach-promises > .glass-panel {
  padding: clamp(20px, 2.5vw, 32px);
  border: 0;
  border-radius: var(--panel-radius);
  background: transparent;
  box-shadow: none;
}
.approach-principles article:first-child { padding-top: 0; }
.source-route-panel.glass-panel { margin-inline: 0; }

/* Primary actions use the pale blue glass from the reference. */
body .button,
body .hero .button,
body .header .header-phone,
body .mobile-contact,
body .header .menu-toggle,
body .support-film-play {
  border-radius: 21px;
  border: 1px solid #ffffff8c;
  background: radial-gradient(120px 12px at 48% 0%, #ffffffa6, #ffffff00 80%), linear-gradient(155deg, #ffffff21, #ffffff00 48%, #b0c0d01a);
  box-shadow: var(--glass-control-shadow);
  -webkit-backdrop-filter: blur(4px) saturate(145%);
  backdrop-filter: blur(4px) saturate(145%);
}
body .hero .button,
body .source-help .button,
body .source-cta .button,
body .mobile-contact {
  background: radial-gradient(120px 12px at 48% 0%, #ffffffb3, #ffffff00 80%), linear-gradient(180deg, #a5c5e04d, #82afd22e 45%, #9fc3df3d 80%, #daeaf34d);
  border-color: #dcecfaa6;
  color: #102e43;
  box-shadow: var(--glass-control-shadow);
}
body .header .menu-toggle { border-radius: 17px; }
body .text-link.button { padding: 14px 24px; min-height: 54px; text-decoration: none; }
.glass-surface::before {
  inset: 1px;
  padding: 2px;
  background: conic-gradient(from var(--glass-angle), #ffffffa6 0deg, #3c5e7e99 62deg, #fff 75deg, #ffffffa6 125deg, #ffffff4d 180deg, #3656758c 225deg, #fff 242deg, #ffffffeb 300deg, #ffffffa6);
}
.glass-surface::after {
  inset: 2px;
  z-index: -1;
  background: radial-gradient(85px 54px at var(--glass-x) var(--glass-y), #fffffff2, #ffffff66 30%, #ffffff00 75%), linear-gradient(var(--glass-angle), transparent 25%, #ffffff00 37%, #ffffff99 47%, #ffffff26 52%, transparent 66%);
}
body .support-film-play {
  background: linear-gradient(150deg, #ffffff38, #c5ddeb0d 48%, #ffffff26);
  color: #fff;
  border-radius: 50%;
  box-shadow: inset 0 2px 3px #ffffffe6, inset 0 -3px 5px #ffffffb3, inset 2px 0 4px #ffffff80, 0 9px 20px #071d334d;
}
.source-faithful .route-tabs {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.source-faithful .route-tabs button {
  border: 1px solid #ffffff8c;
  border-radius: 21px;
  color: #103347;
  font-weight: 500;
  cursor: pointer;
  background: radial-gradient(120px 12px at 48% 0%, #ffffffa6, #ffffff00 80%), linear-gradient(155deg, #ffffff21, #ffffff00 48%, #b0c0d01a);
  box-shadow: var(--glass-control-shadow);
  -webkit-backdrop-filter: blur(4px) saturate(145%);
  backdrop-filter: blur(4px) saturate(145%);
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.source-faithful .route-tabs button[aria-selected="true"] {
  background: radial-gradient(120px 12px at 48% 0%, #ffffffb3, #ffffff00 80%), linear-gradient(180deg, #a5c5e080, #82afd259 45%, #9fc3df70 80%, #daeaf380);
  border-color: #dcecfacc;
  font-weight: 700;
  box-shadow: var(--glass-control-shadow);
}
@media (hover: hover) {
  .source-faithful .route-tabs button:hover { transform: translateY(-1px); box-shadow: var(--glass-control-shadow), 0 12px 22px -10px #43678347; }
}
.source-faithful .route-tabs button:active { transform: scale(.985); }
@media (prefers-reduced-motion: reduce) {
  .source-faithful .route-tabs button { transition: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .source-faithful .route-tabs button { background: #e9edef; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .source-faithful .route-tabs button[aria-selected="true"] { background: #b8d2e5; }
}
.photo-industries .source-industry-grid { border-top: 0; }
.photo-industries .source-industry-grid .industry-choice { border: 0; padding-bottom: 12px; }
.photo-industries .industry-choice button {
  position: relative;
  padding: 14px 18px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  color: #103347;
}
.photo-industries .industry-choice.is-active button {
  background: #1033470c;
  box-shadow: none;
}
.photo-industries .industry-choice .industry-detail { padding: 12px 18px 14px; }
.photo-industries .industry-choice button:focus-visible { outline-offset: 3px; border-radius: 12px; }
@media (hover: hover) {
  body .button:hover, body .hero .button:hover, body .header .header-phone:hover,
  body .mobile-contact:hover, body .header .menu-toggle:hover {
    background: radial-gradient(120px 12px at 48% 0%, #ffffffb3, #ffffff00 80%), linear-gradient(155deg, #ffffff29, #ffffff05 48%, #b0c0d021);
    box-shadow: var(--glass-control-shadow), 0 12px 22px -10px #43678347;
    transform: translateY(-1px);
  }
  body .hero .button:hover, body .source-help .button:hover, body .source-cta .button:hover, body .mobile-contact:hover {
    background: radial-gradient(120px 12px at 48% 0%, #ffffffb3, #ffffff00 80%), linear-gradient(180deg, #a5c5e061, #82afd23d 45%, #9fc3df4d 80%, #daeaf359);
  }
}
@media (max-width: 1100px) {
  .header nav {
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    border-radius: 24px;
    background: #e9edefed;
    border: 0;
    box-shadow: none;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }
}
@media (max-width: 850px) {
  .photo-industries .industry-choice button { scroll-margin-top: 8px; }
  .photo-industries .industry-inline-scene { margin-inline: calc(-1 * var(--photo-space) - 18px); }
}
@media (max-width: 760px) {
  :root { --header-height: 136px; }
  body .header .header-phone,
  body .header .header-phone:hover,
  body .header .header-phone:active {
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transform: none;
  }
}
@media (max-width: 600px) {
  .glass-panel { --panel-radius: 27px; }
  .header .header-inner.glass-panel { --panel-radius: 24px; }
  .glass-inset { --panel-radius: 22px; }
  .source-faithful .source-stats.glass-panel { padding-block: 24px; }
  .photo-industries .industry-choice button { padding: 14px 15px; }
  .photo-industries .industry-choice .industry-detail { padding-inline: 15px; }
  .photo-industries .industry-inline-scene { margin-inline: calc(-1 * var(--photo-space) - 15px); }
}
@media (prefers-reduced-transparency: reduce) {
  body .glass-panel, .header .header-inner.glass-panel, .cookie-notice.glass-panel { background-color: var(--glass-paper); }
  body .button, body .hero .button, body .header .header-phone, body .mobile-contact, body .header .menu-toggle { background-color: #d8e5ee; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body .support-film-play { background: #103347; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .glass-surface::after { display: none; }
}
