.page-products{
  --p-radius:18px;
  --p-line:rgba(14,42,71,.14);
  --p-shadow:0 18px 44px rgba(14,42,71,.10);
  background:var(--mist);
  color:var(--ink);
  font-family:var(--sans);
  padding-bottom:56px;
}
.page-products .p-head{
  max-width:640px;
  margin-bottom:26px;
}
.page-products .p-head h2{
  font-family:var(--serif);
  font-size:26px;
  line-height:1.4;
  letter-spacing:.06em;
  color:var(--deep);
  margin:8px 0 12px;
  font-weight:600;
}
.page-products .p-head__lead{
  font-size:15px;
  line-height:1.8;
  color:var(--ink);
}
.page-products .section{
  padding:44px 0 8px;
}

/* ---------- hero ---------- */
.page-products .p-hero{
  position:relative;
  margin-top:12px;
  padding:26px 20px 22px;
  border-radius:calc(var(--p-radius) + 6px);
  background:
    radial-gradient(120% 90% at 88% 6%, rgba(61,110,143,.55) 0%, rgba(14,42,71,0) 62%),
    linear-gradient(158deg, var(--deep) 0%, var(--night) 100%);
  color:var(--mist);
  overflow:hidden;
}
.page-products .p-hero::after{
  content:"";
  position:absolute;
  inset:auto -60px -80px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(240,138,138,.28) 0%, rgba(240,138,138,0) 70%);
  pointer-events:none;
}
.page-products .p-hero__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  position:relative;
  z-index:1;
}
.page-products .p-hero .eyebrow{
  color:var(--gold);
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.14em;
}
.page-products .p-hero h1{
  font-family:var(--serif);
  font-size:31px;
  line-height:1.36;
  letter-spacing:.05em;
  margin:12px 0 14px;
  font-weight:600;
  color:var(--paper);
}
.page-products .p-hero__desc{
  font-size:15px;
  line-height:1.85;
  color:rgba(247,244,239,.86);
  max-width:38em;
}
.page-products .p-hero__acts{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.page-products .p-hero__device{
  margin:0;
  background:var(--paper);
  border-radius:22px;
  padding:10px;
  box-shadow:var(--p-shadow);
  border:1px solid rgba(216,166,87,.4);
}
.page-products .p-hero__screen{
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg, var(--night) 0%, var(--deep) 100%);
}
.page-products .p-hero__screen img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  aspect-ratio:4/3;
}
.page-products .p-hero__cap{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 4px 2px;
  font-size:12px;
  color:var(--deep);
  line-height:1.5;
}
.page-products .p-hero__cap .tag{
  flex:0 0 auto;
}

/* ---------- index ---------- */
.page-products .p-index{
  position:relative;
  z-index:1;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(247,244,239,.22);
}
.page-products .p-index__label{
  color:var(--salt);
  font-size:11px;
  letter-spacing:.18em;
  margin-bottom:10px;
}
.page-products .p-index__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:6px;
  scrollbar-width:thin;
}
.page-products .p-index__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(247,244,239,.26);
  color:var(--mist);
  font-size:13px;
  text-decoration:none;
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.page-products .p-index__link .label-mono{
  color:var(--gold);
  font-size:11px;
}
.page-products .p-index__link:hover,
.page-products .p-index__link:focus-visible{
  background:rgba(240,138,138,.2);
  border-color:var(--coral);
  outline:none;
}

/* ---------- iOS ---------- */
.page-products .p-ios__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
.page-products .p-paths{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.page-products .p-paths__item{
  background:var(--paper);
  border:1px solid var(--p-line);
  border-left:3px solid var(--gold);
  border-radius:12px;
  padding:16px 16px 18px;
  box-shadow:0 6px 18px rgba(14,42,71,.06);
}
.page-products .p-paths__k{
  color:var(--tide);
  font-size:10px;
  letter-spacing:.2em;
  margin-bottom:6px;
}
.page-products .p-paths__item h3{
  font-family:var(--serif);
  font-size:18px;
  letter-spacing:.05em;
  color:var(--deep);
  margin:0 0 8px;
  font-weight:600;
}
.page-products .p-paths__item p{
  font-size:14px;
  line-height:1.75;
  color:var(--ink);
}
.page-products .p-ios__aside{
  background:linear-gradient(180deg, var(--paper) 0%, rgba(247,244,239,.9) 100%);
  border-color:rgba(216,166,87,.45);
}
.page-products .p-ios__aside .panel__head h3{
  font-family:var(--serif);
  font-size:17px;
  letter-spacing:.05em;
  color:var(--deep);
}
.page-products .p-ios__aside .prose p{
  font-size:14px;
  line-height:1.8;
}
.page-products .p-ios__aside a{
  color:var(--tide);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ---------- library ---------- */
.page-products .p-library{
  position:relative;
}
.page-products .p-library__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
.page-products .p-library__media .media__frame{
  border-radius:var(--p-radius);
  overflow:hidden;
  border:1px solid var(--p-line);
  background:var(--night);
  box-shadow:var(--p-shadow);
}
.page-products .p-library__media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-products .p-library__media .media__caption{
  font-size:12px;
  color:var(--tide);
  margin-top:8px;
  line-height:1.6;
}
.page-products .p-facets{
  list-style:none;
  margin:0 0 20px;
  padding:0;
  display:grid;
  gap:10px;
}
.page-products .p-facets li{
  font-size:14px;
  line-height:1.7;
  color:var(--ink);
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.page-products .p-facets .tag{
  flex:0 0 auto;
  margin-top:2px;
}
.page-products .p-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-bottom:20px;
}
.page-products .p-card{
  background:var(--paper);
  border:1px solid var(--p-line);
  border-radius:12px;
  padding:16px;
  box-shadow:0 8px 20px rgba(14,42,71,.06);
}
.page-products .p-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:10px;
}
.page-products .p-card h3{
  font-family:var(--serif);
  font-size:16px;
  line-height:1.5;
  color:var(--deep);
  margin:0 0 8px;
  letter-spacing:.04em;
  font-weight:600;
}
.page-products .p-card p{
  font-size:13.5px;
  line-height:1.7;
  color:var(--ink);
}

/* ---------- drawer ---------- */
.page-products .p-drawer{
  background:var(--paper);
  border:1px solid var(--p-line);
  border-radius:12px;
  margin-bottom:10px;
  overflow:hidden;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.page-products .p-drawer summary{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
  font-size:14.5px;
  line-height:1.6;
  color:var(--deep);
  font-weight:600;
}
.page-products .p-drawer summary::-webkit-details-marker{display:none;}
.page-products .p-drawer summary::after{
  content:"+";
  margin-left:auto;
  font-family:var(--mono);
  color:var(--coral);
  font-size:16px;
  line-height:1;
}
.page-products .p-drawer[open] summary::after{content:"–";}
.page-products .p-drawer summary .label-mono{
  color:var(--gold);
  font-size:11px;
  letter-spacing:.14em;
  flex:0 0 auto;
}
.page-products .p-drawer[open]{
  border-color:rgba(240,138,138,.5);
  box-shadow:0 10px 26px rgba(14,42,71,.08);
}
.page-products .p-drawer summary:focus-visible{
  outline:2px solid var(--tide);
  outline-offset:-2px;
}
.page-products .p-drawer__body{
  padding:0 16px 16px;
  border-top:1px solid var(--p-line);
  padding-top:12px;
}
.page-products .p-drawer__body p{
  font-size:13.5px;
  line-height:1.8;
}
.page-products .p-drawer__body ul{
  margin:10px 0 0;
  padding-left:18px;
  list-style:disc;
}
.page-products .p-drawer__body li{
  font-size:13.5px;
  line-height:1.8;
  margin-bottom:4px;
}

/* ---------- visit ---------- */
.page-products .p-visit{
  padding-top:48px;
}
.page-products .p-visit__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
.page-products .p-table__scroll{
  overflow-x:auto;
  border-radius:12px;
  border:1px solid var(--p-line);
  background:var(--paper);
  box-shadow:0 10px 26px rgba(14,42,71,.07);
}
.page-products .p-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  font-size:13.5px;
  line-height:1.65;
}
.page-products .p-table thead th{
  background:var(--night);
  color:var(--gold);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.12em;
  text-align:left;
  padding:11px 14px;
  font-weight:500;
  white-space:nowrap;
}
.page-products .p-table tbody th{
  text-align:left;
  padding:12px 14px;
  color:var(--deep);
  font-weight:600;
  border-bottom:1px solid var(--p-line);
  background:rgba(247,244,239,.6);
  white-space:nowrap;
}
.page-products .p-table tbody td{
  padding:12px 14px;
  border-bottom:1px solid var(--p-line);
  color:var(--ink);
}
.page-products .p-table tbody tr:last-child th,
.page-products .p-table tbody tr:last-child td{
  border-bottom:none;
}
.page-products .p-visit__note{
  margin-top:12px;
  font-size:13px;
  line-height:1.75;
  color:var(--night);
  border-left:2px solid var(--coral);
  padding-left:12px;
}
.page-products .p-visit__media{
  margin:0;
}
.page-products .p-visit__media .media__frame{
  border-radius:var(--p-radius);
  overflow:hidden;
  border:1px solid var(--p-line);
  box-shadow:var(--p-shadow);
}
.page-products .p-visit__media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-products .p-visit__media .media__caption{
  font-size:12px;
  color:var(--tide);
  margin-top:8px;
  line-height:1.6;
}

/* ---------- packs ---------- */
.page-products .p-packs{
  padding-top:48px;
}
.page-products .p-packs__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
.page-products .p-drawer--pack summary{
  font-family:var(--serif);
  font-size:17px;
  letter-spacing:.05em;
}
.page-products .p-packs__media{
  margin:0;
}
.page-products .p-packs__media .media__frame{
  border-radius:var(--p-radius);
  overflow:hidden;
  border:1px solid rgba(216,166,87,.5);
  box-shadow:var(--p-shadow);
  background:var(--mist);
}
.page-products .p-packs__media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-products .p-packs__media .media__caption{
  font-size:12px;
  color:var(--tide);
  margin-top:8px;
  line-height:1.6;
}

/* ---------- flow ---------- */
.page-products .p-flow{
  padding-top:48px;
}
.page-products .p-flow__band{
  margin:0 0 20px;
  border-radius:var(--p-radius);
  overflow:hidden;
  background:var(--deep);
}
.page-products .p-flow__band img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  aspect-ratio:2/1;
  opacity:.92;
}
.page-products .p-flow__svg{
  display:block;
  width:100%;
  height:auto;
  max-height:70px;
  margin:0 0 6px;
}
.page-products .p-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.page-products .p-steps__item{
  background:var(--paper);
  border:1px solid var(--p-line);
  border-radius:12px;
  padding:16px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.page-products .p-steps__item:hover,
.page-products .p-steps__item:focus-within{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(14,42,71,.11);
  border-color:rgba(240,138,138,.5);
}
.page-products .p-steps__num{
  color:var(--tide);
  font-size:10.5px;
  letter-spacing:.2em;
  margin-bottom:6px;
}
.page-products .p-steps__item h3{
  font-family:var(--serif);
  font-size:17px;
  letter-spacing:.06em;
  color:var(--deep);
  margin:0 0 8px;
  font-weight:600;
}
.page-products .p-steps__item p{
  font-size:13.5px;
  line-height:1.75;
  color:var(--ink);
}
.page-products .p-flow__cta{
  margin-top:24px;
  padding:22px 20px;
  border-radius:var(--p-radius);
  background:linear-gradient(140deg, var(--night) 0%, var(--deep) 100%);
  color:var(--mist);
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:center;
}
.page-products .p-flow__copy h3{
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:.05em;
  color:var(--paper);
  margin:0 0 8px;
  font-weight:600;
}
.page-products .p-flow__copy p{
  font-size:13.5px;
  line-height:1.8;
  color:rgba(247,244,239,.82);
}
.page-products .p-flow__acts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* ---------- more ---------- */
.page-products .p-more{
  padding-top:52px;
}
.page-products .p-more__item{
  display:block;
  background:var(--paper);
  border:1px solid var(--p-line);
  border-top:3px solid var(--coral);
  border-radius:12px;
  padding:18px 16px 20px;
  text-decoration:none;
  color:var(--ink);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.page-products .p-more__item:hover,
.page-products .p-more__item:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(14,42,71,.12);
  outline:none;
}
.page-products .p-more__item .label-mono{
  color:var(--gold);
  font-size:10.5px;
  letter-spacing:.18em;
}
.page-products .p-more__item h3{
  font-family:var(--serif);
  font-size:16.5px;
  line-height:1.5;
  letter-spacing:.04em;
  color:var(--deep);
  margin:8px 0 6px;
  font-weight:600;
}
.page-products .p-more__item p{
  font-size:13.5px;
  line-height:1.7;
  color:var(--ink);
}

/* ---------- responsive ---------- */
@media (min-width:640px){
  .page-products .p-hero{padding:34px 30px 26px;}
  .page-products .p-hero h1{font-size:38px;}
  .page-products .p-paths{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-products .p-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-products .p-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-products .section{padding-top:56px;}
}

@media (min-width:900px){
  .page-products .p-hero{padding:44px 44px 30px;}
  .page-products .p-hero__grid{
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
    gap:42px;
    align-items:start;
  }
  .page-products .p-hero h1{font-size:44px;line-height:1.3;}
  .page-products .p-hero__desc{font-size:16px;}
  .page-products .p-head h2{font-size:32px;}
  .page-products .p-head__lead{font-size:15.5px;}
  .page-products .p-index__list{flex-wrap:wrap;overflow:visible;}
  .page-products .p-ios__grid{grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start;}
  .page-products .p-ios__aside{position:sticky;top:96px;}
  .page-products .p-library__grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;align-items:start;}
  .page-products .p-library__media{position:sticky;top:96px;}
  .page-products .p-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-products .p-visit__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:32px;align-items:start;}
  .page-products .p-packs__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:34px;align-items:start;}
  .page-products .p-packs__media{position:sticky;top:96px;}
  .page-products .p-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
  .page-products .p-flow__cta{grid-template-columns:minmax(0,1fr) auto;padding:26px 30px;}
  .page-products .p-flow__svg{max-height:86px;}
}

@media (prefers-reduced-motion:reduce){
  .page-products .p-index__link,
  .page-products .p-drawer,
  .page-products .p-steps__item,
  .page-products .p-more__item{
    transition:none;
  }
  .page-products .p-steps__item:hover,
  .page-products .p-more__item:hover{
    transform:none;
  }
}
<<<END>>>
