.ct-open { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem var(--gutter); align-items: center; }
.ct-open__pic { width: min(100%, 34rem); justify-self: end; }
.ct-open__btn { margin-top: 2rem; }
.ct-info { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 1.5rem 3rem; }
.ct-info dt { color: var(--muted); font-size: var(--step-small); }
.ct-info dd { font-weight: 500; }
@media (max-width: 52em) { .ct-open { grid-template-columns: 1fr; } .ct-open__pic { width: 72vw; justify-self: start; } .ct-info { grid-template-columns: 1fr; gap: 1rem; } }

/* ---------- desk ---------- */
.desk { padding-block: clamp(4rem, 9vw, 8rem); }
.desk__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); row-gap: 3rem; align-items: start; }
.desk__side { grid-column: 1 / 6; display: grid; gap: 2rem; position: sticky; top: 6.5rem; }
.desk__side > [data-for] { display: grid; gap: 1.25rem; }
.desk__side > [data-for][hidden] { display: none; }
.desk__tabs .chip { font-size: 1rem; min-height: 3rem; padding: 0 1.4rem; }
.guide { display: grid; gap: 0.75rem; margin-top: 0.5rem; }
.guide li { display: flex; gap: 0.75rem; align-items: baseline; }
.guide .dot { color: var(--accent); }
.desk__forms { grid-column: 7 / 13; }
.desk__form { display: grid; gap: 1.5rem; }
.desk__form fieldset { border: 0; padding: 0; margin: 0; }
.ar-body { min-height: 16rem; }
.ar-src { min-height: 6rem; }
.ar-count { margin-top: 0.4rem; text-align: right; }
.check { display: flex; gap: 0.75rem; align-items: center; cursor: pointer; font-weight: 500; }
.check input { width: 1.4rem; height: 1.4rem; accent-color: var(--navy); flex: none; }
.desk__foot { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.desk__done { display: grid; gap: 1.5rem; justify-items: start; }
.desk__done-mark { width: 6rem; background: var(--accent); position: relative; }
.desk__done-mark::after { content: ""; position: absolute; inset: 55% 0 0; background: var(--navy); }
@media (max-width: 52em) { .desk__side, .desk__forms { grid-column: 1 / -1; } .desk__side { position: static; } }

/* ---------- picks ---------- */
.picks { padding-top: var(--section); }
.picks__top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 3rem; }
.picks__count { color: var(--muted); }
.picks__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem var(--gutter); }
.picks__list li { display: grid; gap: 1.5rem; align-content: start; }
.picks__list li:nth-child(2) { margin-top: 5rem; }
.picks__list li:nth-child(3) { margin-top: 10rem; }
.picks__list .port { width: 72%; }
.picks__list li:nth-child(2) .port { width: 86%; }
.picks__list li:nth-child(3) .port { width: 60%; }
.picks__list b { display: block; font-size: var(--step-lead); line-height: 1.3; }
.picks__list p { margin-top: 0.5rem; max-width: 30ch; }
.picks__list .small { display: block; margin-top: 0.75rem; }
@media (max-width: 52em) { .picks__list { grid-template-columns: 1fr; } .picks__list li:nth-child(n) { margin-top: 0; grid-template-columns: 6rem 1fr; } .picks__list li:nth-child(n) .port { width: 100%; } }

/* ---------- faq ---------- */
.faq { padding-top: var(--section); padding-bottom: var(--section); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); row-gap: 2.5rem; }
.faq > h2 { grid-column: 1 / 5; }
.faq__list { grid-column: 6 / 13; display: grid; gap: 8px; }
.faq details { background: var(--surface); border-radius: 2rem; padding: 0 1.75rem; transition: background-color var(--t-hover) ease; }
.faq details[open] { background: var(--surface-2); }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 4.5rem; font-size: 1.125rem; font-weight: 500; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; width: 0.75rem; height: 0.75rem; border-radius: 50%; background: var(--accent); transition: transform var(--t-ui) var(--ease-out); }
.faq details[open] summary::after { transform: scale(1.6); }
.faq details p { padding-bottom: 1.75rem; max-width: 52ch; }
@media (max-width: 52em) { .faq > h2, .faq__list { grid-column: 1 / -1; } }
