/* TECCIE editorial gallery: native images, open captions and mobile-led flow.
   Main headings and eyebrows retain the approved shared type scale. */
:is(#details, #why-teccie) {
  display: block; width: 100%; max-width: calc(var(--content) + var(--gutter) * 2);
  margin-inline: auto; padding: 40px var(--gutter); background: var(--paper); color: var(--ink);
}
:is(#details, #why-teccie) .editorial-heading {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 28px;
}
:is(#details, #why-teccie) .editorial-heading > div:first-child {min-width: 0; flex: 1;}
:is(#details, #why-teccie) .editorial-eyebrow {
  display: flex; align-items: center; gap: 16px; margin-bottom: 16px; color: var(--muted);
}
:is(#details, #why-teccie) .editorial-eyebrow span {width: 48px; height: 1px; background: var(--gold);}
:is(#details, #why-teccie) h2 em {font-style: normal; color: var(--gold);}
:is(#details, #why-teccie) .editorial-intro {flex: 0 0 30%; max-width: 36ch; font-size: .875rem; line-height: 1.65; color: var(--muted);}
:is(#details, #why-teccie) .editorial-intro p + p {margin-top: 8px;}
#why-teccie .editorial-descriptor {font-size: .6875rem; font-weight: 600; letter-spacing: .1em; line-height: 1.5; color: var(--muted); margin-top: 12px;}
:is(#details, #why-teccie) .editorial-grid {display: grid; gap: 20px;}
:is(#details, #why-teccie) .editorial-card {display: flex; flex-direction: column; position: relative; min-width: 0; background: transparent; color: var(--ink);}
:is(#details, #why-teccie) .editorial-photo {
  display: block; position: relative; width: 100%; overflow: hidden;
  border-radius: var(--radius); background: #e3ded5;
}
:is(#details, #why-teccie) .editorial-photo img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
:is(#details, #why-teccie) .editorial-card-copy {display: flex; flex-direction: column; flex: 1; min-width: 0; padding-top: 16px;}
:is(#details, #why-teccie) .editorial-card-heading {display: flex; align-items: baseline; gap: 12px;}
:is(#details, #why-teccie) .editorial-card-heading h3 {min-width: 0;}
:is(#details, #why-teccie) .editorial-number {order: 2; margin-left: auto; color: var(--muted); font-size: .6875rem; font-weight: 500; letter-spacing: .08em; line-height: 1.5;}
:is(#details, #why-teccie) .editorial-number::after {content: none;}
:is(#details, #why-teccie) .editorial-lead {font-size: .875rem; line-height: 1.55; margin-top: 6px;}
:is(#details, #why-teccie) .editorial-body {font-size: .8125rem; line-height: 1.65; margin-top: 8px; color: var(--muted); max-width: 44ch;}
#details .editorial-grid {grid-template-columns: repeat(4,minmax(0,1fr));}
#details .editorial-card {border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--paper);}
#details .editorial-photo {height: 206px;}
#details .editorial-photo {border-radius: 3px 3px 0 0;}
#details .editorial-card-copy {padding: 20px;}
#details .editorial-lead {margin-top: 8px;}
#details .editorial-body {margin-top: 10px;}
#details .editorial-badge {display: flex; align-items: center; gap: 8px; padding-top: 20px; margin-top: auto;}
#details .editorial-badge svg {width: 20px; height: 20px; stroke-width: 1.4; color: var(--muted);}
#details .editorial-badge span {font-size: .625rem; font-weight: 500; line-height: 1.6; letter-spacing: .1em; color: var(--muted);}
#why-teccie .editorial-grid {grid-template-columns: 1.45fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px 24px;}
#why-teccie .editorial-card {border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--paper);}
#why-teccie .editorial-photo {border-radius: 3px 3px 0 0;}
#why-teccie .editorial-card-copy {padding: 20px;}
#why-teccie .editorial-lead {margin-top: 8px;}
#why-teccie .editorial-body {margin-top: 10px;}
#why-teccie .editorial-tall {grid-row: 1 / 3;}
#why-teccie .editorial-tall .editorial-photo {flex: 1; height: 0; min-height: 280px;}
#why-teccie .editorial-tall .editorial-card-copy {flex: 0;}
#why-teccie .editorial-wide {
  grid-column: 2 / 4; display: grid; grid-template-columns: 1fr 1.15fr;
  overflow: hidden; border-radius: var(--radius); border-color: #383a35; background: var(--black); color: var(--paper);
}
#why-teccie .editorial-wide .editorial-photo {order: 2; height: 100%; min-height: 184px; border-radius: 0; background: var(--black);}
#why-teccie .editorial-wide .editorial-card-copy {order: 1; padding: 24px; justify-content: center;}
#why-teccie .editorial-wide .editorial-number {color: #a8aaa1;}
#why-teccie .editorial-wide .editorial-body {color: #b5b8af;}
#why-teccie .editorial-small .editorial-photo {height: 136px;}
#why-teccie .editorial-small h3 {font-size: 1.125rem;}
[data-photo='details-material'] .editorial-photo img {object-position: 65% 64%;}
[data-photo='details-protection'] .editorial-photo img {object-position: 85% 52%;}
[data-photo='details-magsafe'] .editorial-photo img {object-position: 76% 60%;}
[data-photo='details-precision'] .editorial-photo img {object-position: 66% 52%;}
[data-photo='why-intention'] .editorial-photo img {object-position: 50% 50%;}
[data-photo='why-device'] .editorial-photo img {object-position: 84% 50%;}
[data-photo='why-quality'] .editorial-photo img {object-position: 68% 52%;}
[data-photo='why-simple'] .editorial-photo img {object-position: 64% 65%;}
#devices {padding: 0; border: 0; background: #e9e5de;}
#devices .device-grid {display: grid; grid-template-columns: minmax(0,1.9fr) minmax(0,1fr); gap: 48px; padding-block: 40px; align-items: stretch;}
#devices .device-shop {min-width: 0;}
#devices .section-copy {width: 100%; max-width: none;}
#devices .eyebrow {font-size: .75rem; margin-bottom: 16px;}
#devices .section-copy > p:not(.eyebrow) {font-size: .875rem; margin-top: 16px;}
#devices .device-links {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; margin-top: 28px;}
#devices .device-tile {
  display: flex; align-items: stretch; min-width: 0; padding: 0; text-align: left;
  border-radius: var(--radius); border: 1px solid var(--line); background: #f7f7f580;
  transition: border-color var(--duration), background var(--duration);
}
#devices .device-image {position: relative; display: block; flex: 0 0 100px; width: 100px; min-height: 100px; border-radius: 3px 0 0 3px; overflow: hidden; background: #d2cdc5;}
#devices .device-image img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease;}
#devices .device-tile > span {
  display: flex; flex: 1; justify-content: space-between; align-items: center;
  min-width: 0; gap: 12px; min-height: 100px; padding: 20px;
  font-size: 1rem; font-weight: 500; line-height: 1.4; letter-spacing: -.015em;
}
#devices .device-tile > span > span {font-size: 1.125rem; transition: transform var(--duration);}
#devices .device-feature {position: relative; min-width: 0; overflow: hidden; border-radius: var(--radius); background: #363531;}
#devices .device-feature-photo {position: absolute; inset: 0; display: block;}
#devices .device-feature img {width: 100%; height: 100%; object-fit: cover; object-position: 53% 10%;}
#care {background: var(--paper);}
#care .trust-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding-block: 32px;}
#care .trust-item,
#care .trust-item:first-child,
#care .trust-item:last-child {
  display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start;
  min-width: 0; padding: 0; gap: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); text-align: left;
  overflow: hidden; transition: border-color var(--duration);
}
#care .trust-photo {order: -1; display: block; position: relative; width: 100%; height: 104px; overflow: hidden; border-radius: 3px 3px 0 0; background: #e7e1da;}
#care .trust-photo img {width: 100%; height: 100%; object-fit: cover; object-position: center 52%; transition: transform .45s ease;}
#care .trust-copy {display: flex; flex: 1; min-width: 0; align-items: flex-start; gap: 12px; padding: 20px;}
#care .trust-copy > svg {width: 24px; height: 24px; color: #977033; stroke-width: 1.4;}
#care .trust-copy > span {display: block; min-width: 0;}
#care .trust-item strong {display: block; font-size: .75rem; font-weight: 600; letter-spacing: .06em; line-height: 1.55;}
#care .trust-item small {display: block; font-size: .8125rem; line-height: 1.55; color: var(--muted); margin-top: 8px;}
@media (hover: hover) and (pointer: fine) {
  #devices .device-tile:hover {background: var(--paper); border-color: #97703370;}
  #devices .device-tile:hover .device-image img, #care .trust-item:hover .trust-photo img {transform: scale(1.025);}
  #devices .device-tile:hover > span > span {transform: translateX(3px);}
  #care .trust-item:hover strong {color: #977033;}
  #care .trust-item:hover {border-color: #97703370;}
}
@media (min-width: 600px) and (max-width: 1099px) {
  :is(#details, #why-teccie) .editorial-heading {gap: 24px;}
  :is(#details, #why-teccie) .editorial-intro {flex-basis: 32%;}
  #devices .device-grid {grid-template-columns: minmax(0,1fr);}
  #devices .device-feature {display: none;}
  #devices .device-image {flex-basis: 112px; width: 112px; min-height: 104px;}
  #devices .device-tile > span {font-size: 1.125rem; min-height: 104px; padding: 24px;}
  #care .trust-copy {flex-direction: column; gap: 12px;}
  #care .trust-copy {padding: 18px;}
}
@media (min-width: 600px) and (max-width: 899px) {
  #details .editorial-grid, #why-teccie .editorial-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 20px;}
  #why-teccie .editorial-tall, #why-teccie .editorial-wide {grid-row: auto; grid-column: auto;}
  #why-teccie .editorial-card-copy {padding: 18px;}
  #why-teccie .editorial-wide {display: flex; flex-direction: column; border-color: var(--line); background: var(--paper); color: var(--ink);}
  #why-teccie .editorial-wide .editorial-photo {order: 0; border-radius: 3px 3px 0 0; height: 160px; min-height: 0;}
  #why-teccie .editorial-wide .editorial-card-copy {order: 1; padding: 18px; justify-content: flex-start;}
  #why-teccie .editorial-wide .editorial-number, #why-teccie .editorial-wide .editorial-body {color: var(--muted);}
  #why-teccie .editorial-tall .editorial-photo {flex: none; height: 160px; min-height: 0;}
  #why-teccie .editorial-tall .editorial-card-copy {flex: 1;}
  #details .editorial-photo, #why-teccie .editorial-photo, #why-teccie .editorial-small .editorial-photo {height: 160px;}
  #details .editorial-card-copy {padding: 18px;}
  #why-teccie .editorial-small h3 {font-size: 1.375rem;}
}
@media (max-width: 699px) {
  #care .trust-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px;}
  #care .trust-copy {flex-direction: row;}
}
@media (min-width: 600px) and (max-width: 767px) {
  #devices .device-image {flex-basis: 88px; width: 88px;}
  #devices .device-tile > span {padding: 16px;}
}
@media (max-width: 599px) {
  :is(#details, #why-teccie) {padding-block: 32px;}
  :is(#details, #why-teccie) .editorial-heading {display: block; margin-bottom: 24px;}
  :is(#details, #why-teccie) .editorial-intro {max-width: 48ch; margin-top: 16px; font-size: .8125rem;}
  :is(#details, #why-teccie) .editorial-intro p {display: inline;}
  :is(#details, #why-teccie) .editorial-intro p + p {margin: 0;}
  :is(#details, #why-teccie) .editorial-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px;}
  :is(#details, #why-teccie) h3, #why-teccie .editorial-small h3 {font-size: 1.125rem;}
  :is(#details, #why-teccie) .editorial-card-heading {gap: 8px;}
  :is(#details, #why-teccie) .editorial-card-copy {padding-top: 14px;}
  :is(#details, #why-teccie) .editorial-lead {font-size: .8125rem; line-height: 1.55;}
  #details .editorial-photo {height: auto; aspect-ratio: 1.1;}
  #details .editorial-card-copy {padding: 16px 12px 20px;}
  #details .editorial-card-heading {gap: 6px;}
  #details .editorial-badge {gap: 7px; padding-top: 16px; align-items: flex-start;}
  #details .editorial-badge svg {width: 18px; height: 18px;}
  #details .editorial-badge span {font-size: .625rem; letter-spacing: .08em;}
  #why-teccie .editorial-tall {grid-column: 1 / 3; grid-row: auto;}
  #why-teccie .editorial-card-copy {padding: 16px 12px 20px;}
  #why-teccie .editorial-card-heading {gap: 6px;}
  #why-teccie .editorial-tall .editorial-card-copy {padding: 16px 20px 20px;}
  #why-teccie .editorial-tall .editorial-photo {height: 180px; min-height: 0; flex: none;}
  #why-teccie .editorial-tall .editorial-card-copy {flex: 1;}
  #why-teccie .editorial-wide {grid-column: 1 / 3; grid-row: auto; grid-template-columns: 1.15fr 1fr;}
  #why-teccie .editorial-wide .editorial-photo {min-height: 180px;}
  #why-teccie .editorial-wide .editorial-card-copy {padding: 16px;}
  #why-teccie .editorial-small .editorial-photo {height: auto; aspect-ratio: 1.2;}
  #devices .device-grid {grid-template-columns: minmax(0,1fr); padding-block: 32px;}
  #devices .device-feature {display: none;}
  #devices .device-links {grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: 24px;}
  #devices .device-image {flex-basis: 88px; width: 88px; min-height: 84px;}
  #devices .device-tile > span {font-size: 1rem; min-height: 84px; padding: 20px;}
  #care .trust-grid {gap: 24px 16px; padding-block: 24px 32px;}
  #care .trust-photo {height: 96px;}
  #care .trust-copy {gap: 10px; padding: 16px 12px 20px;}
  #care .trust-copy > svg {width: 20px; height: 20px;}
  #care .trust-item strong {font-size: .6875rem; letter-spacing: .04em;}
  #care .trust-item small {font-size: .75rem;}
}
@media (max-width: 359px) {
  #details .editorial-card-copy {padding-inline: 10px;}
  #details .editorial-badge {flex-direction: column; gap: 8px;}
  #why-teccie .editorial-small .editorial-card-copy {padding-inline: 10px;}
  #care .trust-copy {flex-direction: column; padding-inline: 10px;}
}
@media (prefers-reduced-motion: reduce) {
  #devices .device-tile, #devices .device-image img, #devices .device-tile > span > span,
  #care .trust-photo img, #care .trust-item {transition: none;}
  #devices .device-tile:hover .device-image img, #devices .device-tile:hover > span > span,
  #care .trust-item:hover .trust-photo img {transform: none;}
}
