:root{
  --tutorial-step:#dbe7a3;
  /* Half of previous on-screen size (504 → 252). */
  --shot-width:252px;
  --shot-pad:5px;
  --shot-frame:#c5cac8;
  --shot-frame-edge:#8a9190;
}
.breadcrumbs{padding-top:22px;font-size:15px;color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:center;gap:14px}
.breadcrumbs li+li:before{content:'/';color:var(--muted)}
.breadcrumbs a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px}
.breadcrumbs [aria-current]{color:var(--ink)}
@media(max-width:760px){.breadcrumbs{font-size:14px}}
.tutorial-hero{
  padding:28px 0 28px;
  max-width:920px;
}
.tutorial-hero .eyebrow{margin-bottom:18px}
.tutorial-series-nav{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:16px 24px;
  flex-wrap:wrap;
  margin:0 0 8px;
  padding:0;
}
.tutorial-series-nav a{
  font-size:14px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  white-space:nowrap;
}
.tutorial-footer-nav{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:28px 0 10px;
  border-top:1px solid var(--line);
}
.tutorial-footer-nav a{
  font-size:14px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
}
.tutorial-hero h1{
  font-size:clamp(42px,6vw,68px);
  letter-spacing:-2.4px;
  line-height:1.05;
  margin-bottom:16px;
}
.tutorial-hero p{
  font-size:18px;
  max-width:46ch;
  margin-bottom:28px;
}
.tutorial-links{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.tutorial-links a{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--proof-panel);
  transition:transform .18s,border-color .18s;
}
.tutorial-links a:hover{
  transform:translateY(-2px);
  border-color:var(--category);
}
.tutorial-links .num{
  font-family:var(--serif);
  font-style:italic;
  font-size:28px;
  color:var(--category);
  width:42px;
}
.tutorial-links strong{display:block;font-size:18px;font-weight:700;margin-bottom:4px}
.tutorial-links span{display:block;font-size:14px;color:var(--muted)}
.tutorial-links .go{font-size:22px;color:var(--muted)}

.tutorial-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:48px;
  align-items:start;
  padding-block:36px 80px;
}
.tutorial-layout > .breadcrumbs{
  grid-column:1 / -1;
  padding-top:0;
}
.tutorial-layout > .tutorial-series-nav{
  grid-column:1 / -1;
  margin:0 0 4px;
}
.tutorial-side{
  position:sticky;
  /* Clear the sticky .site-header (min-height ~80px) so this does not slide under it. */
  top:96px;
  z-index:10;
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px;
  background:var(--proof-panel);
}
.tutorial-side .eyebrow{margin-bottom:10px;font-size:10px}
.tutorial-side ol{margin:0;padding-left:18px}
.tutorial-side li{margin:8px 0;font-size:13px;color:var(--muted)}
.tutorial-side a{color:var(--ink);text-decoration:none}
.tutorial-side a:hover{text-decoration:underline;text-underline-offset:3px}
.tutorial-side .next{
  display:inline-flex;
  margin-top:16px;
  font-size:13px;
  font-weight:700;
  gap:8px;
}

.step{
  display:grid;
  grid-template-columns:calc(var(--shot-width) + (var(--shot-pad) * 2)) minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:28px 0;
  border-top:1px solid var(--line);
  overflow:visible;
}
.step:first-of-type{border-top:0;padding-top:8px}
.step-copy .kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  font-weight:700;
  color:var(--category);
  margin-bottom:12px;
}
.step-copy h2{
  font-size:clamp(26px,3vw,34px);
  letter-spacing:-1px;
  margin-bottom:12px;
}
.step-copy p{font-size:16px;max-width:46ch}
.phone-frame{
  display:grid;
  justify-items:center;
  width:100%;
  max-width:calc(var(--shot-width) + (var(--shot-pad) * 2) + 14px);
  margin:0;
  padding:0;
  background:transparent;
  overflow:visible;
}
.phone-frame::before{content:none;display:none}
.phone-body{
  position:relative;
  box-sizing:border-box;
  width:100%;
  max-width:calc(var(--shot-width) + (var(--shot-pad) * 2));
  padding:var(--shot-pad);
  border-radius:24px;
  background:
    linear-gradient(145deg,#f2f4f3 0%,#d5dad8 18%,#aeb4b2 42%,#8a9190 68%,#c7ccc9 100%);
  box-shadow:
    inset 0 1px 0 #ffffffaa,
    inset 0 -1px 0 #00000022,
    inset 0 0 0 1px #ffffff33,
    0 12px 26px #00000040;
  transform-origin:center center;
  transition:box-shadow .22s ease;
}
.phone-body img{
  display:block;
  width:100%;
  max-width:var(--shot-width);
  height:auto;
  margin:0 auto;
  border-radius:19px;
  background:transparent;
  object-fit:contain;
  object-position:center center;
  box-shadow:
    0 0 0 1px #ffffff88,
    0 0 0 2px #b8bebc;
}
.phone-body{cursor:zoom-in}
.phone-body .mag{
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  place-items:center;
  margin:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
}
.phone-body .mag::before{
  content:'';
  width:44px;
  height:44px;
  border-radius:50%;
  box-shadow:0 6px 18px #00000055;
  background:
    #0d0f0ecc
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f4ef' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16.5 16.5L21 21'/%3E%3C/svg%3E")
    center/22px 22px no-repeat;
}
.phone-zoom-overlay{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:16px;
  background:transparent;
}
.phone-zoom-overlay[hidden]{display:none!important}
.phone-zoom-stage{
  position:relative;
  display:grid;
  place-items:center;
  width:min(96vw,calc((100dvh - 32px) * 840 / 1688));
  max-height:calc(100dvh - 32px);
}
.phone-zoom-clone{
  width:100%;
  max-width:none;
  height:auto;
  max-height:calc(100dvh - 32px);
  pointer-events:none;
  box-shadow:
    inset 0 1px 0 #ffffffaa,
    inset 0 -1px 0 #00000022,
    inset 0 0 0 1px #ffffff33,
    0 18px 48px #00000066;
}
.phone-zoom-clone img{
  width:100%;
  max-width:none;
  height:auto;
  max-height:none;
}
.phone-zoom-clone .phone-btn-silent{
  left:-4px;width:4px;height:22px;
}
.phone-zoom-clone .phone-btn-vol-up,
.phone-zoom-clone .phone-btn-vol-down{
  left:-5px;width:5px;height:42px;
}
.phone-zoom-clone .phone-btn-power{
  right:-5px;width:5px;height:64px;
}
.phone-zoom-dismiss{
  position:absolute;
  inset:0;
  z-index:2001;
  display:grid;
  place-items:center;
  margin:0;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
}
.phone-zoom-dismiss span{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:50%;
  background:#0d0f0ecc;
  color:#f2f4ef;
  font:700 30px/1 system-ui,sans-serif;
  box-shadow:0 6px 18px #00000055;
}
html.phone-zoom-open,
html.phone-zoom-open body{
  overflow:hidden;
  overscroll-behavior:none;
}
@media(hover:none), (pointer:coarse){
  .phone-body .mag{opacity:.92}
}
.phone-btn{
  position:absolute;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,#9aa19f 0%,#e8ecea 48%,#7f8684 100%);
  box-shadow:
    inset 0 1px 0 #ffffffcc,
    inset 0 -1px 0 #00000033,
    0 1px 2px #00000040;
}
.phone-btn-silent{
  left:-2.5px;
  top:16%;
  width:2.5px;
  height:14px;
  border-radius:1px 2px 2px 1px;
}
.phone-btn-vol-up{
  left:-3px;
  top:24%;
  width:3px;
  height:26px;
  border-radius:1px 2px 2px 1px;
}
.phone-btn-vol-down{
  left:-3px;
  top:36%;
  width:3px;
  height:26px;
  border-radius:1px 2px 2px 1px;
}
.phone-btn-power{
  right:-3px;
  top:28%;
  width:3px;
  height:39px;
  border-radius:2px 1px 1px 2px;
  background:
    linear-gradient(270deg,#9aa19f 0%,#e8ecea 48%,#7f8684 100%);
}
.phone-frame figcaption{
  font-size:11px;
  color:var(--muted);
  text-align:center;
  margin-top:10px;
}

@media(hover:hover) and (pointer:fine){
  .phone-body:hover .mag{opacity:1}
}

@media(max-width:900px){
  .tutorial-layout{grid-template-columns:1fr;gap:24px}
  .tutorial-side{position:static}
  .step{grid-template-columns:min(calc(var(--shot-width) + (var(--shot-pad) * 2)),46vw) minmax(0,1fr);gap:20px}
}
@media(max-width:640px){
  .tutorial-series-nav{gap:12px 18px}
  .tutorial-hero{padding-top:28px}
  .tutorial-hero h1{letter-spacing:-1.8px}
  .step{grid-template-columns:1fr;gap:16px}
  .phone-frame{max-width:min(calc(var(--shot-width) + (var(--shot-pad) * 2)),100%)}
  .tutorial-links a{grid-template-columns:auto 1fr;gap:12px}
  .tutorial-links .go{display:none}
}
