/* Approved MOADU landing-page design */
:root { color-scheme:light; }

.approved-landing {
  --approved-navy:#0b1747;
  --approved-green:#008a62;
  --approved-green-dark:#00724f;
  --approved-soft:#eef9f5;
  --approved-line:#d8e8e2;
  --approved-muted:#717b9e;
  background:
    radial-gradient(circle at 15% 12%, rgba(193,239,226,.44), transparent 25%),
    radial-gradient(circle at 86% 14%, rgba(212,238,225,.55), transparent 22%),
    linear-gradient(180deg,#f8fffc 0%,#f6fbff 48%,#f5fcfa 100%);
  color:var(--approved-navy);
}
.approved-landing .wrap { width:min(calc(100% - 40px),1180px); }
.approved-landing h1,
.approved-landing h2,
.approved-landing h3 { color:var(--approved-navy); }
.approved-landing p { color:var(--approved-muted); }

/* Floating header */
.approved-header {
  position:sticky;
  top:8px;
  z-index:30;
  width:min(calc(100% - 40px),1180px);
  margin:8px auto 0;
  border:1px solid rgba(213,231,225,.8);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:0 8px 28px rgba(26,54,76,.08);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.approved-header .wrap { width:100%;padding:0 28px; }
.approved-header .nav { min-height:54px; }
.approved-header .brand,
.approved-footer .brand {
  color:var(--approved-green);
  font-size:1.95rem;
  font-weight:820;
  letter-spacing:-.065em;
}
.approved-header .nav-links { gap:30px; }
.approved-header .nav-links a {
  color:var(--approved-navy);
  font-size:.93rem;
  font-weight:600;
  padding:16px 0 13px;
}
.approved-header .nav-links a[aria-current="page"] {
  color:var(--approved-green);
  border-bottom-color:var(--approved-green);
}

/* Hero */
.approved-hero {
  position:relative;
  overflow:hidden;
  padding:30px 0 0;
}
.approved-hero::before,
.approved-hero::after {
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  filter:blur(12px);
}
.approved-hero::before {
  width:470px;height:470px;
  right:-130px;top:-20px;
  background:radial-gradient(circle,rgba(134,196,143,.28),rgba(199,230,208,.12) 45%,transparent 70%);
}
.approved-hero::after {
  width:420px;height:220px;
  right:160px;bottom:0;
  background:radial-gradient(ellipse,rgba(208,233,222,.62),transparent 70%);
}
.approved-hero-grid {
  position:relative;
  z-index:1;
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  align-items:center;
  gap:26px;
}
.approved-overline {
  margin:0 0 10px;
  color:var(--approved-green)!important;
  font-size:.82rem;
  font-weight:700;
}
.approved-overline span { padding:0 6px; }
.approved-hero-copy { padding:10px 0 34px; }
.approved-hero h1 {
  max-width:18ch;
  margin:0 0 10px;
  font-size:clamp(2.3rem,4vw,4.05rem);
  line-height:1.02;
  letter-spacing:-.052em;
  font-weight:820;
}
.approved-hero .lead {
  max-width:42ch;
  margin:0;
  color:#747ca0;
  font-size:1.05rem;
  line-height:1.35;
  font-weight:510;
}
.approved-actions {
  margin-top:16px;
  align-items:center;
  gap:22px;
}
.approved-actions .button.primary {
  min-height:48px;
  padding:11px 25px;
  border:none;
  background:linear-gradient(180deg,#0a9c72,#007b58);
  box-shadow:0 10px 20px rgba(0,138,98,.2);
}
.button-icon { margin-right:2px;font-size:1.05rem; }
.approved-text-link {
  color:var(--approved-navy);
  font-weight:760;
  text-decoration:none;
}
.approved-text-link span { margin-left:8px; }

.approved-hero-visual {
  position:relative;
  height:330px;
  align-self:end;
}
.approved-phone-shell {
  position:absolute;
  right:78px;
  bottom:-66px;
  width:244px;
  padding:6px;
  border:7px solid #1f2428;
  border-radius:36px;
  background:#fff;
  box-shadow:0 24px 40px rgba(16,38,50,.18);
  transform:rotate(3deg);
  overflow:hidden;
}
.approved-phone-shell img {
  width:100%;
  border-radius:25px;
}
.approved-hand-note {
  position:absolute;
  right:0;
  top:62px;
  color:#536aa9;
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  font-size:1.15rem;
  line-height:1.12;
  transform:rotate(-9deg);
}
.approved-hand-note span {
  display:block;
  margin-top:7px;
  font-size:2.1rem;
  transform:rotate(25deg);
}

/* Shortcut panel */
.approved-shortcuts {
  position:relative;
  z-index:4;
  margin-top:-4px;
}
.approved-panel {
  padding:10px 12px 12px;
  border:1px solid rgba(209,229,222,.9);
  border-radius:16px;
  background:rgba(246,253,251,.9);
  box-shadow:0 9px 30px rgba(33,75,68,.06);
}
.approved-section-heading { padding:0 8px 7px; }
.approved-section-heading h2 {
  margin:0;
  font-size:1.11rem;
  line-height:1.1;
  letter-spacing:-.02em;
}
.approved-section-heading p {
  margin:1px 0 0;
  font-size:.78rem;
  line-height:1.2;
}
.approved-shortcut-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.approved-shortcut-card {
  position:relative;
  min-height:118px;
  overflow:hidden;
  border:1px solid #e3ece9;
  border-radius:12px;
  background:#fff;
  color:var(--approved-navy);
  text-decoration:none;
  box-shadow:0 5px 15px rgba(23,45,74,.035);
}
.approved-shortcut-card:hover {
  color:var(--approved-navy);
  box-shadow:0 8px 22px rgba(23,45,74,.08);
  transform:translateY(-1px);
}
.shortcut-symbol {
  position:absolute;
  left:14px;
  top:14px;
  z-index:3;
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  background:#e6f8f2;
  color:var(--approved-green);
  font-size:1.08rem;
  font-weight:850;
}
.shortcut-art {
  position:absolute;
  top:10px;
  right:14px;
  width:146px;
  height:76px;
  border-radius:10px;
  background-repeat:no-repeat;
  background-color:#f5f8f7;
  overflow:hidden;
}
.shortcut-camera,
.shortcut-gallery,
.shortcut-pdf {
  background-image:url("moadu-home.webp");
  background-size:450px 936px;
}
.shortcut-camera { background-position:-10px -158px; }
.shortcut-gallery { background-position:-150px -158px; }
.shortcut-pdf { background-position:-294px -158px; }
.shortcut-share {
  background-image:url("moadu-share.webp");
  background-size:540px 720px;
  background-position:-214px -136px;
}
.approved-shortcut-card strong {
  position:absolute;
  left:14px;
  bottom:10px;
  right:38px;
  font-size:.9rem;
  line-height:1.1;
}
.shortcut-arrow {
  position:absolute;
  right:14px;
  bottom:8px;
  font-size:1.18rem;
  font-weight:800;
}

/* Guide cards */
.approved-how { padding:8px 0 7px; }
.approved-how-heading { padding-top:0;margin-top:0; }
.approved-guide-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.approved-guide-card {
  min-width:0;
  padding:10px 11px 9px;
  border:1px solid #dce9e4;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 15px rgba(16,41,64,.028);
}
.approved-guide-top {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
  min-height:55px;
  align-items:start;
}
.approved-number {
  display:grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  background:linear-gradient(180deg,#0b9a70,#00795a);
  color:#fff;
  font-weight:800;
  font-size:.84rem;
}
.approved-guide-top h3 {
  margin:0 0 1px;
  font-size:.9rem;
  line-height:1.1;
}
.approved-guide-top p {
  margin:0;
  font-size:.73rem;
  line-height:1.2;
}
.approved-guide-image {
  display:block;
  width:100%;
  height:112px;
  margin:5px 0 7px;
  border-radius:9px;
  background-repeat:no-repeat;
  background-color:#eef4f2;
  overflow:hidden;
}
.guide-camera,
.guide-gallery,
.guide-pdf {
  background-image:url("moadu-home.webp");
  background-size:450px 936px;
}
.guide-camera { background-position:-7px -146px; }
.guide-gallery { background-position:-140px -146px; }
.guide-pdf { background-position:-272px -146px; }
.guide-share {
  background-image:url("moadu-share.webp");
  background-size:540px 720px;
  background-position:-178px -114px;
}
.approved-steps {
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:approved-step;
}
.approved-steps li {
  position:relative;
  min-height:20px;
  padding:2px 0 2px 29px;
  color:#70799a;
  font-size:.72rem;
  line-height:1.35;
  counter-increment:approved-step;
}
.approved-steps li::before {
  content:counter(approved-step);
  position:absolute;
  left:0;top:1px;
  display:grid;
  place-items:center;
  width:18px;height:18px;
  border-radius:50%;
  background:#eef2f6;
  color:#445477;
  font-size:.63rem;
  font-weight:800;
}
.approved-more {
  margin-top:2px;
  border:0;
  padding:0 0 0 29px;
}
.approved-more summary {
  cursor:pointer;
  list-style:none;
  color:#0757a5;
  font-size:.73rem;
  font-weight:800;
  padding:3px 0 0;
}
.approved-more summary::-webkit-details-marker { display:none; }
.approved-more summary span { margin-left:8px; }
.approved-more[open] {
  margin-top:6px;
  padding:7px 8px 5px;
  border-top:1px solid #e6eeec;
}
.approved-more[open] summary { margin-bottom:5px; }
.approved-more p {
  margin:0 0 6px;
  font-size:.7rem;
  line-height:1.35;
}

/* Settings banner */
.approved-settings-banner {
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin-top:9px;
  padding:8px 14px;
  border:1px solid #dceae4;
  border-radius:12px;
  background:rgba(255,255,255,.85);
}
.settings-icon {
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:50%;
  background:#dcf7ee;
  color:var(--approved-green);
  font-size:1.55rem;
}
.approved-settings-banner h3 {
  margin:0 0 1px;
  font-size:.88rem;
}
.approved-settings-banner p {
  margin:0;
  font-size:.73rem;
}
.approved-mini-button {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:34px;
  padding:7px 16px;
  border-radius:999px;
  background:#eff7f4;
  color:var(--approved-navy);
  text-decoration:none;
  font-size:.72rem;
  font-weight:800;
}

/* Store */
.approved-store { padding:0 0 8px; }
.approved-store-panel {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) 190px 116px minmax(220px,.75fr);
  align-items:center;
  gap:18px;
  min-height:112px;
  padding:10px 20px 8px 30px;
  border:1px solid #dbeae5;
  border-radius:12px;
  background:
    radial-gradient(circle at 48% 65%,rgba(199,246,229,.7),transparent 29%),
    linear-gradient(90deg,#fff 0%,#fff 45%,#f7fffc 100%);
  overflow:hidden;
}
.approved-store-copy h2 {
  margin:0 0 2px;
  font-size:1.38rem;
  line-height:1.05;
}
.approved-store-copy p {
  margin:0 0 8px;
  max-width:38ch;
  font-size:.78rem;
  line-height:1.25;
}
.approved-store-status {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:31px;
  padding:5px 16px;
  border-radius:999px;
  background:linear-gradient(180deg,#cad7ec,#aebdd9);
  color:#fff;
  font-size:.76rem;
  font-weight:760;
}
.approved-store-phone {
  position:relative;
  height:100px;
}
.mini-phone {
  position:absolute;
  left:19px;top:7px;
  width:112px;height:152px;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:14px 8px;
  border:5px solid #20272b;
  border-radius:23px;
  background:#fff;
  transform:rotate(7deg);
  box-shadow:0 12px 24px rgba(21,52,64,.12);
}
.mini-wordmark { color:var(--approved-green);font-weight:850;font-size:1rem;letter-spacing:-.05em; }
.mini-android { margin-top:10px;color:var(--approved-green);font-size:1.2rem; }
.mini-phone strong { margin-top:3px;font-size:.7rem; }
.mini-phone small { margin-top:2px;text-align:center;font-size:.55rem;line-height:1.2; }
.approved-qr {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  width:100px;
  height:94px;
  border:1px dashed #9fb6d1;
  border-radius:7px;
  background:#fff;
  color:#7284b3;
}
.approved-qr span { font-size:2rem;line-height:1; }
.approved-qr small { font-size:.65rem; }
.approved-benefits {
  list-style:none;
  margin:0;
  padding:0;
}
.approved-benefits li {
  position:relative;
  padding:4px 0 4px 26px;
  color:#7380a1;
  font-size:.73rem;
  line-height:1.25;
}
.approved-benefits li::before {
  content:"✓";
  position:absolute;
  left:0;top:2px;
  display:grid;
  place-items:center;
  width:18px;height:18px;
  border-radius:50%;
  background:#dff8f0;
  color:var(--approved-green);
  font-size:.66rem;
  font-weight:900;
}

/* Footer */
.approved-footer {
  padding:0 0 10px;
  background:transparent;
}
.approved-footer-row {
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  min-height:45px;
}
.approved-footer nav {
  display:flex;
  justify-content:center;
  gap:34px;
}
.approved-footer nav a,
.approved-footer-meta,
.approved-footer-meta a {
  color:#7b83a3;
  text-decoration:none;
  font-size:.68rem;
}
.approved-footer-meta { text-align:right;line-height:1.45; }

/* Preserve detailed guide page and redirect note */
.guide-item { scroll-margin-top:112px; }
.product-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);
  align-items:center;
  gap:clamp(28px,6vw,88px);
}
.product-hero-grid .screenshot-phone { width:min(100%,270px); }
.product-hero-grid .phone-stage { min-height:470px; }
.instruction-card {
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.instruction-card .guide-illustration {
  width:108px;
  max-width:108px;
  height:108px;
  margin:4px auto 0;
}
.instruction-card .instruction-copy > p { color:var(--muted); }
.instruction-card ol { margin-top:14px; }
.instruction-card details { margin-top:18px; }
.guide-item .guide-illustration {
  width:108px;
  max-width:108px;
  height:108px;
  margin:12px auto 20px;
}
.guide-illustration.real-camera,
.guide-illustration.real-gallery,
.guide-illustration.real-pdf {
  background-size:450px 936px;
}
.guide-illustration.real-camera { background-position:-9px -162px; }
.guide-illustration.real-gallery { background-position:-156px -162px; }
.guide-illustration.real-pdf { background-position:-306px -162px; }
.guide-illustration.real-share {
  background-size:540px 720px;
  background-position:-222px -145px;
}
.redirect-note {
  max-width:720px;
  margin:70px auto;
  padding:32px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  text-align:center;
}

@media(max-width:980px) {
  .approved-header { width:min(calc(100% - 24px),1180px); }
  .approved-header .nav { flex-wrap:wrap;padding:8px 0; }
  .approved-header .nav-links { width:100%;gap:10px 18px;flex-wrap:wrap; }
  .approved-header .nav-links a { padding:4px 0 6px; }
  .approved-hero-grid { grid-template-columns:1fr 330px; }
  .approved-hand-note { display:none; }
  .approved-phone-shell { right:30px; }
  .approved-shortcut-grid,
  .approved-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .approved-store-panel { grid-template-columns:1fr 150px 100px; }
  .approved-benefits { grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .approved-footer-row { grid-template-columns:1fr;justify-items:center;text-align:center; }
  .approved-footer-meta { text-align:center; }
}
@media(max-width:720px) {
  .approved-landing .wrap { width:min(calc(100% - 24px),1180px); }
  .approved-hero { padding-top:18px; }
  .approved-hero-grid { grid-template-columns:1fr;min-height:auto; }
  .approved-hero-copy { padding-bottom:8px; }
  .approved-hero h1 { max-width:18ch;font-size:clamp(2.2rem,9vw,3.2rem); }
  .approved-hero .lead { max-width:100%; }
  .approved-hero-visual { height:320px; }
  .approved-phone-shell { left:50%;right:auto;transform:translateX(-50%) rotate(2deg);bottom:-45px; }
  .approved-shortcuts { margin-top:0; }
  .approved-shortcut-grid,
  .approved-guide-grid { grid-template-columns:1fr; }
  .approved-shortcut-card { min-height:112px; }
  .shortcut-art { right:8px; }
  .approved-settings-banner { grid-template-columns:48px 1fr; }
  .approved-mini-button { grid-column:1 / -1;justify-self:start;margin-left:58px; }
  .approved-store-panel { grid-template-columns:1fr;gap:6px;padding:18px; }
  .approved-store-phone { display:none; }
  .approved-qr { margin-top:4px; }
  .approved-benefits { display:block;grid-column:auto; }
  .approved-footer nav { flex-wrap:wrap;gap:8px 18px; }
}
@media(max-width:480px) {
  .approved-header .wrap { padding:0 16px; }
  .approved-header .brand { font-size:1.7rem; }
  .approved-hero h1 { font-size:clamp(2.05rem,10vw,2.7rem); }
  .approved-actions { align-items:flex-start;flex-direction:column;gap:12px; }
  .approved-section-heading { padding-inline:2px; }
  .approved-guide-card { padding:12px; }
  .approved-settings-banner { padding:10px; }
  .approved-mini-button { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) {
  .approved-shortcut-card { transition:none; }
}


.approved-hero-grid {
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
  min-height:360px;
}
.approved-hero-copy {
  padding:16px 0 42px;
}
.approved-hero h1 {
  max-width:19ch;
  font-size:clamp(2.25rem,3.7vw,3.75rem);
  line-height:1.03;
}
.approved-hero .lead {
  max-width:43ch;
}
.approved-hero-visual {
  min-height:0;
}

.approved-panel {
  padding:11px 13px 12px;
  border-radius:17px;
  box-shadow:0 10px 30px rgba(33,75,68,.07);
}
.approved-shortcut-card {
  min-height:126px;
  border-radius:13px;
  box-shadow:0 5px 17px rgba(23,45,74,.045);
}
.approved-shortcut-card strong {
  bottom:11px;
  font-size:.91rem;
}

.approved-how {
  padding:10px 0 8px;
}
.approved-guide-card {
  padding:10px 11px 9px;
  border-radius:13px;
  box-shadow:0 5px 16px rgba(16,41,64,.035);
}
.approved-guide-top {
  min-height:58px;
}
.approved-guide-top h3 {
  font-size:.91rem;
}
.approved-guide-top p,
.approved-steps li,
.approved-more summary {
  font-size:.73rem;
}

.approved-settings-banner {
  margin-top:10px;
  padding:9px 15px;
  border-radius:13px;
  box-shadow:0 4px 16px rgba(18,60,48,.035);
}

.approved-store-panel {
  min-height:118px;
  padding:10px 22px 9px 30px;
  border-radius:13px;
  box-shadow:0 5px 18px rgba(20,56,40,.035);
}

@media(max-width:980px) {
  .approved-hero-grid {
    grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);
  }
  .approved-sprite-hero {
    width:min(100%,430px);
  }
  .approved-sprite-store {
    width:145px;
  }
}

@media(max-width:720px) {
  .approved-hero-grid {
    grid-template-columns:1fr;
  }
  .approved-sprite-hero {
    justify-self:center;
    width:min(100%,560px);
  }
  .approved-shortcut-card {
    min-height:138px;
  }
  .shortcut-art {
    width:150px;
  }
  .approved-store-phone {
    display:block;
    width:min(100%,300px);
  }
}

@media(max-width:480px) {
  .approved-sprite-hero {
    width:100%;
  }
  .shortcut-art {
    width:128px;
  }
}

/* Ten independent source images: no sprite crops or background placeholders */
.approved-hero-grid { align-items:center; min-height:0; }
.approved-hero-visual {
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  min-height:0;
  height:auto;
}
.approved-hero-img {
  display:block;
  width:min(100%,520px);
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(21,65,53,.05));
}
.approved-shortcut-card img.shortcut-art {
  display:block;
  position:absolute;
  top:8px;
  right:10px;
  width:136px;
  height:102px;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:12px;
  background:none !important;
  box-shadow:0 4px 12px rgba(19,61,50,.06);
}
.approved-guide-card img.approved-guide-image {
  display:block;
  width:100%;
  height:118px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  margin:6px 0 8px;
  border-radius:10px;
  background:none !important;
  box-shadow:0 4px 14px rgba(17,55,44,.06);
}
.approved-store-phone { height:108px;overflow:hidden; }
.approved-store-img {
  display:block;
  width:168px;
  max-width:100%;
  height:auto;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(21,52,64,.10);
}
@media(max-width:980px) {
  .approved-hero-img { width:min(100%,430px); }
  .approved-store-img { width:145px; }
}
@media(max-width:720px) {
  .approved-hero-visual { justify-content:center;height:auto; }
  .approved-hero-img { width:min(100%,560px); }
  .approved-shortcut-card img.shortcut-art { width:150px;height:112px; }
  .approved-store-phone {display:block;height:auto;max-width:260px;}
}
@media(max-width:480px) {
  .approved-hero-img { width:100%; }
  .approved-shortcut-card img.shortcut-art { width:128px;height:96px; }
}


/* Shortcut cards: approved draft layout — one large visual per card */
.approved-shortcut-card {
  min-height:152px;
  padding:0;
  overflow:hidden;
}
.approved-shortcut-card .shortcut-symbol {
  display:none !important;
}
.approved-shortcut-card img.shortcut-art,
.approved-shortcut-card .shortcut-art {
  position:absolute;
  left:8px;
  right:8px;
  top:8px;
  width:calc(100% - 16px);
  height:103px;
  max-width:none;
  aspect-ratio:auto;
  border-radius:11px;
  object-fit:cover;
  object-position:center;
  box-shadow:none;
  background:#f5faf8;
}
.approved-shortcut-card strong {
  left:14px;
  right:42px;
  bottom:11px;
  font-size:.92rem;
  line-height:1.15;
}
.approved-shortcut-card .shortcut-arrow {
  right:14px;
  bottom:9px;
}

/* Galerie: selected appointment-document image instead of generic landscape imagery */
.gallery-document-thumb {
  position:relative;
  display:block;
  overflow:hidden;
  background:
    linear-gradient(180deg,#f8fbff,#eef6ff);
}
.gallery-document-thumb img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 45%;
  transform:scale(1.02);
}
.gallery-document-thumb::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 55%),
    radial-gradient(circle at 84% 18%,rgba(20,118,255,.08),transparent 18%);
}
.gallery-select-badge {
  position:absolute;
  right:10px;
  top:9px;
  z-index:2;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#1677ff;
  color:#fff;
  border:3px solid #fff;
  box-shadow:0 4px 10px rgba(22,119,255,.2);
  font-size:.92rem;
  font-weight:900;
}
/* Preserve the previously approved hero placement correction. */
.approved-hero-visual {
  align-items:flex-end;
  justify-content:flex-end;
}
.approved-hero-img {
  object-position:center bottom;
}

@media(max-width:980px) {
  .approved-shortcut-card {
    min-height:160px;
  }
  .approved-shortcut-card img.shortcut-art,
  .approved-shortcut-card .shortcut-art {
    height:110px;
  }
}
@media(max-width:720px) {
  .approved-shortcut-card {
    min-height:170px;
  }
  .approved-shortcut-card img.shortcut-art,
  .approved-shortcut-card .shortcut-art {
    width:calc(100% - 16px);
    height:120px;
    left:8px;
    right:8px;
  }
}
@media(max-width:480px) {
  .approved-shortcut-card {
    min-height:162px;
  }
  .approved-shortcut-card img.shortcut-art,
  .approved-shortcut-card .shortcut-art {
    height:112px;
  }
}

/* One-page MOADU guide; accessible, collapsed setup instructions */
.legacy-anchor { display:block;height:0;scroll-margin-top:90px; }
.approved-guide-card { scroll-margin-top:92px; }
.approved-settings-details { grid-column:3;justify-self:end;min-width:0; }
.approved-settings-details summary {
  cursor:pointer;
  list-style:none;
  white-space:nowrap;
}
.approved-settings-details summary::-webkit-details-marker { display:none; }
.approved-settings-details summary:focus-visible {
  outline:3px solid var(--approved-green);
  outline-offset:3px;
}
.approved-settings-details[open] {
  grid-column:1/-1;
  justify-self:stretch;
  width:100%;
}
.approved-settings-details[open] summary { width:max-content;margin-left:auto; }
.approved-settings-help {
  padding:13px 16px;
  border-top:1px solid #dceae4;
  color:var(--approved-navy);
}
.approved-settings-help ol { margin:0 0 8px;padding-left:19px; }
.approved-settings-help li { padding:3px 0;font-size:.86rem;line-height:1.5; }
.approved-settings-help p { font-size:.82rem;line-height:1.55;margin:7px 0 0; }
@media(max-width:720px) {
 .approved-settings-details { grid-column:1/-1;justify-self:start;margin-left:58px; }
 .approved-settings-details[open] { margin-left:0; }
}

/* Fix base site.css .hero .wrap specificity collision.
   Without the stronger selector the approved hero renders as display:block,
   placing the phone below the copy despite the desktop grid rules. */
.approved-hero .wrap.approved-hero-grid {
  display:grid;
}

/* Final PO-approved hero placement: fixed desktop two-column composition */
.approved-hero {
  padding-top:18px;
}
@media (min-width:981px) {
  .approved-hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,430px);
    align-items:start;
    gap:32px;
    min-height:0;
  }
  .approved-hero-copy {
    align-self:start;
    padding:8px 0 18px;
  }
  .approved-hero-visual {
    display:flex;
    align-items:flex-start;
    align-self:start;
    justify-content:flex-end;
    width:100%;
    height:auto;
    min-height:0;
    margin-top:10px;
  }
  .approved-hero-img {
    display:block;
    width:100%;
    max-width:430px;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center top;
  }
}
@media (max-width:980px) {
  .approved-hero-grid {
    grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);
    align-items:center;
    gap:24px;
  }
  .approved-hero-copy {
    padding:10px 0 18px;
  }
  .approved-hero-visual {
    display:flex;
    justify-content:center;
    align-items:center;
    align-self:center;
    width:100%;
    height:auto;
    min-height:0;
    margin-top:0;
  }
  .approved-hero-img {
    display:block;
    width:min(100%,430px);
    height:auto;
    max-width:100%;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
  }
}
@media (max-width:720px) {
  .approved-hero-grid {
    grid-template-columns:1fr;
    gap:8px;
  }
  .approved-hero-copy {
    padding:10px 0 6px;
  }
  .approved-hero-visual {
    justify-content:center;
  }
  .approved-hero-img {
    width:min(100%,420px);
    height:auto;
    max-height:490px;
  }
}

/* Visible language toggle for the German and English landing pages */
.approved-header .nav { column-gap:20px; }
.approved-header .nav-links { margin-left:auto;gap:clamp(14px,2vw,28px); }
.language-switch {
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  gap:3px;
  padding:3px;
  border:1px solid #d1e7dc;
  border-radius:999px;
  background:#edf7f1;
}
.language-switch a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:34px;
  padding:5px 11px;
  border-radius:999px;
  color:#38685b;
  font-size:.81rem;
  font-weight:750;
  line-height:1;
  text-decoration:none;
}
.language-switch a:hover { color:#005d42;background:#d8f0e4; }
.language-switch a[aria-current="page"] {
  background:#008a62;
  color:#fff;
  box-shadow:0 2px 8px rgba(0,106,75,.16);
}
.language-switch a:focus-visible { outline:3px solid #0b8b6c;outline-offset:3px; }
@media(max-width:980px) {
  .approved-header .brand { order:0; }
  .approved-header .language-switch { order:1;margin-left:auto; }
  .approved-header .nav-links { order:2;margin-left:0;width:100%; }
}
@media(max-width:480px) {
  .approved-header .wrap { padding-inline:14px; }
  .language-switch a { min-width:38px;min-height:32px;padding:5px 9px; }
  .approved-header .nav-links { gap:6px 16px; }
}
