/* Brand composition, shared type and image-led navigation. Existing commerce hooks stay intact. */
.editorial-site {
  --editorial-paper: #f5f3e9;
  --editorial-ink: #213b2f;
  --editorial-line: #b8c1b1;
  --editorial-wash: #e7ebdf;
  --editorial-muted: #5a685b;
  --editorial-accent: #35623d;
  --editorial-warm: #b06143;
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: .012em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
html[lang=en] .editorial-site { font-family: "Aptos", "Segoe UI", system-ui, sans-serif; letter-spacing: 0; }
html[lang=ja] .editorial-site { font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, system-ui, sans-serif; letter-spacing: .025em; }
html[lang=ko] .editorial-site { font-family: "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif; word-break: keep-all; letter-spacing: 0; }
.editorial-site.platform-body { --platform-bg: var(--editorial-paper); --platform-paper: #fffef9; --platform-ink: var(--editorial-ink); --platform-muted: var(--editorial-muted); --platform-line: var(--editorial-line); --platform-soft: var(--editorial-wash); --platform-accent: var(--editorial-accent); font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif; line-height: 1.8; background-image: linear-gradient(165deg,#ffffff40,transparent 42%); }
.editorial-site :is(h1,h2,h3),.editorial-site.platform-body :is(h1,h2,h3) { font-weight: 650; letter-spacing: -.018em; text-wrap: balance; }
.editorial-site :is(a,button,summary,select):focus-visible { outline: 3px solid var(--editorial-accent); outline-offset: 5px; }
.editorial-site :is(button,input,select,textarea) { font-family: inherit; }
.editorial-site .platform-wrap { width: min(1280px, calc(100% - 96px)); }
.editorial-site .platform-header { background: var(--editorial-paper); border-bottom-color: var(--editorial-ink); }
.editorial-site .platform-header-inner { min-height: 86px; }
.editorial-site .platform-nav a:last-child { border-radius: 4px; border-color: var(--editorial-ink); }
.editorial-site .platform-button { border-radius: 4px; font-size: 14px; min-height: 48px; padding: 12px 22px; gap: 22px; }
.editorial-site .platform-text-link { font-size: 14px; min-height: 44px; }
.editorial-site .platform-language select { background: transparent; }
.editorial-site .brand-commerce { font-family: inherit; }
.editorial-site .platform-footer { margin-top: 0; border-top-color: var(--editorial-ink); background: var(--editorial-paper); }
.editorial-site .platform-footer-top { padding-top: 42px; }
.editorial-home-hero.platform-home-hero { grid-template-columns: minmax(0,.78fr) minmax(0,1.25fr); gap: 66px; padding-block: 65px 64px; align-items: center; }
.editorial-home-hero .platform-hero-copy h1 { font-size: clamp(42px,5.7vw,82px); line-height: 1.2; letter-spacing: -.038em; margin: 0 0 26px; max-width: 12ch; }
.editorial-home-hero .platform-lead { font-size: 17px; line-height: 1.9; max-width: 33ch; }
.editorial-home-hero .platform-actions { gap: 15px 24px; margin-top: 30px; }
.editorial-home-hero .brand-film { padding: 12px; border: 1px solid var(--editorial-line); border-radius: 11px; background: var(--platform-paper); box-shadow: 0 16px 38px #233c2f13,0 2px 5px #233c2f08; }
.editorial-home-hero .brand-film-stage { border-radius: 5px; border: 0; }
.editorial-home-hero .brand-film-play { border-radius: 4px; bottom: 18px; background: #f7f4e9f2; color: #173b2b; box-shadow: none; border: 1px solid #d9decc; }
.editorial-home-hero .brand-film figcaption { flex-direction: row; justify-content: space-between; align-items: center; gap: 12px; margin-top: 10px; font-size: 11px; }
.editorial-home-hero .brand-film figcaption a { font-size: 11px; min-height: 28px; }
.editorial-home-hero .brand-film-transcript { margin: 0!important; border-top: 1px solid var(--editorial-line); padding-top: 6px; font-size: 11px; }
.editorial-home-hero .brand-film-transcript summary { min-height: 30px; cursor: pointer; }
.editorial-home-hero .brand-film-transcript p { max-width: 70ch; margin: 8px 0 0; }
.editorial-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.editorial-heading h2 { font-size: clamp(27px,3.4vw,43px); line-height: 1.4; }
.editorial-work { padding-block: 44px 66px; border-top: 1px solid var(--editorial-ink); }
.editorial-work-grid { display: grid; grid-template-columns: minmax(0,1.22fr) minmax(0,1fr); gap: 34px; align-items: start; }
.editorial-work-card { display: block; min-width: 0; overflow: hidden; border: 1px solid var(--editorial-line); border-radius: 9px; background: var(--platform-paper); box-shadow: 0 4px 14px #233c2f08; transition: border-color .2s,box-shadow .2s,transform .2s; }
.editorial-work-card:nth-child(2) { margin-top: 64px; }
.editorial-work-media { display: block; overflow: hidden; border-bottom: 1px solid var(--editorial-line); background: var(--platform-paper); aspect-ratio: 1.7; }
.editorial-work-media img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .35s ease; }
.editorial-work-copy { padding: 17px 20px 19px; }
.editorial-work-copy p { font-size: 12px; color: var(--editorial-muted); margin-bottom: 5px!important; }
.editorial-work-copy h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 24px; line-height: 1.5; }
.editorial-work-copy h3>span[aria-hidden] { font-weight: 400; }
.editorial-work-copy small { display: block; margin-top: 5px; font-size: 12px; color: var(--editorial-muted); line-height: 1.8; }
.editorial-entries { padding-block: 43px 62px; border-top: 1px solid var(--editorial-line); }
.editorial-entry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; }
.editorial-entry { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--editorial-line); border-radius: 9px; background: var(--platform-paper); box-shadow: 0 4px 14px #233c2f08; overflow: hidden; transition: border-color .2s,box-shadow .2s,transform .2s; }
.editorial-entry-media { aspect-ratio: 1.45; display: block; overflow: hidden; background: var(--editorial-wash); border-bottom: 1px solid var(--editorial-line); }
.editorial-entry-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.editorial-entry[data-editorial-entry=digital] .editorial-entry-media { padding: 20px; }
.editorial-entry[data-editorial-entry=digital] .editorial-entry-media img { object-fit: contain; }
.editorial-entry[data-editorial-entry=computer] .editorial-entry-media img { object-fit: contain; }
.editorial-entry[data-editorial-entry=goods] .editorial-entry-media img { object-fit: contain; }
.editorial-entry-copy { padding: 22px; }
.editorial-entry h3 { display: flex; justify-content: space-between; gap: 18px; font-size: 25px; margin-bottom: 7px!important; }
.editorial-entry-copy>p { color: var(--editorial-muted); font-size: 14px; line-height: 1.8; }
.editorial-entry-caption { display: block; color: var(--editorial-muted); font-size: 11px; line-height: 1.7; margin-top: 13px; }
.editorial-arrow { display: inline-block; flex-shrink: 0; font-weight: 400; transition: transform .2s ease; }
.editorial-story { display: grid; grid-template-columns: minmax(0,1fr) 225px; gap: 60px; align-items: center; padding: 30px 34px; border: 1px solid var(--editorial-line); border-radius: 11px; background: var(--platform-paper); box-shadow: 0 5px 18px #233c2f06; }
.editorial-story h2 { font-size: clamp(27px,3vw,39px); line-height: 1.45; margin-bottom: 16px!important; }
.editorial-story p { max-width: 46ch; font-size: 16px; line-height: 1.95; color: var(--editorial-muted); }
.editorial-story .editorial-brand-signature { color: var(--editorial-accent); font-size: 13px; font-weight: 650; letter-spacing: .015em; line-height: 1.7; margin-bottom: 12px!important; }
.editorial-story .platform-text-link { margin-top: 20px; }
.editorial-bibo { margin: 0; text-align: center; }
.editorial-bibo img { width: 150px; height: auto; object-fit: contain; margin-inline: auto; border-radius: 22px; }
.editorial-bibo figcaption { margin-top: 10px; font-size: 11px; color: var(--editorial-muted); }
.editorial-process { padding-block: 41px 65px; }
.editorial-process>h2 { font-size: 23px; margin-bottom: 21px!important; }
.editorial-process-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--editorial-line); border-radius: 8px; background: var(--platform-paper); overflow: hidden; }
.editorial-step { padding: 17px 20px; border-left: 1px solid var(--editorial-line); min-width: 0; }
.editorial-step:first-child { border-left: 0; }
.editorial-step summary { list-style: none; cursor: pointer; min-height: 36px; display: flex; gap: 12px; justify-content: space-between; align-items: center; font-size: 16px; font-weight: 600; }
.editorial-step summary::-webkit-details-marker { display: none; }
.editorial-step summary::after { content: "+"; font-size: 22px; font-weight: 400; color: var(--editorial-muted); }
.editorial-step[open] summary::after { content: "−"; }
.editorial-step p { font-size: 13px; line-height: 1.9; margin-top: 11px; color: var(--editorial-muted); }
.editorial-page-heading.platform-page-heading { padding-block: 56px 38px; display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); align-items: end; gap: 40px; border-bottom: 1px solid var(--editorial-ink); margin-bottom: 36px; }
.editorial-page-heading h1 { font-size: clamp(35px,4.8vw,65px); line-height: 1.25; margin: 0!important; max-width: 18ch; }
.editorial-page-heading .platform-lead { font-size: 17px; line-height: 1.9; max-width: 29ch; padding-bottom: 3px; }
.editorial-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 22px; align-items: stretch; }
.editorial-service-card { min-width: 0; padding: 7px; border: 1px solid var(--editorial-line); border-radius: 10px; background: var(--platform-paper); display: flex; flex-direction: column; box-shadow: 0 3px 12px #233c2f07; transition: border-color .2s,box-shadow .2s,transform .2s; }
.editorial-service-link { display: flex; flex-direction: column; height: 100%; min-width: 0; }
.editorial-service-media { display: block; flex-shrink: 0; position: relative; width: 100%; overflow: hidden; border-radius: 5px; background: var(--editorial-wash); aspect-ratio: 16/10; }
.editorial-service-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; transition: transform .35s ease; }
.editorial-service-card[data-market-path=software] .editorial-service-media { padding: 15px; }
.editorial-service-card[data-market-path=software] .editorial-service-media img { object-fit: contain; object-position: center; }
.editorial-service-card:is([data-market-path=video],[data-market-path=video-editing]) .editorial-service-media img { object-fit: contain; background: #f6f1e5; }
.editorial-service-card[data-market-path=ai] .editorial-service-media img,.editorial-service-card[data-market-path=computer] .editorial-service-media img { object-fit: contain; object-position: center; }
.editorial-service-card[data-market-path=stamps] .editorial-service-media img { object-fit: contain; object-position: center; }
.editorial-service-copy { padding: 15px 13px 7px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.editorial-service-copy h2 { font-size: 20px; line-height: 1.35; min-height: 2.7em; margin: 0 0 7px!important; text-align: start; }
.editorial-service-copy>p { font-size: 13px; color: var(--editorial-muted); line-height: 1.7; min-height: 3.4em; margin: 0 0 6px!important; text-align: start; }
.editorial-service-caption { display: block; font-size: 11px; line-height: 1.6; min-height: 3.2em; color: var(--editorial-muted); margin: 0 0 10px; text-align: start; }
.editorial-service-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding-top: 7px; margin-top: auto; border-top: 1px solid var(--editorial-line); }
.editorial-service-action .platform-text-link { min-height: 38px; font-size: 12px; gap: 10px; }
.editorial-service-action .platform-service-price { font-size: 12px; color: var(--editorial-muted); }
.editorial-service-action .platform-service-price strong { font-size: inherit; font-weight: 500; }
.editorial-service-action .platform-service-price small { display: inline; margin: 0; }
.editorial-service-card:focus-within { outline: 3px solid var(--editorial-accent); outline-offset: 4px; border-color: var(--editorial-accent); }
.editorial-site .editorial-service-link:focus-visible { outline: 0; }
.editorial-site .platform-free-row { padding: 27px 0; border-radius: 0; border: 0; background: transparent; gap: 30px; }
.editorial-site .platform-free-row p { max-width: 66ch; }
.editorial-site .platform-service-next { padding-block: 25px 62px; }
.editorial-site.platform-body[data-platform-page=shop] .platform-shop-toolbar { border-bottom: 1px solid var(--editorial-line); padding-bottom: 18px; margin-bottom: 30px; }
.editorial-site.platform-body[data-platform-page=shop] .platform-shop-filters { gap: 8px; }
.editorial-site.platform-body[data-platform-page=shop] .platform-shop-filters button { border-radius: 3px; font-size: 13px; min-height: 42px; padding: 7px 13px; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px 25px; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-card { border: 1px solid var(--editorial-line); border-radius: 10px; padding: 8px; background: var(--platform-paper); box-shadow: 0 3px 12px #233c2f07; transition: border-color .2s,box-shadow .2s,transform .2s; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-image { border-radius: 5px; background: var(--editorial-wash); }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-image>img { aspect-ratio: 1; transition: transform .35s ease; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-image>.platform-card-arrow { right: 12px; bottom: 12px; border-radius: 6px; width: 34px; height: 34px; box-shadow: 0 2px 8px #213b2f14; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-copy { padding: 18px 9px 7px; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-copy h2 { font-size: 21px; line-height: 1.5; margin: 0 0 9px!important; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-tag { font-size: 11px; line-height: 1.6; margin-bottom: 6px!important; letter-spacing: 0; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-copy>p:not(.platform-product-tag) { font-size: 14px; line-height: 1.8; }
.editorial-site.platform-body[data-platform-page=shop] .shop-client-card-description { -webkit-line-clamp: 2; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-copy .shop-client-card-price { font-size: 18px; font-weight: 650; color: var(--editorial-ink); margin: 14px 0 3px!important; }
.editorial-site.platform-body[data-platform-page=shop] .platform-image-disclosure { font-size: 11px; line-height: 1.75; margin: 8px 0; }
.editorial-site.platform-body[data-platform-page=shop] .platform-product-copy>.platform-text-link { padding-top: 10px; font-size: 13px; }
.editorial-site.platform-body[data-platform-page=shop] .platform-custom-note { border: 1px solid var(--editorial-line); background: var(--editorial-wash); border-radius: 3px; margin-top: 35px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .editorial-service-card:hover,.editorial-entry:hover,.editorial-work-card:hover { transform: translateY(-3px); border-color: var(--editorial-accent); box-shadow: 0 9px 23px #233c2f14; }
  .editorial-work-card:hover .editorial-work-media img,.editorial-entry:hover .editorial-entry-media img,.editorial-service-media:hover img { transform: scale(1.025); }
  .editorial-entry:hover .editorial-arrow,.editorial-service-action a:hover .editorial-arrow { transform: translateX(4px); }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-card:hover { transform: translateY(-2px); border-color: var(--editorial-accent); box-shadow: 0 8px 20px #233c2f12; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-image:hover>img { transform: scale(1.025); }
}
html[theme=dark] .editorial-site { --editorial-paper: #18251d; --editorial-ink: #eeeede; --editorial-line: #596853; --editorial-wash: #26392a; --editorial-muted: #bec8b4; --editorial-accent: #afcea0; --editorial-warm: #d8a58b; }
html[theme=dark] .editorial-site.platform-body { --platform-paper: #202f24; }
html[theme=dark] .editorial-home-hero .brand-film { box-shadow: 0 16px 38px #0003; }
html[theme=dark] .editorial-site.platform-body { background-image: linear-gradient(165deg,#ffffff03,transparent 42%); }
html[theme=dark] .editorial-service-card[data-market-path=software] .editorial-service-media { background: #dce1d4; }
@media(min-width:1700px) { .editorial-site.platform-body[data-platform-page=shop] .platform-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:1199px) {
  .editorial-site .platform-header-inner { min-height: 0; }
  .editorial-site .platform-wrap { width: calc(100% - 64px); }
  .editorial-home-hero.platform-home-hero { gap: 35px; padding-block: 48px 50px; }
  .editorial-home-hero .platform-hero-copy h1 { font-size: clamp(40px,5.5vw,65px); }
  .editorial-home-hero .platform-lead { font-size: 15px; }
  .editorial-entry-copy { padding: 18px; }
  .editorial-entry h3 { font-size: 22px; }
  .editorial-entry-copy>p { font-size: 13px; }
}
@media(max-width:1024px) {
  .editorial-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media(max-width:900px) {
  .editorial-home-hero.platform-home-hero { grid-template-columns: 1fr; gap: 32px; }
  .editorial-home-hero .platform-hero-copy { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 0 32px; align-items: start; }
  .editorial-home-hero .platform-hero-copy h1 { grid-row: 1/3; font-size: 52px; margin: 0; }
  .editorial-home-hero .platform-actions { margin-top: 17px; }
  .editorial-home-hero .brand-film { max-width: 100%; }
  .editorial-entry-grid { gap: 15px; }
  .editorial-entry-media { aspect-ratio: 1.15; }
  .editorial-entry h3 { font-size: 21px; }
  .editorial-entry-copy { padding: 15px; }
  .editorial-work-copy h3 { font-size: 21px; }
  .editorial-work-card:nth-child(2) { margin-top: 40px; }
  .editorial-service-grid { gap: 18px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 19px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-copy h2 { font-size: 21px; }
  .editorial-step { padding-inline: 15px; }
}
@media(max-width:640px) {
  .editorial-site .platform-wrap { width: calc(100% - 40px); }
  .editorial-home-hero.platform-home-hero { padding-block: 32px 40px; gap: 29px; }
  .editorial-home-hero .platform-hero-copy { display: block; }
  .editorial-home-hero .platform-hero-copy h1 { font-size: clamp(41px,11.8vw,67px); line-height: 1.18; margin-bottom: 20px; max-width: 13ch; }
  .editorial-home-hero .platform-lead { font-size: 15px; line-height: 1.9; }
  .editorial-home-hero .platform-actions { margin-top: 23px; gap: 12px 22px; }
  .editorial-home-hero .platform-button { padding-inline: 17px; gap: 16px; }
  .editorial-home-hero .brand-film { width: min(100%,350px); justify-self: center; padding: 10px; box-shadow: 0 10px 26px #233c2f12; }
  .editorial-home-hero .brand-film-stage { aspect-ratio: 9/16; max-height: 560px; }
  .editorial-home-hero .brand-film figcaption { flex-direction: column; align-items: flex-start; gap: 0; }
  .editorial-heading { margin-bottom: 20px; align-items: start; }
  .editorial-heading h2 { font-size: 29px; max-width: 13ch; }
  .editorial-heading .platform-text-link { font-size: 12px; white-space: nowrap; }
  .editorial-work { padding-block: 30px 39px; }
  .editorial-work-grid { grid-template-columns: 1fr; gap: 29px; }
  .editorial-work-card:nth-child(2) { margin-top: 0; margin-left: 23px; }
  .editorial-work-media { aspect-ratio: 1.7; }
  .editorial-work-copy { padding-top: 13px; }
  .editorial-work-copy h3 { font-size: 22px; }
  .editorial-entries { padding-block: 30px 39px; }
  .editorial-entry-grid { grid-template-columns: 1fr; gap: 17px; }
  .editorial-entry { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1fr); align-items: stretch; }
  .editorial-entry-media { height: 100%; aspect-ratio: auto; min-height: 166px; border: 0; border-right: 1px solid var(--editorial-line); }
  .editorial-entry[data-editorial-entry=digital] .editorial-entry-media { padding: 11px; }
  .editorial-entry-copy { padding: 19px 16px; }
  .editorial-entry h3 { font-size: 22px; gap: 8px; }
  .editorial-entry-copy>p { font-size: 13px; }
  .editorial-entry-caption { font-size: 10px; margin-top: 11px; }
  .editorial-story { grid-template-columns: minmax(0,1fr) 95px; gap: 22px; padding: 22px 20px; }
  .editorial-story h2 { font-size: 25px; margin-bottom: 13px!important; }
  .editorial-story p { font-size: 14px; line-height: 1.85; }
  .editorial-bibo img { width: 95px; height: auto; border-radius: 13px; }
  .editorial-bibo figcaption { font-size: 10px; line-height: 1.7; }
  .editorial-process { padding-block: 30px 42px; }
  .editorial-process>h2 { font-size: 22px; margin-bottom: 16px!important; }
  .editorial-process-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .editorial-step { padding: 14px 15px; }
  .editorial-step:nth-child(3) { border-left: 0; }
  .editorial-step:nth-child(n+3) { border-top: 1px solid var(--editorial-line); }
  .editorial-step summary { font-size: 15px; gap: 8px; }
  .editorial-step p { font-size: 12px; }
  .editorial-page-heading.platform-page-heading { padding-block: 34px 27px; display: block; margin-bottom: 27px; }
  .editorial-page-heading h1 { font-size: clamp(35px,9.6vw,49px); max-width: 15ch; }
  .editorial-page-heading .platform-lead { font-size: 15px; max-width: 32ch; margin-top: 17px!important; }
  .editorial-service-grid { grid-template-columns: 1fr; gap: 18px; }
  .editorial-service-copy { padding: 14px 12px 6px; }
  .editorial-service-copy h2 { font-size: 20px; }
  .editorial-service-copy>p { font-size: 13px; }
  .editorial-service-caption { font-size: 11px; }
  .editorial-service-action .platform-text-link { font-size: 12px; }
  .editorial-site .platform-free-row { padding-block: 25px; }
  .editorial-site .platform-free-row h2 { font-size: 21px; }
  .editorial-site .platform-free-row p { font-size: 12px; }
  .editorial-site .platform-service-next { padding-block: 15px 42px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-shop-toolbar { gap: 15px; margin-bottom: 23px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-grid { gap: 22px 13px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-card { padding: 6px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-copy { padding: 12px 4px 4px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-copy h2 { font-size: 18px; line-height: 1.55; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-copy>p:not(.platform-product-tag) { font-size: 12px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-copy .shop-client-card-price { font-size: 16px; margin-top: 10px!important; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-image-disclosure { font-size: 10px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-copy>.platform-text-link { font-size: 12px; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-custom-note { padding: 23px; margin-top: 25px; }
}
@media(max-width:359px) {
  .editorial-site .platform-wrap { width: calc(100% - 32px); }
  .editorial-entry { grid-template-columns: minmax(0,.8fr) minmax(0,1fr); }
  .editorial-entry-copy { padding: 15px 12px; }
  .editorial-entry h3 { font-size: 20px; }
  .editorial-story { grid-template-columns: minmax(0,1fr) 80px; gap: 16px; }
  .editorial-bibo img { width: 80px; height: auto; }
  .editorial-site.platform-body[data-platform-page=shop] .platform-product-grid { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto!important; }
  .editorial-site { scroll-behavior: auto; }
  .editorial-site *, .editorial-site *::before, .editorial-site *::after { transition-duration: 0s!important; animation: none!important; }
}

/* Contact-page service choices share the public editorial surface. */
.platform-contact-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}
.platform-contact-services button{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:64px;padding:16px;font:inherit;font-size:.92rem;font-weight:650;text-align:left;cursor:pointer;color:inherit;background:transparent;border:1px solid #bccdc1;border-radius:8px;transition:background .16s,transform .16s}
.platform-contact-services button:hover{background:#e8eddf;transform:translateY(-2px)}
.platform-contact-services button:focus-visible{outline:2px solid #345b42;outline-offset:3px}
html[theme=dark] .platform-contact-services button:hover{background:#2f4637}
@media(max-width:380px){.platform-contact-services{gap:8px}.platform-contact-services button{padding:12px;font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.platform-contact-services button{transition:none;transform:none}}
