.tr-express-design {
  --tr-ed-ink: #262626;
  --tr-ed-copper: #904a27;
  --tr-ed-apricot: #fba76b;
  --tr-ed-paper: #fbfaf8;
  color: #fff;
  scroll-margin-top: 135px;
}

.tr-express-design *,
.tr-express-design *::before,
.tr-express-design *::after { box-sizing: border-box; }

.tr-express-design__panel {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  border-radius: 32px;
  background: var(--tr-ed-ink) url("../img/present-bg.png") center / cover no-repeat;
}

.tr-express-design__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(360px, .84fr);
  grid-template-areas: "intro visual" "sheet visual" "facts facts";
  align-content: space-between;
  gap: 28px 40px;
  min-height: 760px;
  padding: 72px 88px 64px;
}

.tr-express-design__intro { grid-area: intro; align-self: end; max-width: 680px; }
.tr-express-design__title {
  max-width: 650px;
  margin: 0;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.tr-express-design__title span { color: var(--tr-ed-apricot); }
.tr-express-design__lead {
  max-width: 600px;
  margin: 17px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 18px;
  line-height: 1.58;
}

.tr-express-design__visual {
  position: relative;
  grid-area: visual;
  min-height: 430px;
  margin: -22px -74px 0 -12px;
  pointer-events: none;
}
.tr-express-design__blueprint {
  position: absolute;
  top: 8px;
  right: -12px;
  display: block;
  width: min(560px, 116%);
  max-width: none;
  height: auto;
  filter: drop-shadow(0 26px 30px rgba(0,0,0,.3));
  transform: rotate(1.8deg);
}
.tr-express-design__condition {
  position: absolute;
  z-index: 1;
  top: 354px;
  right: 30px;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: calc(100% - 30px);
  padding: 13px 18px;
  border-radius: 999px;
  background: rgba(38,38,38,.92);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
.tr-express-design__condition svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--tr-ed-apricot); }

.tr-express-design__sheet {
  position: relative;
  z-index: 2;
  grid-area: sheet;
  display: grid;
  grid-template-columns: minmax(170px,.72fr) minmax(330px,1.28fr);
  gap: 24px;
  align-items: center;
  max-width: 800px;
  padding: 24px;
  border-radius: 16px;
  color: var(--tr-ed-ink);
  background: var(--tr-ed-paper);
  box-shadow: 0 24px 52px rgba(0,0,0,.28);
}
.tr-express-design__sheet-intro h3 {
  margin: 0;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.tr-express-design__sheet-intro p {
  margin: 12px 0 0;
  color: #58524f;
  font-size: 14px;
  line-height: 1.5;
}
.tr-express-design__messengers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.tr-express-design__messenger {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 18px;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  padding: 10px 12px;
  border-radius: 14px;
  color: #fff;
  background: var(--tr-ed-ink);
  text-decoration: none;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s cubic-bezier(.16,1,.3,1);
}
.tr-express-design__messenger:hover,
.tr-express-design__messenger:focus { color: #fff; background: #34302e; }
.tr-express-design__messenger:hover { box-shadow: 0 12px 24px rgba(38,38,38,.18); transform: translateY(-3px); }
.tr-express-design__messenger-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: #fff;
}
.tr-express-design__messenger-icon img { display: block; width: 28px; height: 28px; object-fit: contain; }
.tr-express-design__messenger-copy strong,
.tr-express-design__messenger-copy small { display: block; }
.tr-express-design__messenger-copy strong { font-size: 14px; font-weight: 800; line-height: 1.25; }
.tr-express-design__messenger-copy small { margin-top: 3px; color: rgba(255,255,255,.78); font-size: 11px; font-weight: 600; line-height: 1.3; }
.tr-express-design__arrow { width: 18px; height: 18px; color: var(--tr-ed-apricot); }
.tr-express-design__sample {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 68px;
  margin-top: 12px;
  padding: 11px 18px;
  border-radius: 12px;
  color: var(--tr-ed-ink);
  background: rgba(144,74,39,.075);
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
.tr-express-design__sample:hover { color: var(--tr-ed-copper); background: rgba(144,74,39,.13); transform: translateY(-2px); }
.tr-express-design__sample img { display: block; width: 40px; height: 52px; flex: 0 0 auto; object-fit: contain; }
.tr-express-design__sample strong,
.tr-express-design__sample small { display: block; }
.tr-express-design__sample strong { font-size: 15px; font-weight: 800; line-height: 1.25; }
.tr-express-design__sample small { margin-top: 3px; color: #68605b; font-size: 11px; font-weight: 650; line-height: 1.3; }
.tr-express-design__messenger:focus-visible,
.tr-express-design__sample:focus-visible { outline: 3px solid var(--tr-ed-apricot); outline-offset: 3px; }

.tr-express-design__facts {
  grid-area: facts;
  display: grid;
  grid-template-columns: .85fr 1.1fr 1.2fr;
  align-self: end;
  border-top: 1px solid rgba(255,255,255,.14);
}
.tr-express-design__fact { min-height: 112px; padding: 22px 30px 0 0; }
.tr-express-design__fact + .tr-express-design__fact { padding-left: 30px; border-left: 1px solid rgba(255,255,255,.14); }
.tr-express-design__fact span { color: var(--tr-ed-apricot); font-size: 13px; font-weight: 800; }
.tr-express-design__fact p { max-width: 430px; margin: 9px 0 0; font-size: 17px; font-weight: 650; line-height: 1.5; }

@media (max-width: 1280px) {
  .tr-express-design__layout { grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr); padding: 60px; }
  .tr-express-design__title { font-size: 44px; }
  .tr-express-design__visual { margin-right: -100px; }
  .tr-express-design__condition { right: 54px; }
  .tr-express-design__sheet { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 900px) {
  .tr-express-design__panel { min-height: 0; border-radius: 22px; }
  .tr-express-design__layout { display: flex; min-height: 0; flex-direction: column; gap: 0; padding: 40px 28px 34px; }
  .tr-express-design__intro { align-self: stretch; }
  .tr-express-design__title { font-size: 32px; }
  .tr-express-design__lead { margin-top: 18px; font-size: 16px; }
  .tr-express-design__visual { align-self: stretch; min-height: 360px; margin: 10px -70px -70px 12%; }
  .tr-express-design__blueprint { top: 0; right: 0; width: 620px; }
  .tr-express-design__condition { top: 229px; right: 72px; }
  .tr-express-design__sheet { width: 100%; max-width: none; padding: 24px; }
  .tr-express-design__facts { width: 100%; grid-template-columns: 1fr; margin-top: 46px; }
  .tr-express-design__fact { min-height: 0; padding: 22px 0; }
  .tr-express-design__fact + .tr-express-design__fact { padding-left: 0; border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
}

@media (max-width: 560px) {
  .tr-express-design__layout { padding: 32px 18px 24px; }
  .tr-express-design__title { font-size: 28px; }
  .tr-express-design__lead { font-size: 15px; }
  .tr-express-design__visual { min-height: 285px; margin: 12px -96px -48px 2%; }
  .tr-express-design__blueprint { width: 510px; }
  .tr-express-design__condition { top: 181px; right: 88px; padding: 11px 14px; font-size: 12px; }
  .tr-express-design__sheet { padding: 22px 18px 18px; }
  .tr-express-design__sheet-intro h3 { font-size: 25px; }
  .tr-express-design__messengers { grid-template-columns: 1fr; }
  .tr-express-design__messenger { min-height: 72px; }
  .tr-express-design__fact p { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .tr-express-design__messenger,
  .tr-express-design__sample { transition: none; }
}
