/* Shared page canvas. Content cards and controls keep their own useful boundaries. */
:root { --paper: #fcfcfc; --line: #ededee; --premium-shadow: none; }
body { background: #fcfcfc; }
.header, .utility { background: #fcfcfc; border-color: #ededee; box-shadow: none; }
.navlinks > a:hover { background: #f1f1f2; }
@media (min-width: 960px) {
  .header .wrap.nav, .utility .wrap { max-width: none; padding-left: 24px; padding-right: 24px; }
}

/* The homepage's introduction remains the deliberate brand emphasis. */
.home-intro { box-shadow: none; }
.home-topic-nav {
  padding-left: 0;
  padding-right: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid #ededee;
  border-bottom: 1px solid #ededee;
  border-radius: 0;
}
.home-lead, .home-story, .home-story + .home-story,
.home-lead:hover, .home-story:hover { box-shadow: none; border-color: #e7e7e8; }
.home-refresh .directory-card[data-article-card],
.guide-results .guide-row[data-article-card],
.guide-list > .guide-row[data-article-card] { border-color: #e7e7e8; box-shadow: none; }
.home-refresh .directory-card[data-article-card]:hover,
.guide-results .guide-row[data-article-card]:hover,
.guide-list > .guide-row[data-article-card]:hover,
.home-refresh .directory-card[data-article-card]:focus-visible,
.guide-results .guide-row[data-article-card]:focus-visible,
.guide-list > .guide-row[data-article-card]:focus-visible { border-color: #b9d3c6; box-shadow: none; }

/* Secondary pages use open sections rather than nested panel surfaces. */
.prose {
  padding: 0 0 32px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.topic-card, .home-refresh .topic-card {
  padding: 24px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid #ededee;
  border-radius: 0;
  box-shadow: none;
}
.topic-card ul, .topic-card li, .home-method, .directory-support, .methodstrip { border-color: #ededee; }
.topic-jump-links a { background: transparent; border-color: #e7e7e8; }
.tablet-note { background: transparent; border: 0; border-left: 1px solid #ededee; padding: 0 0 0 28px; }
.tablet-focus {
  padding: 32px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid #ededee;
  border-bottom: 1px solid #ededee;
  border-radius: 0;
}
.tablet-focus .tablet-facts-note { border-color: #ededee; }
.profile-image { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.spec-strip { background: transparent; border-color: #ededee; border-radius: 0; }
body:not(:has(.article-reading-layout)) .calculator {
  padding: 32px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid #ededee;
  border-bottom: 1px solid #ededee;
  border-radius: 0;
  box-shadow: none;
}

/* The footer continues the page instead of closing it with a dark block. */
.footer { background: #fcfcfc; color: #475467; border-color: #ededee; }
.footer .brand, .footer h2, .footer h3 { color: #0f172a; }
.footer .brandmark { color: #71ebbd; background: #0b1020; border: 0; }
.footer .brand small, .footer p, .footer-bottom { color: #667085; }
.footer-links { color: #475467; }
.footer-links a:hover { color: #047857; }
.footer-bottom { border-color: #ededee; }

@media (max-width: 900px) {
  .navlinks { background: #fcfcfc; border-color: #ededee; box-shadow: none; }
}
@media (max-width: 700px) {
  .prose { padding-bottom: 24px; }
  .topic-card, .home-refresh .topic-card { padding: 22px 0; }
  .tablet-note { padding: 24px 0 0; border-left: 0; border-top: 1px solid #ededee; }
  .tablet-focus, body:not(:has(.article-reading-layout)) .calculator { padding: 26px 0; }
}

/* In-article links and to-scale screen comparison for the business travel guide. */
.plg-travel-article :is(#three-business-trips, #client-meetings, #long-train-ride, #hotel-desk) {
  scroll-margin-top: 6rem;
}
.article-body .trip-skip { margin: 18px 0; font-size: .94rem; }
.trip-comparison { margin-top: 3rem; padding-top: 1rem; border-top: 2px solid #193d37; }
.trip-jumps { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; margin: .75rem 0 1.75rem; }
.trip-jumps a { padding: .35rem 0; font-weight: 600; }
.trip-table caption { text-align: left; padding: .65rem .8rem; color: #193d37; font-weight: 650; }
.trip-table td:last-child { font-variant-numeric: tabular-nums; }
.article-body .trip-screen-figure { padding: clamp(.8rem, 3vw, 1.6rem); margin: 1.25rem 0; background: #f1f6f3; color: #183b34; border: 1px solid #d7e6de; border-radius: 8px; }
.trip-screens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: clamp(.65rem, 3vw, 2rem); max-width: 33rem; }
.trip-device { display: grid; gap: .5rem; align-content: end; min-width: 0; }
.trip-device strong, .trip-device small { line-height: 1.25; }
.trip-device strong { font-size: clamp(.78rem, 2vw, .98rem); }
.trip-device small { font-size: .8rem; }
.trip-panel { box-sizing: border-box; display: grid; grid-template-columns: 1fr 1fr; width: 100%; aspect-ratio: 16/10; overflow: hidden; border: 2px solid #2e554a; border-radius: 4px; }
.trip-panel-yoga { width: 87.5%; }
.trip-panel span { display: grid; place-items: center; background: #fff; font-size: clamp(.65rem, 1.5vw, .85rem); color: #183b34; }
.trip-panel span + span { border-left: 1px solid #8ead9e; background: #deece4; }
.article-body .trip-screen-figure figcaption { margin-top: 1rem; line-height: 1.5; }

.plg-travel-article .buy-config [id] { scroll-margin-top: 6rem; }
.article-body .buy-listing-figure {
  padding: clamp(.8rem, 3vw, 1.5rem);
  margin: 1.25rem 0;
  background: #f1f6f3;
  border: 1px solid #d7e6de;
  border-radius: 8px;
}
.article-body .buy-listing-shot {
  display: block;
  position: relative;
  width: 100%;
  max-width: 28rem;
  padding: 0;
  margin: 0;
  background: white;
}
.article-body .buy-listing-shot img {
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.buy-mark { position: absolute; height: 2px; background: #087454; pointer-events: none; }
.buy-mark-display { top: 33%; left: 29%; width: 43%; }
.buy-mark-memory { top: 63%; left: 30%; width: 34%; }
.buy-mark-model { top: 95%; left: 3%; width: 26%; }
.article-body .buy-listing-figure figcaption { margin: .85rem 0 0; line-height: 1.5; }
.buy-config .table-scroll { max-width: 100%; overflow-x: auto; }
.buy-config .trip-table th[scope="row"] { text-align: left; white-space: nowrap; }

.article-body .travel-yoga-demo {
  margin: 1.25rem 0;
  padding: 1rem 1.2rem;
  background: #f1f6f3;
  border: 1px solid #d7e6de;
  border-radius: 8px;
  scroll-margin-top: 6rem;
}
.article-body .travel-yoga-demo figcaption { margin: 0; line-height: 1.55; }
.yoga-video-play {
  display: inline-block;
  margin: .8rem 0 0;
  padding: .55rem .9rem;
  background: #17483c;
  border: 1px solid #17483c;
  border-radius: .4rem;
  color: white;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.yoga-video-play:focus-visible { outline: 2px solid #147556; outline-offset: 3px; }
.article-body .yoga-review-player { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; margin-top: .8rem; }
.article-body .travel-yoga-demo .yoga-video-links { margin: .65rem 0 0; font-size: .92rem; }
