ws-feature-carousel{display:block;min-width:0;margin:16px 0 24px}.ws-feature{border:1px solid var(--line);border-radius:var(--ws-component-carousel-radius);overflow:hidden;background:var(--paper)}.ws-feature-stage{display:grid}.ws-feature-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:var(--ws-component-carousel-min-height);color:#F4F1EB;background:var(--ws-component-carousel-indigo)}.ws-feature-slide[hidden]{display:none}.ws-feature-slide[data-theme=espresso]{background:var(--ws-component-carousel-espresso)}.ws-feature-copy{padding:var(--ws-component-carousel-padding);position:relative;z-index:1;align-self:center;min-width:0}.ws-feature-label{font-size:0.875rem;color:#e7be78;margin:0 0 16px}.ws-feature-copy h2{font-family:var(--serif);font-size:clamp(26px,2.5vw,36px);font-weight:400;line-height:1.35;margin:0 0 18px;max-width:22ch;overflow-wrap:break-word}.ws-feature-body{font-size:0.9375rem;line-height:1.8;max-width:48ch;margin:16px 0 24px}.ws-feature-copy .btn{white-space:normal;text-align:left}.ws-feature-art{position:relative;min-width:0;display:grid;place-items:center;overflow:hidden}.ws-feature-art .ws-ornament{position:absolute;inset:0;width:100%;height:100%}.ws-feature-art img{width:100%;height:100%;object-fit:cover;object-position:55% center}.ws-feature-art[data-family=read]{padding:20px;background:#3b2a20}.ws-feature-art[data-family=read] img{border-radius:70px 4px 4px 4px}.ws-feature-art[data-family=write]{padding:24px}.ws-feature-art[data-family=write] img{border-radius:4px;transform:rotate(-3deg);height:88%;box-shadow:0 10px 24px #0004}.ws-feature-meta{display:flex;align-items:center;gap:8px;margin:-8px 0 18px;color:#e7be78;font-size:0.8125rem}.ws-feature-meta .icon{width:16px;height:16px;flex:0 0 auto}.ws-feature-controls{padding:8px 16px;display:flex;align-items:center;gap:12px;min-height:60px}.ws-feature-count{font-size:0.8125rem;color:var(--muted);min-width:40px}.ws-feature-pickers{display:flex;gap:0;margin:auto}.ws-feature-pickers button{border:0;background:transparent;min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:6px}.ws-feature-pickers button span{position:relative;display:block;width:8px;height:8px;background:var(--muted);border-radius:10px;overflow:hidden;transition:width .2s}.ws-feature-pickers button span i{position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left center}.ws-feature-pickers button[aria-pressed=true] span{width:40px;background:#c9c2b6}.ws-feature-arrows{display:flex;gap:4px}.ws-feature-back{transform:rotate(180deg)}.ws-feature-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ws-feature-controls button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.ws-feature-controls button:hover{background:var(--ws-semantic-surface-subtle)}
/* Phones — the shelf (docs/PHONE-PASS.md › Home and cards): cards in a scroll-snap row with the next one peeking 16px,
   no card taller than 40svh, the art a 72px thumbnail beside the text, the meta a text line, real 44px controls. */
@media(max-width:700px){ws-feature-carousel{margin:12px 0 20px}.ws-feature{border:0;background:none;overflow:visible;border-radius:0}
  .ws-feature-stage{display:flex;gap:10px;margin:0 -18px;padding:0 18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:18px;scrollbar-width:none}.ws-feature-stage::-webkit-scrollbar{display:none}
  /* Every card is the same height and its action sits on the floor of the card: the body's row takes the slack, so a
     short card does not raise its button and a long one does not push it off. */
  .ws-feature-slide{flex:0 0 calc(100% - 8px);grid-area:auto;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:0 14px;align-items:start;min-height:0;height:40svh;max-height:40svh;padding:16px;border-radius:14px;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}
  /* The thumbnail sits beside the label and title; the body, meta and action take the card's full width beneath. */
  .ws-feature-copy{display:contents}.ws-feature-art{grid-column:1;grid-row:1/3;height:72px;width:72px;order:0;border-radius:12px;padding:0!important;background:none!important}.ws-feature-label{grid-column:2;grid-row:1}.ws-feature-copy h2{grid-column:2;grid-row:2}.ws-feature-body{grid-column:1/-1;grid-row:3;margin-top:12px}.ws-feature-meta{grid-column:1/-1;grid-row:4;align-self:end}.ws-feature-copy .btn{grid-column:1/-1;grid-row:5;justify-self:start;align-self:end}.ws-feature-art img{object-position:center 40%;border-radius:12px!important;transform:none!important;height:100%!important;width:100%!important;box-shadow:none!important}
  .ws-feature-label{font-size:0.8125rem;margin:0 0 4px}.ws-feature-copy h2{font-size:1.25rem;line-height:1.3;margin:0 0 8px;max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ws-feature-body{font-size:0.875rem;line-height:1.5;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ws-feature-meta{margin:0 0 12px;font-size:0.8125rem}
  .ws-feature-copy .btn{min-height:44px}
  .ws-feature-controls{padding:6px 0 0;flex-wrap:wrap;row-gap:0;min-height:0}.ws-feature-pickers{order:3;flex-basis:100%;justify-content:center}.ws-feature-pickers button{min-width:44px}.ws-feature-arrows{margin-left:auto}}
