/* Eyou markup bridge to the approved site-ready design.
   This file is loaded after the approved source styles and the old adapter.
   It changes presentation only: no product pixels, CMS calls or form bindings.
   Colours and geometry below come from site-ready, not a new art direction. */

/* Native fields appear image-first in the original CMS call sequence; visual
   grid areas reproduce the approved copy-left/image-right layout. */
.dd-approved .home-headline__stage>.home-headline__figure{grid-column:2;grid-row:1}
.dd-approved .home-headline__stage>.home-headline__copy{grid-column:1;grid-row:1}
.dd-approved .home-headline__destination{display:block;color:inherit}
.dd-approved .home-headline__text{white-space:pre-line}
.dd-approved .home-headline__stage[hidden]{display:none!important}
.dd-approved .site-nav--desktop{display:none}
.dd-approved .layout-header-nav .site-nav--desktop{margin-inline:auto;gap:1.5rem;align-items:center}
.dd-approved .layout-header-nav .site-nav__link{font-size:.9rem;line-height:1.4;font-weight:700;white-space:nowrap;color:inherit}
.dd-approved .layout-header-nav .button{font-size:1rem;white-space:nowrap;background:var(--brand-yellow);color:var(--navy);border-radius:999px;padding:.75rem 1.15rem}
@media(min-width:85.0625rem){.dd-approved .layout-header-nav .site-nav--desktop{display:flex}.dd-approved .mobile-menu-trigger{display:none!important}}
@media(min-width:40rem){.dd-approved .home-page--navigation .home-headline-carousel>.container{max-width:640px!important}}
@media(min-width:48rem){.dd-approved .home-page--navigation .home-headline-carousel>.container{max-width:768px!important}}
@media(min-width:64rem){.dd-approved .home-page--navigation .home-headline-carousel>.container{max-width:1024px!important}}
@media(min-width:80rem){.dd-approved .home-page--navigation .home-headline-carousel>.container{max-width:1280px!important}}
@media(min-width:96rem){.dd-approved .home-page--navigation .home-headline-carousel>.container{max-width:1536px!important}}
@media(max-width:43.75rem){.dd-approved .home-headline__stage>.home-headline__figure{grid-column:1;grid-row:2}.dd-approved .home-headline__stage>.home-headline__copy{grid-column:1;grid-row:1}}
.dd-approved .approved-choices{border:0;padding:1rem 0}
.dd-approved .approved-choices h2{font-size:1.125rem;font-weight:650}
.dd-approved .approved-choices .dd-config-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.dd-approved .approved-choices .dd-config-list figure{display:none}
.dd-approved .approved-choices .dd-config-list a{font-size:1rem;border-radius:.5rem;padding:.9rem}
.dd-approved .detail-summary>.dd-button{margin:0 .65rem .75rem 0}
.dd-approved .detail-hero__heading{position:static!important;inset:auto!important;width:auto!important;background:transparent!important}
.dd-approved #footer.site-footer{margin-top:clamp(4rem,9vw,8rem);padding:clamp(3rem,6vw,5rem) 0 1.5rem;color:var(--warm-white);background:var(--navy)}
.dd-approved.dd-template-index #footer.site-footer{margin-top:0;background:#27372f}
.dd-approved #footer.site-footer p{color:inherit}
.dd-approved #footer.site-footer .site-footer__brand{color:var(--brand-yellow);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:850}
.dd-approved #footer.site-footer .site-footer__links{padding:0;margin:0;list-style:none}
.dd-approved #footer.site-footer .site-footer__heading{font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#d3dacf}
.dd-approved .approved-footer-inquiry{margin-top:2rem;max-width:720px}
.dd-approved .approved-footer-inquiry summary{cursor:pointer;min-height:44px}
.dd-approved .approved-footer-inquiry form{margin-top:1rem}

body.dd-approved {
  --dd-ink: var(--navy);
  --dd-paper: var(--warm-white);
  --dd-muted: var(--muted);
  --dd-yellow: var(--brand-yellow);
  --dd-width: 76rem;
  background: var(--warm-white);
  color: var(--ink);
  font-family: "Archivo", Arial, "Microsoft YaHei", "PingFang SC", sans-serif;
  font-size: var(--type-body, 1.0625rem);
  line-height: var(--body-leading, 1.65);
}
.dd-approved .layout-header-nav>.logo{order:-1!important}
body.dd-approved :is(h1,h2,h3,h4,p,a,li,span,div,figure,figcaption,address,label,input,textarea,button,select,ul,dl,dt,dd) {
  font-family: "Archivo", Arial, "Microsoft YaHei", "PingFang SC", sans-serif !important;
}
.dd-approved :is(.container,.container-max,.layout-content,.wrapper):where(:not(.home-headline-carousel > .container)) {
  width: min(calc(100% - 2rem), 76rem) !important;
  max-width: none !important;
  margin-inline: auto;
  padding-inline: 0 !important;
}
.dd-approved .home-headline-carousel > .container { max-width: none !important; padding-inline: 0 !important; }
.dd-approved #content { background: var(--warm-white); color: var(--navy); }
.dd-approved :is(h1,.main-title) {
  font-size: var(--type-display, clamp(2rem,4.2vw,3.75rem));
  font-weight: 520;
  line-height: 1.1;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.dd-approved :is(h2,.dd-rich h2) {
  font-size: var(--type-section, clamp(1.75rem,3.2vw,3rem));
  font-weight: 520;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.dd-approved :is(h3,.dd-rich h3) {
  font-size: var(--type-subheading, clamp(1.25rem,2.2vw,1.75rem));
  font-weight: 560;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.dd-approved :is(p,.dd-rich p) {
  font-size: var(--type-body,1.0625rem);
  line-height: var(--body-leading,1.65);
  margin-bottom: var(--paragraph-space,1.25rem);
}
.dd-approved .dd-rich { max-width: 76rem; }
.dd-approved .dd-button {
  min-height: 2.9rem;
  padding: .75rem 1.15rem;
  margin: 0;
  gap: .5rem;
  border: 1px solid var(--navy);
  border-radius: 999px;
  background: var(--brand-yellow);
  color: var(--navy) !important;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.3;
}
.dd-approved .dd-button-secondary { background: transparent; }
.dd-approved .dd-button-secondary:hover { background: var(--navy); color: var(--surface-product,#fff) !important; }
.dd-approved .dd-link { color: var(--navy); text-underline-offset: .2em; }

/* Original header dimensions, with Menu immediately before language. */
.dd-approved .layout-header {
  --approved-control-ink: var(--navy);
  position: relative !important;
  inset: auto !important;
  min-height: 5rem !important;
  height: 5rem !important;
  padding: 0 !important;
  border-bottom: 1px solid rgb(11 31 51 / .12);
  background: rgb(247 246 242 / .96) !important;
  color: var(--navy);
  z-index: 20;
}
.dd-approved .layout-header > .layout-header-wrapper {
  display: flex !important;
  width: min(calc(100% - 2rem),76rem) !important;
  min-height: 5rem;
  height: 100%;
  margin-inline: auto;
  padding: 0 !important;
  align-items: center;
  gap: .625rem;
  background: transparent !important;
}
.dd-approved .layout-header-nav {
  display: flex !important;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 1rem;
  padding: 0 !important;
}
.dd-approved .logo {
  position: static !important;
  order: 0;
  flex: 0 0 auto;
  width: clamp(4.8rem,7vw,5.75rem) !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  aspect-ratio: 12 / 7;
}
.dd-approved .logo a { display: block; width: 100%; height: 100%; }
.dd-approved .logo img { width: 100% !important; height: 100% !important; object-fit: contain; }
.dd-approved .mobile-menu-trigger {
  position: relative !important;
  inset: auto !important;
  display: inline-flex !important;
  order: 1;
  flex: 0 0 auto;
  width: auto !important;
  min-width: 2.9rem;
  min-height: 48px;
  height: auto !important;
  margin: 0 0 0 auto !important;
  padding: .6rem .95rem .6rem calc(.95rem + 20px + .6rem) !important;
  border: 1px solid var(--navy);
  border-radius: 999px;
  background: var(--navy);
  color: var(--warm-white);
  line-height: 1.25;
}
.dd-approved .mobile-menu-trigger::after {
  content: attr(aria-label);
  display: block !important;
  font-size: .875rem !important;
  font-weight: 750;
  white-space: nowrap;
}
.dd-approved .mobile-menu-trigger > span {
  position: absolute !important;
  left: .95rem !important;
  top: calc(50% - 1px) !important;
  display: block;
  width: 20px;
  height: 2px;
  margin: 0 !important;
  border-radius: 1px;
  background: var(--brand-yellow) !important;
  opacity: 1;
  transform: none !important;
}
.dd-approved .mobile-menu-trigger > span:first-child { transform: translateY(-6px) !important; }
.dd-approved .mobile-menu-trigger > span:nth-child(3) { transform: translateY(6px) !important; }
.dd-approved .mobile-menu-trigger > span:nth-child(4) { display: none !important; }
.dd-approved.dd-menu-open .mobile-menu-trigger > span:first-child { transform: rotate(45deg) !important; }
.dd-approved.dd-menu-open .mobile-menu-trigger > span:nth-child(2) { opacity: 0 !important; }
.dd-approved.dd-menu-open .mobile-menu-trigger > span:nth-child(3) { transform: rotate(-45deg) !important; }
.dd-approved .dd-language {
  position: static !important;
  inset: auto !important;
  order: 2;
  flex: 0 0 auto;
  margin: 0;
  font-size: .8rem;
  line-height: 1.4;
}
.dd-approved .dd-language select {
  width: auto !important;
  max-width: 8rem;
  min-height: 44px;
  padding: .5rem;
  border: 0;
  border-radius: .35rem;
  background: transparent;
  color: var(--approved-control-ink);
  font-size: .8rem !important;
}
.dd-approved .layout-header > .nav-main {
  top: calc(100% + 1px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-height: calc(100svh - 5rem - var(--approved-preview-offset,0px) - 1px);
  overflow-y: auto;
  padding: 1rem !important;
  border-bottom: 1px solid rgb(11 31 51 / .12);
  background: var(--warm-white) !important;
  color: var(--navy);
  box-shadow: var(--shadow);
}
.dd-approved .nav-main a,
.dd-approved .nav-main .submenu-2 a,
.dd-approved .nav-main [data-dd-search] {
  min-height: 44px;
  padding: .7rem .5rem !important;
  color: var(--approved-control-ink) !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  line-height: 1.4;
}
.dd-approved .nav-main .submenu-2 a { font-size: .875rem !important; font-weight: 400 !important; }
.dd-approved:has(.home-page--navigation) .layout-header {
  --approved-control-ink: #252c29;
  position: fixed !important;
  top: var(--approved-preview-offset,0px) !important;
  left: 0 !important;
  right: 0 !important;
  background: #e7e6de !important;
  color: #252c29;
  border-bottom-color: #b4b9af;
}
.dd-approved:has(.home-page--navigation) .layout-header .mobile-menu-trigger { background: #27372f; border-color: #27372f; color: #f8f7f2; }
.dd-approved:has(.home-page--navigation) .layout-header .mobile-menu-trigger:hover { background: #3a4e42; }
.dd-approved:has(.home-page--navigation) .layout-header > .nav-main { background: #f8f7f2 !important; border-color: #b4b9af; box-shadow: none; }

/* The retained product list maps to approved square photo cards. */
.dd-approved .collection-cells {
  display: grid !important;
  grid-template-columns: repeat(auto-fill,minmax(min(100%,17rem),1fr)) !important;
  gap: clamp(1rem,2.5vw,2rem) !important;
}
.dd-approved .collection-cells > li {
  overflow: hidden;
  border: 1px solid rgb(11 31 51 / .1);
  border-radius: .5rem;
  background: var(--surface-product,#fff);
  box-shadow: none;
}
.dd-approved .collection-cells > li > a { display: block; color: var(--navy); }
.dd-approved .collection-image {
  display: block;
  position: relative;
  width: 100%;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  background: var(--surface-product,#fff);
}
.dd-approved .collection-image img { position: absolute !important; inset: 0; width: 100%; height: 100% !important; aspect-ratio: auto; object-fit: contain; transform: none !important; }
.dd-approved .collection-cells > li > a > span {
  padding: clamp(1.25rem,2.5vw,1.8rem);
  color: var(--navy);
  font-size: var(--type-card-heading,clamp(1.2rem,2vw,1.55rem));
  font-weight: 560;
  line-height: 1.2;
  letter-spacing: -.025em;
}

/* Product detail: gallery left, heading/summary right, thumbnails below. */
.dd-approved .detail-page,
.dd-approved #content:has(.detail-page) { background: var(--surface-product,#fff) !important; color: var(--navy); }
.dd-approved .detail-hero__grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-template-areas: "gallery heading" "gallery summary";
  grid-template-rows: auto 1fr;
  column-gap: clamp(2rem,6vw,5rem);
  row-gap: 1.25rem;
  align-items: start;
}
.dd-approved .detail-hero__grid > .dd-product-gallery { grid-area: gallery; min-width: 0; }
.dd-approved .detail-hero__grid > .detail-hero__heading { grid-area: heading; min-width: 0; align-self: end; padding-top: clamp(.5rem,2vw,1.5rem); }
.dd-approved .detail-hero__grid > .detail-summary { grid-area: summary; min-width: 0; max-width: 42rem; align-self: start; }
.dd-approved .detail-hero__heading h1 { margin: 0; font-size: var(--type-display,clamp(2rem,4.2vw,3.75rem)); font-weight: 520; line-height: 1.1; letter-spacing: -.04em; }
.dd-approved .detail-summary p { color: var(--muted); max-width: 65ch; }
.dd-approved .dd-product-gallery .slider-collection-wrapper,
.dd-approved .dd-product-gallery.slider-collection-wrapper { display: block !important; padding: 0 !important; background: var(--surface-product,#fff) !important; }
.dd-approved .dd-gallery-stage {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0;
  aspect-ratio: 4 / 3 !important;
  background: var(--surface-product,#fff);
}
.dd-approved .dd-gallery-stage img { display: block; width: 100%; height: 100% !important; min-height: 0; object-fit: contain; object-position: center; }
.dd-approved .dd-product-gallery .slider-collection-items {
  display: grid !important;
  grid-template-columns: repeat(auto-fill,6rem) !important;
  grid-auto-flow: row;
  gap: .65rem !important;
  width: 100%;
  height: auto !important;
  margin: .75rem 0 0 !important;
  padding: .25rem !important;
  overflow: visible !important;
  background: var(--surface-product,#fff) !important;
}
.dd-approved .dd-product-gallery .slider-collection-item {
  position: relative !important;
  width: 6rem !important;
  height: 6rem !important;
  min-height: 0 !important;
  padding: 0 !important;
  aspect-ratio: 1;
  border: 1px solid rgb(11 31 51 / .2);
  border-radius: 0;
  background: var(--surface-product,#fff);
}
.dd-approved .dd-product-gallery .slider-collection-item > figure { position: relative; width: 100%; height: 100% !important; aspect-ratio: 1 !important; margin: 0; padding: 0 !important; }
.dd-approved .dd-product-gallery .slider-collection-item img { position: absolute !important; inset: 0; width: 100%; height: 100% !important; object-fit: contain; object-position: center; }
.dd-approved .dd-product-gallery .slider-collection-item[aria-pressed="true"] { border-color: var(--navy); box-shadow: 0 0 0 1px var(--navy); }
.dd-approved .dd-rich-grid { gap: clamp(1.5rem,3vw,3rem); }
.dd-approved .dd-scene-image { aspect-ratio: 16 / 9 !important; background: var(--surface-product,#fff); }
.dd-approved .dd-scene-image img { width: 100%; height: 100%; object-fit: contain; object-position: center; }

/* Original cases: one card per row, a native-ratio photograph, equal 1rem inset. */
.dd-approved .type-cells { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: clamp(1rem,2.5vw,2rem); }
.dd-approved .type-cells > li { overflow: hidden; border: 1px solid rgb(11 31 51 / .1); border-radius: .5rem; background: var(--surface-product,#fff); box-shadow: none; }
.dd-approved .type-cells > li > a { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); align-items: center; }
.dd-approved .type-cells > li > a > img { position: static !important; display: block; width: 100%; height: auto !important; aspect-ratio: auto !important; padding: 1rem; object-fit: contain; background: transparent; transform: none !important; }
.dd-approved .type-cells > li > a > span { display: block; padding: clamp(1.25rem,2.5vw,1.8rem); color: var(--navy); font-size: var(--type-subheading,clamp(1.25rem,2.2vw,1.75rem)); font-weight: 560; line-height: 1.25; letter-spacing: -.025em; }
.dd-approved .project-card__image { aspect-ratio: auto !important; padding: 1rem !important; background: transparent !important; }
.dd-approved .project-card__image img { position: static !important; height: auto !important; aspect-ratio: auto !important; object-fit: contain; transform: none !important; }

/* Only actual download sections become the approved vertical resource list. */
.dd-approved .dd-resources:has(a[download]) { grid-template-columns: minmax(0,1fr) !important; gap: 1rem; }
.dd-approved .dd-resources:has(a[download]) > article {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .6rem 2rem;
  padding: clamp(1.4rem,3vw,2.25rem);
  border: 1px solid rgb(11 31 51 / .1);
  border-radius: .5rem;
  background: var(--surface-product,#fff);
  box-shadow: none;
  align-items: center;
}
.dd-approved .dd-resources:has(a[download]) > article > :not(a[download]) { grid-column: 1; min-width: 0; margin: 0; }
.dd-approved .dd-resources:has(a[download]) > article > h3 { font-size: var(--type-card-heading,clamp(1.2rem,2vw,1.55rem)); line-height: 1.25; }
.dd-approved .dd-resources:has(a[download]) > article > a[download] { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; background: transparent; border-color: var(--navy); white-space: nowrap; }
.dd-approved .dd-resources .resource-metadata { display: grid; grid-template-columns: repeat(4,minmax(7rem,1fr)); gap: 1rem; margin-top: 1.5rem; }
.dd-approved .dd-resources .resource-metadata > div { padding: 0; border: 0; }
.dd-approved .dd-resources .resource-metadata dd { margin: 0; color: var(--navy); font-weight: 700; }

@media(max-width:62rem) {
  .dd-approved .detail-hero__grid { grid-template-columns: minmax(0,1fr) !important; grid-template-areas: "heading" "gallery" "summary"; grid-template-rows: auto; row-gap: 1.5rem; }
  .dd-approved .detail-hero__heading { padding-top: 0; }
  .dd-approved .dd-resources .resource-metadata { grid-template-columns: repeat(2,minmax(7rem,1fr)); }
}
@media(max-width:47.5rem) {
  .dd-approved .layout-header > .layout-header-wrapper { gap: .5rem; }
  .dd-approved .layout-header-nav { gap: .5rem; }
  .dd-approved .dd-language select { max-width: 6.5rem; padding: .5rem .25rem; font-size: .75rem !important; }
  .dd-approved .dd-product-gallery .slider-collection-items { grid-template-columns: repeat(auto-fill,4rem) !important; }
  .dd-approved .dd-product-gallery .slider-collection-item { width: 4rem !important; height: 4rem !important; }
  .dd-approved .type-cells > li > a { grid-template-columns: minmax(0,1fr); }
  .dd-approved .dd-resources:has(a[download]) > article { grid-template-columns: minmax(0,1fr); gap: 1rem; align-items: start; }
  .dd-approved .dd-resources:has(a[download]) > article > a[download] { grid-column: 1; grid-row: auto; justify-self: start; white-space: normal; }
  .dd-approved .dd-rich-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:23rem) {
  .dd-approved .mobile-menu-trigger { padding-inline: .75rem; padding-left: calc(.75rem + 20px + .6rem) !important; }
  .dd-approved .mobile-menu-trigger > span { left: .75rem !important; }
  .dd-approved .layout-header > .layout-header-wrapper { gap: .375rem; }
  .dd-approved .dd-language select { max-width: 5.8rem; }
}
@media(prefers-reduced-motion:no-preference) {
  .dd-approved .mobile-menu-trigger > span { transition: transform .18s ease, opacity .18s ease; }
}
html[lang^="zh"] .dd-approved :is(h1,h2,h3,h4) { letter-spacing: normal; line-height: 1.3; }
@media(min-width:85.0625rem){.dd-approved .mobile-menu-trigger{display:none!important}}
.dd-approved .detail-summary .approved-choices h2{font-size:1.125rem;font-weight:650;line-height:1.35;letter-spacing:normal}
.dd-approved .dd-approved-product>.nav-subnav{background:#fff!important}
.dd-approved .dd-approved-product>.nav-subnav ul{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none;margin:0;padding:1rem 0}
.dd-approved .dd-approved-product>.nav-subnav a{font-size:.875rem;line-height:1.5}
.dd-approved .detail-summary .approved-choices .dd-config-list a{display:grid;grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.75rem;min-height:6.4rem;padding:.65rem;font-size:.875rem;line-height:1.5;border-radius:0}
.dd-approved .detail-summary .approved-choices .dd-config-list figure{display:block;width:4.5rem;height:5rem;margin:0}
.dd-approved .detail-summary .approved-choices .dd-cutout{width:100%;height:100%;padding:0;aspect-ratio:auto}
.dd-approved .detail-summary .approved-choices img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.dd-approved h1.collection-title{height:auto!important;min-height:0!important;padding:0!important;white-space:normal;overflow:visible}
