/* ══════════════════════════════════════════════════════════════════════════
   css/first-visit-guide.css — /first-visit-guide  (prefix fw-fv)

   A patient guide to a first fertility visit. Its heart is the checklist:
   everything to bring, group by group, ticked off as you pack, with a ring
   that fills as you go, and a print view of the list alone. Around it: the
   day as a step-by-step timeline, questions to ask beside
   a photograph, answers in two columns and a centred invitation.

   A sibling of /how-ivf-works with its own grammar (a horizontal
   step-by-step track, not a vertical line; a checklist, not a team). House rules kept: bright grounds with
   soft brand light; no max-width; colour only from :root; structure from
   space and fade rules, no boxed cards; photographs whole and
   square-cornered, no shadow; icon discs, pills, buttons and tick boxes
   round; 28px / 14px gutters; type in vh, released at 1024px and below.
   ══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   00 · TOKENS & PRIMITIVES
   ══════════════════════════════════════════════════════════════ */

.fw-fv-page{
	--pad:28px;
	--ink:var(--dk-d);
	--line:color-mix(in srgb, var(--dk) 9%, transparent);
	--fade-x:linear-gradient(90deg, transparent, var(--line) 8%, var(--line) 92%, transparent);
	--sec:clamp(34px, 6vh, 72px);
	--gap:clamp(24px, 4vw, 76px);
	--ease:cubic-bezier(.22,1,.36,1);
	--ease-soft:cubic-bezier(.16,1,.3,1);
	--ac:var(--pk);--ac-ink:var(--pk-ink);--ac-l:var(--pk-l);
	background:var(--wh);
	-webkit-text-size-adjust:100%
}
.fw-fv-ac--pk{--ac:var(--pk);--ac-ink:var(--pk-ink);--ac-l:var(--pk-l)}
.fw-fv-ac--bl{--ac:var(--bl);--ac-ink:var(--bl-ink);--ac-l:var(--bl-l)}
.fw-fv-ac--mt{--ac:var(--mt);--ac-ink:var(--mt-ink);--ac-l:var(--mt-l)}
.fw-fv-ac--pu{--ac:var(--pu);--ac-ink:var(--pu-ink);--ac-l:var(--pu-l)}
.fw-fv-ac--co{--ac:var(--co);--ac-ink:var(--co-ink);--ac-l:var(--co-l)}

.fw-fv{display:block;position:relative}
.fw-fv-page em{font-family:var(--ff);font-style:normal}
.fw-fv .fw-ico{stroke-width:1.6}

.fw-fv-sec{position:relative;padding:var(--sec) var(--pad)}
.fw-fv-sec + .fw-fv-sec::before,
.fw-fv-close::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:var(--fade-x)}

.fw-fv-head{display:grid;gap:8px;margin-bottom:clamp(18px, 3vh, 30px)}
.fw-fv-head--row{grid-template-columns:auto minmax(0, 1fr);align-items:end;column-gap:clamp(20px, 3vw, 48px)}
.fw-fv-head--row .fw-fv-sub{justify-self:end;text-align:right}
.fw-fv-head--c{justify-items:center;text-align:center}
.fw-fv-h2{margin:0;font-family:var(--ff);font-size:clamp(25px, 4vh, 40px);font-weight:700;line-height:1.12;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.fw-fv-h3{margin:0;font-family:var(--ff);font-size:clamp(18px, 2.6vh, 22px);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.fw-fv-sub{margin:0;font-size:clamp(15px, 2vh, 17px);line-height:1.6;color:var(--g6);text-wrap:pretty}
.fw-fv-kicker{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pk-dd)}
.fw-fv-kicker .fw-ico{width:18px;height:18px}

.fw-fv-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:clamp(46px, 5.8vh, 54px);padding:0 26px;border:0;border-radius:100px;cursor:pointer;
	font-family:var(--ff);font-size:15px;font-weight:600;white-space:nowrap;color:var(--wh);background:linear-gradient(100deg, var(--pk), var(--pk-d) 45%, var(--pk-dd));box-shadow:var(--pk-glow);
	transition:box-shadow .3s, transform .25s var(--ease), background .25s
}
.fw-fv-btn i{font-size:14px}
.fw-fv-btn:hover{color:var(--wh);box-shadow:var(--pk-glow-lg);transform:translateY(-1px)}
.fw-fv-btn--ghost{color:var(--ink);background:var(--wh);box-shadow:inset 0 0 0 1.5px var(--line)}
.fw-fv-btn--ghost:hover{color:var(--bl-ink);background:var(--bl-wash);box-shadow:inset 0 0 0 1.5px var(--bl-ring)}
.fw-fv-act{display:flex;flex-wrap:wrap;gap:12px 14px;margin-top:clamp(18px, 3vh, 28px)}
.fw-fv-link{padding:0;border:0;background:none;cursor:pointer;font-family:var(--ff);font-size:14px;font-weight:600;color:var(--g6);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.fw-fv-link:hover{color:var(--pk-dd)}

.fw-fv-disc{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;color:var(--ac-ink);background:var(--ac-l)}
.fw-fv-disc .fw-ico{width:21px;height:21px}
.fw-fv-dot{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;color:var(--bl-ink);background:var(--bl-l)}
.fw-fv-dot .fw-ico{width:19px;height:19px}

.fw-fv-pic{margin:0;justify-self:center;width:fit-content;max-width:100%}
.fw-fv-pic img{display:block;height:clamp(230px, 40vh, 420px);width:auto;max-width:100%;aspect-ratio:1600 / 1073}
.fw-fv img.lazy{opacity:0;transition:opacity .6s var(--ease-soft)}
.fw-fv img.lazy-loaded,
.fw-fv img.lazy-error{opacity:1}
.fw-fv-split{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:var(--gap);align-items:center}

.fw-fv-anim [data-fv-reveal]{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease-soft), transform .8s var(--ease-soft)}
.fw-fv-anim [data-fv-reveal].is-in{opacity:1;transform:none}

/* ══════════════════════════════════════════════════════════════
   01 · WALK IN READY
   ══════════════════════════════════════════════════════════════ */

.fw-fv-mast__grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:var(--gap);align-items:center}
.fw-fv .fw-fv-h1{margin:clamp(8px, 1.6vh, 16px) 0 0;font-size:clamp(34px, 6vh, 60px);line-height:1.04;letter-spacing:-.035em;background:linear-gradient(100deg, var(--dk-d) 30%, var(--bl-d) 70%, var(--pk-d));-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.fw-fv-lede{margin:clamp(10px, 1.8vh, 16px) 0 0;font-size:clamp(16px, 2.2vh, 19px);line-height:1.55;color:var(--g6);text-wrap:pretty}
.fw-fv-lede b{font-weight:600;color:var(--pk-dd)}
.fw-fv-trust{position:relative;display:flex;flex-wrap:wrap;gap:8px 20px;margin:clamp(20px, 3.4vh, 32px) 0 0;padding:clamp(14px, 2.2vh, 18px) 0 0;list-style:none}
.fw-fv-trust::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, var(--line), transparent)}
.fw-fv-trust li{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--g7)}
.fw-fv-trust .bi{font-size:15px;color:var(--bl-d)}
.fw-fv-mast__fig{justify-self:end;margin:0;background:var(--g1)}
.fw-fv-mast__fig img{display:block;height:clamp(250px, 46vh, 470px);width:auto;max-width:100%;aspect-ratio:1600 / 1073}

/* ══════════════════════════════════════════════════════════════
   02 · THE DAY, STEP BY STEP
   An infographic timeline: a track of round icon stops, each with
   its number, name and how long it takes, joined by one line that
   fills in pink up to the chosen step (--fill, 0 to 1, set by the
   script).
   Under it, one step at a time: the photograph whole beside the
   words, with Back and Next. Without the script every step shows,
   one under another, and the track is a contents row.
   ══════════════════════════════════════════════════════════════ */

.fw-fv-day{background:linear-gradient(180deg, var(--wh), var(--bl-wash))}
.fw-fv-flow{--fill:0;--disc:clamp(58px, 8vh, 72px)}

.fw-fv-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0, 1fr);margin:0 0 clamp(22px, 3.6vh, 36px);padding:0;list-style:none}
/* The line runs from the first disc's centre to the last one's. */
.fw-fv-track::before,
.fw-fv-track::after{content:"";position:absolute;top:calc(var(--disc) / 2 - 2px);height:4px;border-radius:4px;pointer-events:none}
.fw-fv-track::before{left:calc(50% / var(--cols, 6));right:calc(50% / var(--cols, 6));background:repeating-linear-gradient(90deg, var(--bl-l) 0 10px, transparent 10px 16px)}
.fw-fv-track::after{left:calc(50% / var(--cols, 6));width:calc((100% - 100% / var(--cols, 6)) * var(--fill));background:linear-gradient(90deg, var(--bl), var(--pk));transition:width .5s var(--ease)}
.fw-fv-track:has(> li:nth-child(2):last-child){--cols:2}
.fw-fv-track:has(> li:nth-child(3):last-child){--cols:3}
.fw-fv-track:has(> li:nth-child(4):last-child){--cols:4}
.fw-fv-track:has(> li:nth-child(5):last-child){--cols:5}
.fw-fv-track:has(> li:nth-child(6):last-child){--cols:6}
.fw-fv-track:has(> li:nth-child(7):last-child){--cols:7}
.fw-fv-track:has(> li:nth-child(8):last-child){--cols:8}
.fw-fv-track > li{position:relative;z-index:1;display:flex;justify-content:center}

.fw-fv-stop{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0 6px;border:0;background:none;cursor:pointer;font-family:var(--ff);text-align:center;color:inherit}
.fw-fv-stop__disc{
	position:relative;display:grid;place-items:center;width:var(--disc);height:var(--disc);margin-bottom:4px;border-radius:50%;
	color:var(--bl-ink);background:var(--wh);box-shadow:inset 0 0 0 2px var(--bl-l), 0 0 0 6px var(--bl-wash);
	transition:background .35s var(--ease), color .3s, box-shadow .35s, transform .35s var(--ease)
}
.fw-fv-stop__disc .fw-ico{width:44%;height:44%}
.fw-fv-stop__disc em{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:11.5px;font-weight:700;color:var(--wh);background:var(--bl);box-shadow:0 0 0 3px var(--wh)}
.fw-fv-stop b{font-size:clamp(13.5px, 1.9vh, 15px);font-weight:700;line-height:1.3;color:var(--g7);transition:color .25s;text-wrap:balance}
.fw-fv-stop small{font-size:12.5px;font-weight:500;color:var(--g5)}
.fw-fv-stop:hover .fw-fv-stop__disc{transform:translateY(-2px)}
.fw-fv-stop.is-done .fw-fv-stop__disc{color:var(--pk-ink);background:var(--pk-l);box-shadow:inset 0 0 0 2px var(--pk-l), 0 0 0 6px var(--bl-wash)}
.fw-fv-stop.is-done .fw-fv-stop__disc em{background:var(--pk)}
.fw-fv-stop.is-on .fw-fv-stop__disc{color:var(--wh);background:linear-gradient(135deg, var(--pk), var(--pk-dd));box-shadow:0 0 0 6px var(--bl-wash), var(--pk-glow);transform:scale(1.08)}
.fw-fv-stop.is-on .fw-fv-stop__disc em{color:var(--pk-dd);background:var(--wh);box-shadow:0 0 0 3px var(--pk-l)}
.fw-fv-stop.is-on b{color:var(--ink)}
.fw-fv-stop:focus-visible{outline:none}
.fw-fv-stop:focus-visible .fw-fv-stop__disc{outline:2px solid var(--pk);outline-offset:4px}

.fw-fv-stage{display:grid;gap:clamp(26px, 4vh, 40px)}
.fw-fv-scene{display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:center;gap:clamp(24px, 3.6vw, 64px)}
.fw-fv-scene.is-nopic{grid-template-columns:minmax(0, 1fr)}
.fw-fv-scene__pic{margin:0;background:var(--g1)}
.fw-fv-scene__pic img{display:block;height:clamp(220px, 38vh, 380px);width:auto;max-width:100%;aspect-ratio:3 / 2}
.fw-fv-scene__say{display:grid;justify-items:start;gap:10px}
.fw-fv-scene__step{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pk-dd)}
.fw-fv-scene__step span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:13px;letter-spacing:0;color:var(--wh);background:linear-gradient(135deg, var(--pk), var(--pk-dd))}
.fw-fv-scene .fw-fv-h3{font-size:clamp(24px, 3.8vh, 34px);letter-spacing:-.03em}
.fw-fv-when{display:inline-flex;align-items:center;gap:7px;margin:0;padding:4px 12px 4px 10px;border-radius:100px;font-size:12.5px;font-weight:600;color:var(--bl-ink);background:var(--bl-l)}
.fw-fv-scene__text{margin:4px 0 0;font-size:clamp(15px, 2.1vh, 17px);line-height:1.65;color:var(--g7);text-wrap:pretty}
.fw-fv-tip{display:flex;align-items:flex-start;gap:11px;margin:4px 0 0;font-size:14.5px;line-height:1.5;color:var(--g7)}
.fw-fv-tip > span:first-child{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;color:var(--mt-ink);background:var(--mt-l)}
.fw-fv-tip .fw-ico{width:16px;height:16px}
.fw-fv-tip b{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mt-ink)}
.fw-fv-scene__nav{display:none;flex-wrap:wrap;gap:10px 12px;margin-top:clamp(8px, 1.6vh, 14px)}

/* With the script: one step at a time, faded in. */
.fw-fv-flow.is-live .fw-fv-stage{display:block}
.fw-fv-flow.is-live .fw-fv-scene{display:none}
.fw-fv-flow.is-live .fw-fv-scene.is-on{display:grid;animation:fw-fv-in .45s var(--ease-soft)}
.fw-fv-flow.is-live .fw-fv-scene__nav{display:flex}
@keyframes fw-fv-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ══════════════════════════════════════════════════════════════
   03 · WHAT TO BRING
   The side (heading, ring, print) stretches to the groups' height,
   so both columns end together. Groups flow in two columns; each
   item is a round tick box, its label and why it helps.
   ══════════════════════════════════════════════════════════════ */

.fw-fv-bring{background:linear-gradient(180deg, var(--pk-wash), var(--wh) 75%)}
.fw-fv-bring__grid{display:grid;grid-template-columns:minmax(0, .62fr) minmax(0, 1.38fr);gap:var(--gap);align-items:stretch}
.fw-fv-bring__side{display:flex;flex-direction:column;align-items:flex-start}
.fw-fv-ring{position:relative;display:grid;place-items:center;width:clamp(150px, 22vh, 200px);aspect-ratio:1;margin:clamp(6px, 1vh, 10px) 0 0}
.fw-fv-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fw-fv-ring circle{fill:none;stroke-width:9}
.fw-fv-ring__bg{stroke:var(--pk-l)}
.fw-fv-ring__fg{stroke:var(--pk);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .6s var(--ease)}
.fw-fv-ring p{position:relative;display:grid;justify-items:center;margin:0;line-height:1}
.fw-fv-ring b{font-size:clamp(36px, 6vh, 50px);font-weight:700;color:var(--ink)}
.fw-fv-ring span{margin-top:4px;font-size:13px;font-weight:600;color:var(--g6)}
.fw-fv-bring.is-all .fw-fv-ring__fg{stroke:var(--mt)}
.fw-fv-ring__say{margin:clamp(12px, 2vh, 18px) 0 0;font-size:15px;line-height:1.5;color:var(--g7)}
.fw-fv-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:auto;padding-top:clamp(16px, 2.6vh, 24px)}

.fw-fv-groups{columns:2;column-gap:clamp(24px, 3.4vw, 56px)}
.fw-fv-group{break-inside:avoid;margin:0 0 clamp(16px, 2.6vh, 24px);padding:0;border:0;min-width:0}
.fw-fv-group legend{display:flex;align-items:center;gap:12px;float:none;width:auto;margin:0 0 4px;padding:0;font-size:16px;font-weight:700;color:var(--ink)}
.fw-fv-group ul{margin:0;padding:0;list-style:none}
.fw-fv-group li{position:relative}
.fw-fv-group li + li::before{content:"";position:absolute;left:54px;right:0;top:0;height:1px;background:linear-gradient(90deg, var(--line), transparent)}

.fw-fv-check{position:relative;display:grid;grid-template-columns:42px minmax(0, 1fr);align-items:start;gap:12px;margin:0;padding:clamp(8px, 1.3vh, 11px) 0;cursor:pointer}
.fw-fv-check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.fw-fv-check__box{justify-self:center;display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:50%;font-size:14px;color:transparent;background:var(--wh);box-shadow:inset 0 0 0 1.5px var(--ac);transition:background .25s var(--ease), color .2s, transform .25s var(--ease)}
.fw-fv-check__text{display:grid;gap:2px}
.fw-fv-check__text b{font-size:15px;font-weight:600;line-height:1.4;color:var(--ink);transition:color .25s}
.fw-fv-check__text small{font-size:13.5px;line-height:1.5;color:var(--g6)}
.fw-fv-check:hover .fw-fv-check__box{transform:scale(1.08)}
.fw-fv-check input:focus-visible + .fw-fv-check__box{outline:2px solid var(--ac);outline-offset:3px}
.fw-fv-check input:checked + .fw-fv-check__box{color:var(--wh);background:var(--ac)}
.fw-fv-check input:checked ~ .fw-fv-check__text b{color:var(--g5);text-decoration:line-through;text-decoration-color:var(--ac)}

/* ══════════════════════════════════════════════════════════════
   04 · QUESTIONS TO ASK
   ══════════════════════════════════════════════════════════════ */

.fw-fv-asks{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0 clamp(18px, 2.4vw, 36px);margin:0;padding:0;list-style:none}
.fw-fv-asks li{position:relative;display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:center;gap:14px;padding:clamp(10px, 1.7vh, 15px) 0;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink)}
.fw-fv-asks li::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, var(--line), transparent)}

/* ══════════════════════════════════════════════════════════════
   05 · ANSWERS — two columns of questions under a centred head.
   ══════════════════════════════════════════════════════════════ */

.fw-fv-faq{background:linear-gradient(180deg, var(--wh), var(--pu-wash) 60%, var(--wh))}
.fw-fv-qs{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0 clamp(24px, 3.4vw, 56px);align-items:start}
.fw-fv-q{position:relative}
.fw-fv-q::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--fade-x)}
.fw-fv-q summary{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:center;gap:16px;padding:clamp(13px, 2.1vh, 18px) 4px;cursor:pointer;list-style:none}
.fw-fv-q summary::-webkit-details-marker{display:none}
.fw-fv-q__t{font-size:16.5px;font-weight:600;line-height:1.35;color:var(--ink);transition:color .2s}
.fw-fv-q summary > i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:13px;color:var(--g6);background:var(--wh);box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s var(--ease), color .25s, background .25s}
.fw-fv-q summary:hover .fw-fv-q__t{color:var(--pu-ink)}
.fw-fv-q p{margin:0;padding:0 48px clamp(14px, 2.2vh, 20px) 4px;font-size:15px;line-height:1.65;color:var(--g6)}
.fw-fv-q[open] .fw-fv-q__t{color:var(--pu-ink)}
.fw-fv-q[open] summary > i{transform:rotate(45deg);color:var(--wh);background:var(--pu);box-shadow:none}

/* ══════════════════════════════════════════════════════════════
   06 · WHEN YOU ARE READY — a centred invitation.
   ══════════════════════════════════════════════════════════════ */

.fw-fv-close{
	position:relative;display:grid;justify-items:center;gap:10px;padding:clamp(40px, 7vh, 84px) var(--pad);text-align:center;overflow:hidden;
	background:
		radial-gradient(40% 90% at 15% 100%, color-mix(in srgb, var(--pk) 10%, transparent), transparent 70%),
		radial-gradient(40% 90% at 85% 0%, color-mix(in srgb, var(--bl) 10%, transparent), transparent 70%),
		var(--g0)
}
.fw-fv-close .fw-fv-h2{font-size:clamp(26px, 4.4vh, 44px)}
.fw-fv-close .fw-fv-act{justify-content:center;margin-top:clamp(8px, 1.6vh, 14px)}
.fw-fv-close__more{display:inline-flex;align-items:center;gap:8px;margin:6px 0 0;font-size:14px;color:var(--g6)}
.fw-fv-close__more .bi{color:var(--mt-d)}
.fw-fv-close__more a{font-weight:600;color:var(--bl-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bl-ring)}

/* ══════════════════════════════════════════════════════════════
   07 · RELEASED HEIGHTS, AND THE PHONE
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 1024px){
	.fw-fv-mast__grid,.fw-fv-split,.fw-fv-bring__grid{grid-template-columns:minmax(0, 1fr)}
	.fw-fv-mast__fig{justify-self:stretch}
	.fw-fv-mast__fig img,.fw-fv-pic img{width:100%;height:auto}
	.fw-fv-pic{width:100%}
	.fw-fv-scene{grid-template-columns:minmax(0, 1fr)}
	.fw-fv-scene__pic{justify-self:start}
	.fw-fv-head--row{grid-template-columns:minmax(0, 1fr)}
	.fw-fv-head--row .fw-fv-sub{justify-self:start;text-align:left}
	.fw-fv-bring__side{display:grid;grid-template-columns:auto minmax(0, 1fr);column-gap:24px;align-items:center}
	.fw-fv-bring__side .fw-fv-head{grid-column:1 / -1}
	.fw-fv-ring{grid-row:span 2}
	.fw-fv-tools{margin-top:0;padding-top:8px}
}

@media (max-width: 768px){
	.fw-fv-page{--pad:14px}
	.fw-fv .fw-fv-h1{font-size:clamp(32px, 9vw, 42px)}
	/* The track becomes a swipe row of stops; the line runs under them. */
	.fw-fv-track{grid-auto-columns:112px;overflow-x:auto;margin-inline:calc(var(--pad) * -1);padding:6px var(--pad) 10px;scroll-snap-type:x mandatory;scrollbar-width:none}
	.fw-fv-track::-webkit-scrollbar{display:none}
	.fw-fv-track::before,.fw-fv-track::after{display:none}
	.fw-fv-track{isolation:isolate}
	.fw-fv-track > li{z-index:auto;scroll-snap-align:center}
	.fw-fv-track > li + li::before{content:"";position:absolute;z-index:-1;left:-50%;right:50%;top:calc(var(--disc) / 2 + 4px);height:3px;background:var(--bl-l)}
	.fw-fv-scene__pic img{width:100%;height:auto}
	.fw-fv-scene__nav{width:100%}
	.fw-fv-scene__nav .fw-fv-btn{flex:1 1 auto;white-space:normal;text-align:center}
	.fw-fv-groups{columns:1}
	.fw-fv-asks,.fw-fv-qs{grid-template-columns:minmax(0, 1fr)}
	.fw-fv-bring__side{grid-template-columns:minmax(0, 1fr);justify-items:center;text-align:center}
	.fw-fv-bring__side .fw-fv-head{justify-items:center}
	.fw-fv-ring{grid-row:auto}
	.fw-fv-tools{justify-content:center}
	.fw-fv-close .fw-fv-act{width:100%}
	.fw-fv-close .fw-fv-act .fw-fv-btn{width:100%}
}

/* The printed page is the checklist alone. */
@media print{
	.fw-fv-page #wrapper > :not(main),
	.fw-fv-page #wrapper ~ *,
	.fw-fv > :not(.fw-fv-bring),
	.fw-fv-tools,.fw-fv-ring,.fw-fv-ring__say,.fw-fv-bring .fw-fv-sub{display:none !important}
	.fw-fv-bring{padding:0;background:none}
	.fw-fv-bring__grid{display:block}
	.fw-fv-check__box{box-shadow:inset 0 0 0 1.5px var(--dk)}
}

@media (prefers-reduced-motion: reduce){
	.fw-fv *,.fw-fv *::before,.fw-fv *::after{transition:none !important}
	.fw-fv-anim [data-fv-reveal]{opacity:1;transform:none}
}
