/* fsh-app.css */
/* The demo's App look, 30 October 2026 (app.tsx). Only drawn when the visitor has switched to App; the Standard look uses
   none of it, apart from the switch in the demo line. Colours from the demo's own: deep teal, teal, orange with dark words. */
.fsh-demo{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.fsh-view{display:inline-flex;background:rgba(255,255,255,.14);border-radius:999px;padding:2px;flex:none}
.fsh-view a{color:#fff;text-decoration:none;font-weight:700;font-size:12px;line-height:1;padding:6px 12px;border-radius:999px}
.fsh-view a[aria-current]{background:#fde68a;color:#111827}

body:has(.fshapp-top){background:#fff;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
html:has(.fshapp-cb:checked),html:has(dialog[open]){overflow:hidden}
.fshapp-i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fshapp-cb{position:fixed;opacity:0;width:1px;height:1px;left:0;top:0;pointer-events:none;margin:0}
.fsh-demo.fshapp-demo{justify-content:space-between;text-align:left;font-size:11px;line-height:1.35;padding:6px 12px;flex-wrap:nowrap}
.fshapp-kick{margin:0;font:700 11px/1.2 'Source Sans 3',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--fsh-teal)}
.fshapp-kick--light{color:#86c9dc}

/* The top bar and the tabs */
.fshapp-top{position:sticky;top:0;z-index:50;pointer-events:none}.fshapp-top>*{pointer-events:auto}
.fshapp-bar{display:flex;align-items:center;gap:2px;height:56px;padding:0 6px;background:var(--fsh-deep);color:#fff;border-bottom:2px solid rgba(255,255,255,.32);box-sizing:border-box;box-shadow:0 8px 24px -14px rgba(0,0,0,.6)}
.fshapp-bar__t{flex:1;min-width:0;margin:0 0 0 6px;font:700 19px/1 Archivo,'Source Sans 3',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fshapp-bar__t--home{margin-left:10px}
.fshapp-bar__b{position:relative;display:grid;place-items:center;flex:none;width:40px;height:44px;border-radius:14px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fshapp-bar__b:active{background:rgba(255,255,255,.14)}
.fshapp-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 11px/18px 'Source Sans 3',sans-serif;text-align:center}
/* The tabs: a floating bar of their own (Duncan, 30 Oct: "green on green and you don't see it … a floating nav bar with the tabs inside, so that it's got its own identity"). */
.fshapp-tabs{display:flex;gap:4px;margin:8px 10px 0;padding:5px;border-radius:18px;background:#fff;box-shadow:0 14px 30px -12px rgba(8,34,47,.55),0 0 0 1px rgba(8,34,47,.08)}
.fshapp-tabs a{flex:1;min-width:0;text-align:center;padding:10px 2px;border-radius:13px;color:var(--fsh-ink);font-weight:700;font-size:13px;line-height:1.1;text-decoration:none;transition:background .2s,color .2s}
.fshapp-tabs a[aria-current]{background:var(--fsh-teal);color:#fff}
.fsh-notices.fshapp-notices{background:transparent;border:0;padding:10px 12px 0;margin:0}
.fsh-notices.fshapp-notices p{position:relative;display:block;max-width:none;margin:0;padding:12px 40px 12px 14px;border-radius:16px;background:#fff7ed;color:#7c2d12;font-size:13px;line-height:1.4;box-shadow:0 10px 26px -18px rgba(0,0,0,.5)}
.fsh-notices.fshapp-notices p .fsh-notices__words{display:block}
.fsh-notices.fshapp-notices p .fsh-notices__words b{display:inline;padding:0;border-radius:0;background:none;color:inherit;font:700 13px/1.4 'Source Sans 3',sans-serif;letter-spacing:0;text-transform:none}
.fsh-notices.fshapp-notices p .fsh-notices__go{display:inline-block;margin-top:4px;font-weight:700;color:#7c2d12}
.fsh-notices.fshapp-notices p .fsh-notices__x{position:absolute;top:6px;right:4px;display:grid;place-items:center;width:34px;height:34px;margin:0}

/* The bottom bar */
.fshapp-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:flex-end;background:#fff;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #e2e8f0;box-shadow:0 -10px 30px -18px rgba(15,23,42,.35)}
.fshapp-tabbar>a,.fshapp-tabbar>label{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;color:#64748b;font:600 11px/1 'Source Sans 3',sans-serif;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fshapp-tabbar>a[aria-current]{color:var(--fsh-teal)}
.fshapp-tabbar__n{position:relative;display:block}.fshapp-tabbar__n .fshapp-count{top:-7px;right:-11px}
.fshapp-float{flex:1;position:relative;display:flex;justify-content:center}
.fshapp-tabbar__plus{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:4px 0;border:0;background:none;color:var(--fsh-ink);font:600 11px/1 'Source Sans 3',sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fshapp-tabbar__plus span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--fsh-cta);color:#1c1917;transition:transform .2s}.fshapp-tabbar__plus svg{width:16px;height:16px;stroke-width:3}
.fshapp-float[data-open] .fshapp-tabbar__plus span{transform:rotate(45deg)}
.fshapp-float__list{position:absolute;right:6px;bottom:calc(100% + 24px);display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.fshapp-float__list>span{opacity:0;transform:translateY(16px);transition:opacity .2s,transform .2s}
.fshapp-float[data-open] .fshapp-float__list{pointer-events:auto}.fshapp-float[data-open] .fshapp-float__list>span{opacity:1;transform:none}
.fshapp-float__list a,.fshapp-float__list button{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px 0 18px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:var(--fsh-ink);font:600 14px/1 'Source Sans 3',sans-serif;text-decoration:none;white-space:nowrap;box-shadow:0 12px 28px -10px rgba(3,17,24,.45);cursor:pointer}
.fshapp-float__notice{padding:14px;margin-bottom:10px;border-radius:18px;background:var(--fsh-paper,#f2f6f7)}.fshapp-float__notice p{margin:6px 0 10px;font-size:14px;color:#475569}
.fshapp-tabbar__up{color:var(--fsh-ink)!important}
.fshapp-tabbar__up span{display:grid;place-items:center;width:54px;height:54px;margin-top:-28px;border-radius:50%;background:var(--fsh-cta);color:#1c1917;box-shadow:0 12px 22px -10px rgba(242,107,29,.9);border:4px solid #fff;box-sizing:content-box}

/* Shades and panels that need no script */
.fshapp-shade{position:fixed;inset:0;z-index:70;background:rgba(3,17,24,.55);opacity:0;pointer-events:none;transition:opacity .25s}
#fshapp-menu:checked~.fshapp-shade--menu,#fshapp-book:checked~.fshapp-shade--book,#fshapp-touch:checked~.fshapp-shade--touch{opacity:1;pointer-events:auto}
.fshapp-grip{display:block;width:40px;height:4px;border-radius:9px;background:#cbd5e1;margin:0 auto}

.fshapp-rise{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-radius:26px 26px 0 0;padding:12px 16px calc(16px + env(safe-area-inset-bottom));transform:translateY(105%);visibility:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility .28s}
#fshapp-book:checked~.fshapp-rise--book,#fshapp-touch:checked~.fshapp-rise--touch{transform:none;visibility:visible}
.fshapp-rise__t{font:700 20px/1.2 Archivo,sans-serif;text-align:center;margin:14px 0 14px}
.fshapp-rise a{display:flex;align-items:center;gap:14px;padding:12px;margin-bottom:8px;border-radius:18px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);text-decoration:none}
.fshapp-rise a span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--fsh-teal);color:#fff}
.fshapp-rise a b{font-size:16px}.fshapp-rise small{display:block;font-weight:500;font-size:13px;color:#64748b;margin-top:2px}
.fshapp-rise__x{display:block;text-align:center;margin-top:6px;padding:14px;border-radius:999px;border:1.5px solid #cbd5e1;font-weight:700;cursor:pointer}

.fshapp-side{position:fixed;top:0;bottom:0;left:0;z-index:80;width:80%;max-width:340px;display:flex;flex-direction:column;background:#fff;transform:translateX(-102%);visibility:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility .28s;box-shadow:20px 0 50px -20px rgba(0,0,0,.5)}
#fshapp-menu:checked~.fshapp-side{transform:none;visibility:visible}
.fshapp-side__top{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;padding:26px 16px 20px;color:#fff;background:radial-gradient(420px 200px at 90% 0,rgba(103,212,238,.35),transparent 70%),linear-gradient(160deg,var(--fsh-teal),var(--fsh-deep))}
.fshapp-side__top a{color:#d7ebf2;font-size:13px;text-decoration:none}
.fshapp-side__logo{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.16);margin-bottom:6px}.fshapp-side__logo .fshapp-i{width:30px;height:30px}
.fshapp-side__name{margin:0 0 3px;font:700 18px/1.2 Archivo,sans-serif}
.fshapp-side__nav{flex:1;overflow-y:auto;padding:8px}
.fshapp-side__nav a{display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;color:var(--fsh-ink);font-weight:600;font-size:15px;text-decoration:none}
.fshapp-side__nav .fshapp-i{color:var(--fsh-teal)}
.fshapp-side__nav a[aria-current]{background:#e5f0f4;color:var(--fsh-deep)}
.fshapp-side__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e2e8f0;font-size:12px;color:#64748b}.fshapp-side__foot p{margin:0}
.fshapp-side__foot .fsh-view{background:#e2e8f0}.fshapp-side__foot .fsh-view a{color:var(--fsh-ink)}.fshapp-side__foot .fsh-view a[aria-current]{background:var(--fsh-teal);color:#fff}

.fshapp-find{position:fixed;inset:0;z-index:90;background:#fff;padding:10px 14px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .18s}
#fshapp-search:checked~.fshapp-find{opacity:1;visibility:visible}
.fshapp-find__f{display:flex;align-items:center;gap:6px;margin-bottom:22px;color:var(--fsh-ink)}
.fshapp-find__f input{flex:1;min-width:0;padding:13px 16px;border:0;border-radius:16px;background:var(--fsh-paper,#f2f6f7);font-size:16px;color:inherit}
.fshapp-find nav{margin-top:8px}.fshapp-find nav a{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid #e2e8f0;color:var(--fsh-ink);font-weight:600;text-decoration:none}.fshapp-find nav .fshapp-i{color:var(--fsh-teal)}

/* Buttons */
.fshapp-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:700 15px/1 'Source Sans 3',sans-serif;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fshapp-btn:disabled{opacity:.45}
.fshapp-btn--line{background:#fff;color:var(--fsh-ink);box-shadow:inset 0 0 0 1.5px #cbd5e1}

/* A page's top */
.fshapp-ph{background:#fff}
.fshapp-ph__pic{position:relative;height:250px;background:var(--fsh-deep);overflow:hidden}
.fshapp-ph__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-ph__pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,34,47,.1) 15%,rgba(8,34,47,.9) 74%)}
.fshapp-ph__on{position:absolute;z-index:1;left:18px;right:18px;bottom:40px;color:#fff}
.fshapp-ph__on .fshapp-kick--light{color:#fff}
.fshapp-ph__on h1{margin:6px 0 0;font:800 32px/1.05 Archivo,sans-serif;color:#fff}
.fshapp-ph__card{position:relative;z-index:2;margin:-26px 14px 0;padding:16px 18px;border-radius:24px;background:#fff;box-shadow:0 20px 40px -24px rgba(15,23,42,.45)}
.fshapp-ph__card p{margin:0;font-size:15px;line-height:1.55;color:#475569}
.fshapp-ph__btns{display:flex;gap:8px;margin-top:14px}

/* Sections */
.fshapp-sec{padding:28px 16px 30px;scroll-margin-top:124px}
.fshapp-sec--paper{background:var(--fsh-paper,#f2f6f7)}
.fshapp-h{margin-bottom:16px}.fshapp-h h2{margin:5px 0 0;font:800 26px/1.1 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-h__sub{margin:7px 0 0;font-size:14px;line-height:1.5;color:#64748b}
.fshapp-ticks{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px;font-size:14px;color:#334155}
.fshapp-ticks li{display:flex;gap:10px;align-items:flex-start;line-height:1.4}.fshapp-ticks .fshapp-i{width:20px;height:20px;padding:3px;box-sizing:border-box;border-radius:50%;background:#dcfce7;color:#15803d;stroke-width:3}
.fshapp-small{font-size:12px;line-height:1.45;color:#64748b;margin:10px 0 0}

/* The swipe row of courses */
.fshapp-swipe{position:relative;display:flex;gap:12px;margin:0 -16px;padding:4px 16px 14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;scrollbar-width:none}
.fshapp-swipe::-webkit-scrollbar{display:none}
.fshapp-course{flex:0 0 84%;scroll-snap-align:start;display:flex;flex-direction:column;padding:0;border:0;border-radius:24px;background:#fff;text-align:left;color:var(--fsh-ink);overflow:hidden;box-shadow:0 18px 34px -24px rgba(15,23,42,.55),0 0 0 1px #e8eef0;cursor:pointer}
.fshapp-course__pic{position:relative;display:block;height:160px;background:var(--fsh-deep)}
.fshapp-course__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-course__pic em{position:absolute;top:10px;left:10px;padding:5px 10px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 11px/1 'Source Sans 3',sans-serif}
.fshapp-course__b{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;flex:1}
.fshapp-course__b small{font:700 11px/1.2 'Source Sans 3',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--fsh-teal)}
.fshapp-course__b b{font:700 19px/1.15 Archivo,sans-serif}
.fshapp-course__by{font-size:13px;color:#64748b}
.fshapp-course__go{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px}
.fshapp-course__go strong{font:800 20px/1 Archivo,sans-serif}.fshapp-course__go s{font-weight:500;font-size:14px;color:#94a3b8;margin-right:6px}
.fshapp-course__go i{font-style:normal;padding:9px 16px;border-radius:999px;background:#e5f0f4;color:var(--fsh-deep);font-weight:700;font-size:13px}
.fshapp-dots{display:flex;justify-content:center;gap:6px}.fshapp-dots i{width:7px;height:7px;border-radius:9px;background:#cbd5e1;transition:width .2s,background .2s}.fshapp-dots i[data-on]{width:22px;background:var(--fsh-teal)}

.fshapp-tiles2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fshapp-tiles2 .fshapp-course{flex:none;min-width:0}
.fshapp-tiles2 .fshapp-course__pic{height:112px}
.fshapp-tiles2 .fshapp-course__b{padding:10px 11px 11px;gap:3px}.fshapp-tiles2 .fshapp-course__b b{font-size:15px}.fshapp-tiles2 .fshapp-course__b small{font-size:10px}.fshapp-tiles2 .fshapp-course__by{font-size:12px}
.fshapp-tiles2 .fshapp-course__go{padding-top:8px}.fshapp-tiles2 .fshapp-course__go strong{font-size:17px}.fshapp-tiles2 .fshapp-course__go i{padding:7px 10px;font-size:12px}

/* The month */
.fshapp-cal{padding:14px;border-radius:24px;background:#fff;box-shadow:0 18px 34px -26px rgba(15,23,42,.55),0 0 0 1px #e8eef0}
.fshapp-cal__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.fshapp-cal__h b{font:700 17px/1 Archivo,sans-serif}
.fshapp-cal__h button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);cursor:pointer}.fshapp-cal__h button:disabled{opacity:.3}
.fshapp-cal__g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.fshapp-cal__dow{font:700 11px/2.2 'Source Sans 3',sans-serif;color:#94a3b8}
.fshapp-cal__g button{aspect-ratio:1;border:0;border-radius:12px;background:transparent;color:#94a3b8;font:500 14px/1 'Source Sans 3',sans-serif;padding:0}
.fshapp-cal__g button[data-today]{box-shadow:inset 0 0 0 1.5px #94a3b8}
.fshapp-cal__g button[data-st]{font-weight:800;cursor:pointer}
[data-st=free]{--st-bg:#dcfce7;--st-c:#166534}[data-st=few]{--st-bg:#fef3c7;--st-c:#92400e}[data-st=full]{--st-bg:#e2e8f0;--st-c:#64748b}
.fshapp-cal__g button[data-st]{background:var(--st-bg);color:var(--st-c)}.fshapp-cal__g button[data-st=full]{text-decoration:line-through}
.fshapp-cal__key{display:flex;gap:14px;margin-top:12px;font-size:12px;color:#64748b}
.fshapp-cal__key span{display:flex;align-items:center;gap:6px}.fshapp-cal__key span::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--st-bg)}
.fshapp-next{margin:20px 0 10px}
.fshapp-rows{display:grid;gap:8px}
.fshapp-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px 10px 10px;border:0;border-radius:18px;background:#fff;text-align:left;color:var(--fsh-ink);box-shadow:0 0 0 1px #e8eef0;cursor:pointer}
.fshapp-row__d{display:grid;place-items:center;align-content:center;flex:none;width:50px;height:50px;border-radius:14px;background:var(--fsh-deep);color:#fff}.fshapp-row__d b{font:800 18px/1 Archivo,sans-serif}.fshapp-row__d small{font-size:11px;margin-top:2px;color:#b7d3dd}
.fshapp-row__w{flex:1;min-width:0}.fshapp-row__w b{display:block;font-size:14px;line-height:1.25}.fshapp-row__w small{display:block;margin-top:3px;font-size:12px;color:#64748b}
.fshapp-row em{font:800 15px/1 Archivo,sans-serif;font-style:normal}
.fshapp-slot{display:grid;gap:4px;padding:14px;border-radius:18px;background:var(--fsh-paper,#f2f6f7)}.fshapp-slot b{font-size:16px}.fshapp-slot small{font-size:13px;color:#64748b}
.fshapp-slot div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:14px;font-weight:600}.fshapp-slot div span{flex:1}.fshapp-slot .fshapp-btn{flex:none;min-height:42px}

/* Booking */
.fshapp-choose{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fshapp-tile{display:flex;flex-direction:column;gap:12px;padding:16px;border:0;border-radius:22px;background:var(--fsh-deep);color:#fff;text-align:left;font:700 16px/1.2 Archivo,sans-serif;cursor:pointer}
.fshapp-tile span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--fsh-cta);color:#1c1917}
.fshapp-tile--2{background:#fff;color:var(--fsh-ink);box-shadow:0 0 0 1.5px #cbd5e1}.fshapp-tile--2 span{background:#e5f0f4;color:var(--fsh-deep)}
.fshapp-sticky{position:fixed;left:8px;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:55;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:999px;background:var(--fsh-deep);color:#fff;box-shadow:0 16px 30px -14px rgba(0,0,0,.65);animation:fshappUp .3s both}
.fshapp-sticky span{flex:1;min-width:0}.fshapp-sticky small{display:block;font-size:11px;color:#b7d3dd}.fshapp-sticky b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fshapp-sticky .fshapp-btn{flex:none;min-height:42px}
@keyframes fshappUp{from{transform:translateY(16px);opacity:0}}

.fshapp-toast{position:fixed;left:10px;right:10px;top:10px;z-index:95;display:flex;gap:10px;align-items:flex-start;padding:12px 8px 15px 12px;border-radius:18px;background:#fff;color:var(--fsh-ink);box-shadow:0 24px 50px -18px rgba(0,0,0,.55);overflow:hidden;animation:fshappDown .3s both}
.fshapp-toast p{flex:1;margin:0;font-size:13px;line-height:1.4}.fshapp-toast__i{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#dcfce7;color:#15803d}.fshapp-toast button{border:0;background:none;color:#64748b;padding:2px;cursor:pointer}
.fshapp-toast>i{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--fsh-teal);transform-origin:left;animation:fshappLine 8s linear both}
@keyframes fshappDown{from{transform:translateY(-16px);opacity:0}}@keyframes fshappLine{to{transform:scaleX(0)}}

/* A rising sheet: the browser's dialog, so it sits over everything */
.fshapp-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:90dvh;margin:0;padding:0;border:0;border-radius:26px 26px 0 0;background:#fff;color:var(--fsh-ink);overflow:hidden;box-sizing:border-box}
.fshapp-sheet[open]{animation:fshappRise .28s cubic-bezier(.2,.8,.2,1) both}
.fshapp-sheet::backdrop{background:rgba(3,17,24,.55)}
@keyframes fshappRise{from{transform:translateY(40%);opacity:.3}}
.fshapp-sheet__in{display:flex;flex-direction:column;max-height:90dvh;outline:none}
.fshapp-sheet__h{position:relative;flex:none;padding:12px 0 8px}
.fshapp-sheet__x{position:absolute;z-index:2;top:8px;right:10px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#334155;box-shadow:0 4px 12px -4px rgba(15,23,42,.5);cursor:pointer}.fshapp-sheet__x .fshapp-i{width:18px;height:18px}
.fshapp-sheet__b{flex:1;min-height:0;overflow-y:auto;padding:4px 18px 18px;font-size:15px;line-height:1.55;color:#334155}
.fshapp-sheet__f .fshapp-btn{padding:0 10px;white-space:nowrap;font-size:14px}
.fshapp-sheet__f{flex:none;display:flex;gap:8px;padding:10px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e2e8f0}
.fshapp-sheet__pic{width:100%;height:170px;object-fit:cover;border-radius:18px;margin-bottom:14px;display:block}
.fshapp-sheet__t{margin:4px 0 6px;font:800 23px/1.15 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-sheet__m{margin:0;font-size:13px;color:#64748b}
.fshapp-sheet .fshapp-ticks{margin-top:12px}
.fshapp-rich>:first-child{margin-top:0}.fshapp-rich{margin-top:8px}
.fshapp-prog{height:6px;border-radius:9px;background:#e2e8f0;overflow:hidden;margin:2px 28px 10px 0}.fshapp-prog i{display:block;height:100%;border-radius:9px;background:var(--fsh-teal);transition:width .25s}
.fshapp-alert{margin:8px 0;padding:10px 12px;border-radius:12px;background:#fee2e2;color:#991b1b;font-size:14px}
.fshapp-chosen{margin:8px 0 12px;padding:10px 12px;border-radius:14px;background:#e5f0f4;color:var(--fsh-deep);font-size:13px}.fshapp-chosen b{display:block}
.fshapp-steps{margin-top:12px}
.fshapp-pick{position:relative;display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;box-shadow:inset 0 0 0 1.5px #e2e8f0;cursor:pointer}
.fshapp-pick input{position:absolute;opacity:0;pointer-events:none}
.fshapp-pick:has(input:checked){box-shadow:inset 0 0 0 2px var(--fsh-teal);background:#eff6f9}
.fshapp-pick:has(input:focus-visible){outline:3px solid var(--fsh-cta);outline-offset:2px}
.fshapp-pick[data-off]{opacity:.5;cursor:not-allowed}
.fshapp-pick span{flex:1;min-width:0}.fshapp-pick b{display:block;font-size:15px;line-height:1.25;color:var(--fsh-ink)}.fshapp-pick small{display:block;font-size:12px;color:#64748b;margin-top:2px}
.fshapp-pick em{font-style:normal;font-weight:800;font-size:14px;text-align:right;color:var(--fsh-ink)}
.fshapp-more{border:0;background:none;color:var(--fsh-teal);font-weight:700;padding:10px;cursor:pointer}
.fshapp-f{display:block;margin-bottom:12px;font-weight:600;font-size:14px;color:var(--fsh-ink)}
.fshapp-f input,.fshapp-f textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:13px 14px;border:0;border-radius:14px;background:var(--fsh-paper,#f2f6f7);font:400 16px/1.4 'Source Sans 3',sans-serif;color:inherit}
.fshapp-f input:focus,.fshapp-f textarea:focus{outline:2px solid var(--fsh-teal)}

/* Questions */
.fshapp-faq{display:grid;gap:8px}
.fshapp-faq details{border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0}
.fshapp-faq summary{display:flex;align-items:center;gap:12px;padding:15px 16px;font-weight:700;font-size:15px;line-height:1.3;color:var(--fsh-ink);cursor:pointer;list-style:none}
.fshapp-faq summary::-webkit-details-marker{display:none}
.fshapp-faq summary span{flex:1}
.fshapp-faq summary i{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:#e5f0f4}
.fshapp-faq summary i::before,.fshapp-faq summary i::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;border-radius:2px;background:var(--fsh-deep);transition:transform .2s}
.fshapp-faq summary i::after{transform:rotate(90deg)}.fshapp-faq details[open] summary i::after{transform:none}
.fshapp-faq__a{padding:0 16px 16px;font-size:14px;line-height:1.55;color:#475569}.fshapp-faq__a>:first-child{margin-top:0}.fshapp-faq__a>:last-child{margin-bottom:0}

/* The Workshop's ladder, times and extras */
.fshapp-sec--deep{background:radial-gradient(500px 260px at 90% 0,rgba(103,212,238,.2),transparent 70%),var(--fsh-deep)}
.fshapp-h--light h2{color:#fff}.fshapp-h--light .fshapp-kick{color:#86c9dc}.fshapp-h--light .fshapp-h__sub{color:#b7d3dd}
.fshapp-ladder{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fshapp-ladder::before{content:"";position:absolute;left:37px;top:26px;bottom:26px;width:2px;background:rgba(255,255,255,.22)}
.fshapp-ladder button{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px 10px 10px;border:0;border-radius:20px;background:#fff;color:var(--fsh-ink);text-align:left;box-shadow:0 16px 30px -22px #000;cursor:pointer}
.fshapp-ladder__pic{flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;background:var(--fsh-paper,#f2f6f7);box-shadow:0 0 0 3px #e5f0f4}.fshapp-ladder__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-ladder__w{flex:1;min-width:0}.fshapp-ladder__w b{display:block;font:700 16px/1.2 Archivo,sans-serif}.fshapp-ladder__w em{margin-left:7px;padding:3px 7px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 10px/1 'Source Sans 3',sans-serif;font-style:normal;vertical-align:2px}
.fshapp-ladder__w small{display:block;margin-top:3px;font-size:12px;color:#64748b}
.fshapp-ladder strong{font:800 17px/1.1 Archivo,sans-serif;text-align:right;max-width:84px}
.fshapp-sheet__k{margin-top:14px}
.fshapp-tile--wide{flex-direction:row;align-items:center;width:100%;gap:14px}.fshapp-tile--wide small{display:block;margin-top:4px;font:500 13px/1.3 'Source Sans 3',sans-serif;color:#b7d3dd}
.fshapp-cal--flat{padding:0;box-shadow:none}
.fshapp-cal__g button[data-picked]{background:var(--fsh-teal);color:#fff}
.fshapp-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.fshapp-times button{padding:12px 0;border:0;border-radius:12px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);font:700 14px/1 'Source Sans 3',sans-serif;cursor:pointer}
.fshapp-times button[aria-pressed=true]{background:var(--fsh-teal);color:#fff}
button.fshapp-pick{width:100%;border:0;background:#fff;text-align:left;font:inherit;color:inherit}
.fshapp-pick[data-on]{box-shadow:inset 0 0 0 2px var(--fsh-teal);background:#eff6f9}
.fshapp-tick{flex:none;width:22px;height:22px;border-radius:7px;box-shadow:inset 0 0 0 1.5px #cbd5e1}
.fshapp-pick[data-on] .fshapp-tick{background:var(--fsh-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/15px no-repeat;box-shadow:none}
.fshapp-step{display:flex;align-items:center;justify-content:space-between;padding:10px 4px}.fshapp-step span{display:flex;align-items:center;gap:12px}.fshapp-step button{width:42px;height:42px;border:0;border-radius:13px;background:var(--fsh-paper,#f2f6f7);font-size:21px;font-weight:700;color:var(--fsh-ink)}
/* A video */
.fshapp-video{display:block;color:var(--fsh-ink);text-decoration:none;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 34px -24px rgba(15,23,42,.55),0 0 0 1px #e8eef0;padding-bottom:14px}
.fshapp-videos{display:grid;gap:12px}
.fshapp-video__pic{position:relative;display:block;aspect-ratio:16/9;background:var(--fsh-deep);margin-bottom:12px}.fshapp-video__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-video__pic i{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--fsh-cta)}
.fshapp-video__pic i::after{content:"";position:absolute;left:23px;top:18px;border-left:16px solid #1c1917;border-top:11px solid transparent;border-bottom:11px solid transparent}
.fshapp-video__pic small{position:absolute;right:10px;bottom:10px;padding:4px 8px;border-radius:8px;background:rgba(0,0,0,.72);color:#fff;font:700 12px/1 'Source Sans 3',sans-serif}
.fshapp-video b{display:block;padding:0 16px;font:700 18px/1.2 Archivo,sans-serif}
.fshapp-video__t{display:block;padding:5px 16px 0;font-size:14px;line-height:1.5;color:#64748b}

/* Rides as tickets, and people */
.fshapp-tickets{display:grid;gap:12px;margin-top:18px}
.fshapp-ticket{display:block;width:100%;padding:0;border:0;border-radius:24px;background:#fff;text-align:left;color:var(--fsh-ink);overflow:hidden;box-shadow:0 18px 34px -24px rgba(15,23,42,.55),0 0 0 1px #e8eef0;cursor:pointer}
.fshapp-ticket__pic{position:relative;display:block;height:150px;background:var(--fsh-deep)}.fshapp-ticket__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-ticket__date{position:absolute;left:12px;top:12px;display:grid;place-items:center;width:52px;height:56px;border-radius:15px;background:#fff;color:var(--fsh-teal);font:700 11px/1 'Source Sans 3',sans-serif;text-transform:uppercase;box-shadow:0 10px 20px -10px rgba(0,0,0,.5)}.fshapp-ticket__date b{font:800 22px/1 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-ticket__pic em{position:absolute;right:12px;top:12px;padding:5px 10px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 11px/1 'Source Sans 3',sans-serif}
.fshapp-ticket__b{display:block;padding:14px 16px 16px}.fshapp-ticket__b>b{display:block;font:700 19px/1.15 Archivo,sans-serif}.fshapp-ticket__b>small{display:block;margin-top:4px;font-size:13px;color:#64748b}
.fshapp-ticket__bar{display:block;height:6px;margin-top:12px;border-radius:9px;background:#e2e8f0;overflow:hidden}.fshapp-ticket__bar i{display:block;height:100%;min-width:6px;border-radius:9px;background:var(--fsh-teal)}
.fshapp-ticket__go{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:13px;color:#64748b}.fshapp-ticket__go strong{font:800 18px/1 Archivo,sans-serif;color:var(--fsh-ink)}.fshapp-ticket__go s{font-weight:500;font-size:14px;color:#94a3b8;margin-right:6px}
.fshapp-chosen s{font-weight:500;margin-right:4px}
.fshapp-people{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.fshapp-people>.fshapp-person{grid-column:span 2}.fshapp-people>.fshapp-person:nth-child(3n+1):nth-last-child(2),.fshapp-people>.fshapp-person:nth-child(3n+1):nth-last-child(2)~.fshapp-person{grid-column:span 3}.fshapp-people>.fshapp-person:nth-child(3n+1):last-child{grid-column:span 6}
.fshapp-person{display:flex;flex-direction:column;padding:0;border:0;border-radius:24px;background:#fff;text-align:left;color:var(--fsh-ink);overflow:hidden;box-shadow:0 18px 34px -24px rgba(15,23,42,.55),0 0 0 1px #e8eef0;cursor:pointer}
.fshapp-person__pic{display:block;height:118px;background:var(--fsh-deep)}.fshapp-person__pic img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.fshapp-person__b{display:block;padding:8px 9px 11px}.fshapp-person__b b{display:block;font:700 14px/1.15 Archivo,sans-serif}.fshapp-person__b small{display:block;margin-top:3px;font-weight:600;font-size:11px;line-height:1.25;color:var(--fsh-teal)}
.fshapp-sheet__pic--face{object-position:50% 20%;height:220px}
.fshapp-quote{margin:12px 0;padding-left:12px;border-left:3px solid var(--fsh-cta);font:600 17px/1.35 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-sheet__f a.fshapp-btn{text-decoration:none}

/* The shop */
main:has(#range):has(#depts) .fshapp-ph__pic{height:170px}main:has(#range):has(#depts) .fshapp-ph__on{bottom:34px}
.fshapp-offers{display:grid;gap:8px;padding:14px 14px 0}
.fshapp-offers p{display:flex;align-items:center;gap:12px;margin:0;padding:12px 14px;border-radius:18px;background:var(--fsh-deep);color:#fff}
.fshapp-offers p>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--fsh-cta);color:#1c1917}
.fshapp-offers b{font:700 16px/1.2 Archivo,sans-serif}.fshapp-offers small{display:block;margin-top:3px;font:400 12px/1.35 'Source Sans 3',sans-serif;color:#b7d3dd}
.fshapp-depts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.fshapp-depts a{grid-column:span 2;position:relative;display:block;height:124px;border-radius:18px;overflow:hidden;background:var(--fsh-deep);text-decoration:none;color:#fff}
.fshapp-depts a:nth-child(3n+1):nth-last-child(2),.fshapp-depts a:nth-child(3n+1):nth-last-child(2)~a{grid-column:span 3}.fshapp-depts a:nth-child(3n+1):last-child{grid-column:span 6}
.fshapp-depts img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-depts a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,34,47,.92))}
.fshapp-depts span{position:absolute;z-index:1;left:8px;right:6px;bottom:8px}.fshapp-depts b{display:block;font:700 13px/1.12 Archivo,sans-serif}.fshapp-depts small{display:block;margin-top:2px;font-size:10px;color:#cfe2e9}
.fshapp-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fshapp-tools button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:0;border-radius:16px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);font:700 15px/1 'Source Sans 3',sans-serif;cursor:pointer}
.fshapp-tools b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--fsh-teal);color:#fff;font-size:12px}
.fshapp-showing{margin:10px 2px 12px;font-size:13px;line-height:1.4;color:#64748b}.fshapp-showing a{color:var(--fsh-teal);font-weight:700}.fshapp-showing button{border:0;background:none;padding:0;color:var(--fsh-teal);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.fshapp-prods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fshapp-prod{min-width:0;position:relative;display:flex;flex-direction:column;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 14px 28px -22px rgba(15,23,42,.6),0 0 0 1px #e8eef0}
.fshapp-prod__open{display:flex;flex-direction:column;justify-content:flex-start;width:100%;min-width:0;flex:1;padding:0 0 4px;border:0;background:none;text-align:left;color:var(--fsh-ink);cursor:pointer}
.fshapp-prod__pic{position:relative;display:block;aspect-ratio:1;background:#f1f5f7}.fshapp-prod__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-prod__pic em{position:absolute;left:8px;top:8px;padding:4px 8px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 10px/1 'Source Sans 3',sans-serif;font-style:normal}
.fshapp-prod__n{display:block;padding:10px 12px 0;font:700 14px/1.22 Archivo,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fshapp-prod__open small{display:block;padding:4px 12px 0;font-size:11px;font-weight:600;color:#64748b}.fshapp-prod__open small[data-k=low]{color:#b45309}.fshapp-prod__open small[data-k=out]{color:#b91c1c}
.fshapp-prod__heart{position:absolute;top:6px;right:6px}.fshapp-prod__heart button{width:36px;height:36px}
.fshapp-prod__f{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px 10px 12px;min-height:40px}
.fshapp-prod__f a{font-size:12px;font-weight:700;color:var(--fsh-teal)}
.fshapp-prod__p{font:800 15px/1.1 Archivo,sans-serif;color:var(--fsh-ink)}.fshapp-prod__p s{display:block;font-weight:500;font-size:11px;color:#94a3b8}
.fshapp-add{display:grid;place-items:center;flex:none;width:40px;height:40px;border:0;border-radius:13px;background:var(--fsh-cta);color:#1c1917;cursor:pointer}.fshapp-add .fshapp-i{width:20px;height:20px}
.fshapp-add.is-adding{opacity:.5}
.fshapp-add--choose{width:auto;padding:0 12px;font:700 13px/1 'Source Sans 3',sans-serif;background:#e5f0f4;color:var(--fsh-deep)}
.fshapp-viewall{display:flex;margin-top:14px}
.fshapp-empty{display:grid;justify-items:center;gap:12px;padding:30px 10px;text-align:center}.fshapp-empty>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e5f0f4;color:var(--fsh-teal)}.fshapp-empty .fshapp-btn{flex:none}
.fshapp-shots{position:relative;margin-bottom:12px}
.fshapp-shots__row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:18px;scrollbar-width:none}.fshapp-shots__row::-webkit-scrollbar{display:none}
.fshapp-shots__row img{flex:0 0 100%;width:100%;height:240px;object-fit:cover;scroll-snap-align:center;display:block}
.fshapp-shots em{position:absolute;left:10px;top:10px;padding:5px 10px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 11px/1 'Source Sans 3',sans-serif;font-style:normal}
.fshapp-shots .fshapp-dots{margin-top:8px}
.fshapp-buyhead{display:flex;align-items:flex-start;gap:10px}.fshapp-buyhead .fshapp-sheet__t{flex:1;margin:0}
.fshapp-round{display:grid;place-items:center;flex:none;width:42px;height:42px;border:0;border-radius:50%;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);cursor:pointer}.fshapp-round .fshapp-i{width:19px;height:19px}
.fshapp-buyprice{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:8px 0}.fshapp-buyprice b{font:800 26px/1 Archivo,sans-serif;color:var(--fsh-ink)}.fshapp-buyprice s{color:#94a3b8}.fshapp-buyprice em{padding:3px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;font:700 12px/1.2 'Source Sans 3',sans-serif;font-style:normal}.fshapp-buyprice small{width:100%;font-size:12px;color:#64748b}
.fshapp-buytags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.fshapp-buytags span{padding:4px 9px;border-radius:9px;background:#e5f0f4;color:var(--fsh-deep);font:700 12px/1.2 'Source Sans 3',sans-serif}.fshapp-buytags span[data-k=low]{background:#fef3c7;color:#92400e}.fshapp-buytags span[data-k=out]{background:#fee2e2;color:#991b1b}
.fshapp-opt{border:0;margin:0 0 12px;padding:0}.fshapp-opt legend{padding:0;margin-bottom:7px;font-weight:700;font-size:14px;color:var(--fsh-ink)}
.fshapp-opt div{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:7px}.fshapp-opt label{position:relative;cursor:pointer}.fshapp-opt input{position:absolute;opacity:0;pointer-events:none}
.fshapp-opt span{display:block;padding:12px 6px;border-radius:13px;background:var(--fsh-paper,#f2f6f7);text-align:center;font-weight:700;font-size:14px;color:var(--fsh-ink)}.fshapp-opt input:checked+span{background:var(--fsh-teal);color:#fff}.fshapp-opt input:focus-visible+span{outline:3px solid var(--fsh-cta)}
.fshapp-more{display:inline-block;margin-top:8px;color:var(--fsh-teal);font-weight:700;font-size:14px}
.fshapp-range{display:block;margin-top:6px;padding:12px 4px}.fshapp-range b{font-size:15px;color:var(--fsh-ink)}.fshapp-range input{display:block;width:100%;margin-top:10px;accent-color:var(--fsh-teal)}
.fshapp-c2w{scroll-margin-top:124px}
button.fshapp-pick:disabled{cursor:not-allowed}

/* A product's own page: the same page as Standard, made a phone screen */
.fshapp-product .sec.pv-page{padding:0}
.fshapp-product .pv-page>.wrap{padding:0;max-width:none}
.fshapp-product .pv-crumbs{display:none}
.fshapp-product .pv{display:block;padding:0;margin:0}
.fshapp-product .pv-gallery{margin:0}
.fshapp-product .pv-gallery__main{border-radius:0 0 24px 24px;border:0;aspect-ratio:1/.74;background:#f1f5f7}
body:has(.fshapp-product) .fshapp-notices{display:none}
.fshapp-product.fsh-engine .pv-thumbs{margin:10px 16px 0}
.fshapp-product .pv-info{padding:16px 16px 8px}
.fshapp-product .pv-buy__row{position:fixed;left:8px;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:55;display:flex;align-items:center;gap:8px;margin:0;padding:8px;border-radius:22px;background:var(--fsh-deep);box-shadow:0 16px 30px -14px rgba(0,0,0,.65)}
.fshapp-product.fsh-engine .pv-buy__row .pv-qty{flex:none;display:flex;align-items:center;border:0;border-radius:15px;background:rgba(255,255,255,.14);color:#fff}
.fshapp-product.fsh-engine .pv-buy__row .pv-qty button{width:34px;height:48px;background:transparent;color:#fff;border:0}
.fshapp-product.fsh-engine .pv-buy__row .pv-qty input{width:30px;height:48px;padding:0;background:transparent;color:#fff;-webkit-text-fill-color:#fff;border:0;text-align:center;font-weight:700;-moz-appearance:textfield}
.fshapp-product.fsh-engine .pv-buy__row .pv-qty input::-webkit-outer-spin-button,.fshapp-product.fsh-engine .pv-buy__row .pv-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fshapp-product.fsh-engine .pv-buy__row .pv-add,.fshapp-product.fsh-engine .pv-buy__row .pv-add:hover,.fshapp-product.fsh-engine .pv-buy__row .pv-add:active{flex:1;min-width:0;min-height:48px;padding:0 10px;border-radius:15px;background:var(--fsh-cta);color:#1c1917;font-weight:700;font-size:14px;white-space:nowrap}
main:has(.fshapp-product){padding-bottom:68px}
.fshapp-product .pv-more{margin:8px 16px 0;display:grid;gap:8px}
.fshapp-product .pv-acc{border:0;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0;overflow:hidden}
.fshapp-product .pv-acc summary{padding:15px 16px;font-weight:700}
.fshapp-product .pv-acc .prose,.fshapp-product .pv-acc table{margin:0;padding:0 16px 14px;font-size:14px}
.fshapp-product .pv-row{margin:24px 0 0;padding:0 16px}
.fshapp-product .pv-row h2{margin:0 0 12px;font:800 22px/1.15 Archivo,sans-serif}
.fshapp-product .pv-box{border-radius:18px}
.fshapp-product .pv-ways label{border-radius:14px}
.fshapp-product .pv-tiles label{border-radius:13px}
.fshapp-product.fsh-engine dialog.bk-modal{position:fixed;inset:auto 0 0;width:100vw;max-width:100vw;max-height:92dvh;margin:0;border-radius:26px 26px 0 0;box-sizing:border-box}
.fshapp-product .hp:has(.hp-cal)::after{content:"";position:fixed;inset:0;z-index:85;background:rgba(3,17,24,.55)}
.fshapp-product.fsh-engine .hp-cal{position:fixed;inset:auto 0 0;z-index:90;width:100vw;max-width:100vw;max-height:88dvh;overflow-y:auto;margin:0;padding:16px 16px calc(14px + env(safe-area-inset-bottom));border:0;border-radius:26px 26px 0 0;background:#fff;box-sizing:border-box;box-shadow:none;animation:fshappRise .28s cubic-bezier(.2,.8,.2,1) both}
.fshapp-product dialog[open]{animation:fshappRise .28s cubic-bezier(.2,.8,.2,1) both}
.fshapp-product dialog::backdrop{background:rgba(3,17,24,.55)}

/* The basket and checkout: the same page as Standard, as a focused screen */
body:has(.fshapp-basket .ck) .fshapp-tabbar,body:has(.fshapp-basket .ck) .fsh-mft,body:has(.fshapp-basket) .fshapp-notices{display:none}
body:has(.fshapp-basket .ck){padding-bottom:calc(84px + env(safe-area-inset-bottom));background:var(--fsh-paper,#f2f6f7)}
.fshapp-basket.fsh-engine .sec{padding:18px 16px 24px}
.fshapp-basket.fsh-engine .sec .wrap{padding:0;max-width:none}
.fshapp-basket.fsh-engine .sec:not(.ck) h1{font:800 28px/1.1 Archivo,sans-serif}
.fshapp-basket.fsh-engine .sec.ck{background:var(--fsh-paper,#f2f6f7)}
.fshapp-basket.fsh-engine .ck-steps{flex-wrap:nowrap;justify-content:space-between;gap:0;margin:0 0 16px;font-size:12px;font-weight:700}
.fshapp-basket.fsh-engine .ck-steps li{flex:none;white-space:nowrap}
.fshapp-basket.fsh-engine .ck-steps li+li::before{width:clamp(10px,5vw,24px);margin:0 7px}
.fshapp-basket.fsh-engine .ck-steps a,.fshapp-basket.fsh-engine .ck-steps span{gap:4px}
.fshapp-basket.fsh-engine .ck-steps svg{width:16px;height:16px}
.fshapp-basket.fsh-engine .ck-grid{display:block}
.fshapp-basket.fsh-engine .ck-main h2,.fshapp-basket.fsh-engine .ck-tiles-set legend{margin:0 0 10px;padding:0;font:800 21px/1.15 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-basket.fsh-engine .ck-who{margin:0 0 12px;font-size:13px;line-height:1.45}
.fshapp-basket.fsh-engine .ck-fields{display:grid;grid-template-columns:1fr;gap:12px;padding:16px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px #e8eef0}
.fshapp-basket.fsh-engine .ck-fields label{display:block;font-size:13px;font-weight:600;color:var(--fsh-ink)}
.fshapp-basket.fsh-engine .ck-fields input,.fshapp-basket.fsh-engine .ck-fields textarea,.fshapp-basket.fsh-engine .ck-code input,.fshapp-basket.fsh-engine .ck-collect select{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:13px 14px;border:0;border-radius:14px;background:var(--fsh-paper,#f2f6f7);font-size:16px;color:inherit}
.fshapp-basket.fsh-engine .ck-fields input:focus,.fshapp-basket.fsh-engine .ck-fields textarea:focus,.fshapp-basket.fsh-engine .ck-code input:focus{outline:2px solid var(--fsh-teal)}
.fshapp-basket.fsh-engine .ck-tiles-set{margin:20px 0 0;padding:0;border:0}
.fshapp-basket.fsh-engine .ck-tiles{display:grid;grid-template-columns:1fr;gap:8px}
.fshapp-basket.fsh-engine .ck-tile{border:0;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0;padding:14px}
.fshapp-basket.fsh-engine .ck-tile:has(input:checked){box-shadow:inset 0 0 0 2px var(--fsh-teal);background:#eff6f9}
.fshapp-basket.fsh-engine .ck-code{margin:20px 0 0;padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0}
.fshapp-basket.fsh-engine .ck-code>div{display:flex;gap:8px;align-items:stretch}.fshapp-basket.fsh-engine .ck-code input{margin-top:0;flex:1;min-width:0}.fshapp-basket.fsh-engine .ck-code button{flex:none;border-radius:14px}
.fshapp-basket.fsh-engine .ck-side{margin-top:14px}
.fshapp-basket.fsh-engine .ck-card{border:0;border-radius:22px;background:#fff;box-shadow:0 0 0 1px #e8eef0;overflow:hidden}
.fshapp-basket.fsh-engine .ck-card--sums{padding:16px}
.fshapp-basket.fsh-engine .ck-btn{display:none}
.fshapp-basket.fsh-engine .ck-items{margin-bottom:12px;padding:6px 14px;border:0;border-radius:22px;background:#fff;box-shadow:0 0 0 1px #e8eef0}
.fshapp-basket.fsh-engine .ck-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0}.fshapp-basket.fsh-engine .ck-item__pic{width:52px;height:52px;border-radius:12px;overflow:hidden}.fshapp-basket.fsh-engine .ck-item__name{font-size:14px;font-weight:600;line-height:1.25}.fshapp-basket.fsh-engine .ck-item__qty{font-size:13px;color:#64748b}
.fshapp-basket.fsh-engine .ck-card__part{padding:16px}.fshapp-basket.fsh-engine .ck-card__part h2{margin:0 0 8px;font:800 21px/1.15 Archivo,sans-serif}
.fshapp-basket.fsh-engine .ck-card__foot{padding:14px 16px;font-size:13px}
.fshapp-basket.fsh-engine .basket__tick{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:13px 14px;border-radius:14px;background:var(--fsh-paper,#f2f6f7);font-weight:600}
.fshapp-paybar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--fsh-deep);color:#fff;box-shadow:0 -12px 30px -14px rgba(0,0,0,.5);border-radius:22px 22px 0 0}
.fshapp-paybar__t{flex:1;min-width:0;padding:2px 4px;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.fshapp-paybar__t small{display:block;font-size:12px;color:#b7d3dd}.fshapp-paybar__t b{display:flex;align-items:center;gap:6px;font:800 22px/1.15 Archivo,sans-serif}.fshapp-paybar__t .fshapp-i{width:17px;height:17px;color:#b7d3dd}
.fshapp-paybar .fshapp-btn{flex:none;min-width:150px}
.fshapp-line{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e8eef0}.fshapp-line>span{flex:none;width:52px;height:52px;border-radius:12px;overflow:hidden;background:#f1f5f7}.fshapp-line img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-line b{flex:1;min-width:0;font-size:14px;line-height:1.25;color:var(--fsh-ink)}.fshapp-line small{display:block;margin-top:2px;font-weight:500;font-size:12px;color:#64748b}.fshapp-line em{font:800 15px/1 Archivo,sans-serif;font-style:normal;color:var(--fsh-ink)}

/* The club */
.fshapp-seg{display:flex;gap:4px;padding:4px;border-radius:16px;background:rgba(255,255,255,.12)}
.fshapp-seg button{flex:1;min-width:0;padding:12px 2px;border:0;border-radius:12px;background:none;color:#cfe2e9;font:700 14px/1 'Source Sans 3',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.fshapp-seg button[aria-selected=true]{background:#fff;color:var(--fsh-deep)}
.fshapp-level{margin-top:10px;padding:18px 16px 16px;border-radius:22px;background:#fff;color:var(--fsh-ink)}
.fshapp-level__p{margin:0 0 12px;font:800 30px/1 Archivo,sans-serif}
.fshapp-level .fshapp-btn{display:flex;width:100%}
.fshapp-signin{display:flex;align-items:center;gap:12px;width:100%;margin-top:10px;padding:13px 14px;border:0;border-radius:18px;background:rgba(255,255,255,.1);color:#fff;text-align:left;cursor:pointer}
.fshapp-signin b{font-size:15px}.fshapp-signin small{display:block;margin-top:2px;font-weight:400;font-size:12px;color:#b7d3dd}
.fshapp-btn--block{display:flex;width:100%}
.fshapp-voices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fshapp-voices blockquote{margin:0;padding:13px;border-radius:18px;background:var(--fsh-paper,#f2f6f7);display:flex;flex-direction:column;gap:7px}
.fshapp-stars{color:var(--fsh-cta);font-size:13px;letter-spacing:1px}.fshapp-stars i{color:#cbd5e1;font-style:normal}
.fshapp-voices p{margin:0;font-size:13px;line-height:1.4;color:var(--fsh-ink)}
.fshapp-voices footer{margin-top:auto}.fshapp-voices footer b{display:block;font-size:13px}.fshapp-voices footer small{display:block;font-size:11px;color:#64748b}.fshapp-voices .fshapp-verified{color:#15803d;font-weight:700}
.fshapp-voices__reply{padding-top:7px;border-top:1px solid #dbe4e6;font-size:12px!important;color:#475569!important}
.fshapp-posts{display:grid;gap:8px}
.fshapp-posts article{display:flex;gap:12px;padding:10px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0}
.fshapp-posts span{flex:none;width:72px;height:72px;border-radius:13px;overflow:hidden;background:#f1f5f7}.fshapp-posts img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-posts p{margin:0;font-size:13px;line-height:1.4;color:var(--fsh-ink)}.fshapp-posts small{display:block;margin-top:5px;font-size:11px;color:#64748b}
.fshapp-chat{display:flex;flex-direction:column;gap:8px;min-height:190px;max-height:42dvh;overflow-y:auto;padding:4px 0 10px}
.fshapp-chat p{margin:0;max-width:84%;padding:10px 13px;border-radius:18px 18px 18px 5px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);font-size:14px;line-height:1.4;align-self:flex-start;animation:fshappUp .22s both}
.fshapp-chat p.is-me{align-self:flex-end;border-radius:18px 18px 5px 18px;background:var(--fsh-teal);color:#fff}
.fshapp-chat__dots{display:flex;gap:5px}.fshapp-chat__dots i{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:fshappDot 1s infinite}.fshapp-chat__dots i:nth-child(2){animation-delay:.15s}.fshapp-chat__dots i:nth-child(3){animation-delay:.3s}
@keyframes fshappDot{50%{transform:translateY(-4px)}}
.fshapp-chat__opts{display:grid;gap:7px;width:100%}
.fshapp-chat__opts button{padding:13px;border:0;border-radius:14px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);font:700 14px/1.2 'Source Sans 3',sans-serif;cursor:pointer}
.fshapp-chat__opts .is-main{background:var(--fsh-cta);color:#1c1917}
.fshapp-chat__in{display:flex;gap:8px;width:100%}
.fshapp-chat__in input{flex:1;min-width:0;padding:12px 14px;border:0;border-radius:14px;background:var(--fsh-paper,#f2f6f7);font-size:16px;color:var(--fsh-ink)}.fshapp-chat__in input:focus{outline:2px solid var(--fsh-teal)}
.fshapp-chat__in .fshapp-btn{flex:none}

/* Case studies */
main:has(#work) .fshapp-ph__pic{height:170px}main:has(#work) .fshapp-ph__on{bottom:34px}
.fshapp-cases{display:grid;gap:12px}
.fshapp-case{display:block;border-radius:24px;background:#fff;color:var(--fsh-ink);text-decoration:none;overflow:hidden;box-shadow:0 18px 34px -24px rgba(15,23,42,.55),0 0 0 1px #e8eef0}
.fshapp-case__pic{position:relative;display:block;height:170px;background:var(--fsh-deep)}.fshapp-case__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-case__pic em{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 11px/1 'Source Sans 3',sans-serif;font-style:normal}
.fshapp-case__b{display:block;padding:14px 16px 16px}.fshapp-case__b small{display:block;font:700 11px/1.3 'Source Sans 3',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--fsh-teal)}
.fshapp-case__b b{display:block;margin-top:5px;font:700 20px/1.15 Archivo,sans-serif}.fshapp-case__b span{display:block;margin-top:6px;font-size:14px;line-height:1.45;color:#64748b}
.fshapp-case__b i{display:inline-block;margin-top:11px;padding:9px 14px;border-radius:999px;background:#e5f0f4;color:var(--fsh-deep);font:700 13px/1 'Source Sans 3',sans-serif;font-style:normal}
.fshapp-ph__h1s.fshapp-ph__h1s{font-size:27px}
.fshapp-credit{margin:8px 16px 0;font-size:11px;color:#94a3b8}
.fshapp-sec--tight{padding:18px 16px 0}
.fshapp-case-logo{display:block;max-height:48px;max-width:150px;margin-bottom:12px;object-fit:contain}
.fshapp-figs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.fshapp-figs p:last-child:nth-child(odd){grid-column:span 2}
.fshapp-figs p{margin:0;padding:14px;border-radius:18px;background:var(--fsh-deep);color:#fff}.fshapp-figs b{display:block;font:800 28px/1 Archivo,sans-serif;color:#fff}.fshapp-figs span{display:block;margin-top:6px;font-size:13px;font-weight:600;color:#cfe2e9}.fshapp-figs small{display:block;margin-top:3px;font-size:11px;color:#9cbfcc}
.fshapp-facts{display:grid;gap:0;margin:0;padding:4px 14px;border-radius:18px;background:var(--fsh-paper,#f2f6f7)}
.fshapp-facts div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #dbe4e6}.fshapp-facts div:last-child{border:0}.fshapp-facts dt{font-size:13px;color:#64748b}.fshapp-facts dd{margin:0;font-size:13px;font-weight:700;text-align:right;color:var(--fsh-ink)}
.fshapp-seg--light{background:var(--fsh-paper,#f2f6f7)}.fshapp-seg--light button{color:#475569;font-size:13px}.fshapp-seg--light button[aria-selected=true]{background:var(--fsh-teal);color:#fff}
.fshapp-seg__panel{margin-top:10px;padding:16px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #e8eef0;font-size:15px;line-height:1.55;color:#334155}.fshapp-seg__panel>:first-child{margin-top:0}.fshapp-seg__panel>:last-child{margin-bottom:0}.fshapp-seg__panel h2{font:800 20px/1.2 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-quotecard{margin:0;padding:18px;border-radius:22px;background:var(--fsh-teal);color:#fff}.fshapp-quotecard blockquote{margin:0;font:600 17px/1.35 Archivo,sans-serif;color:#fff}.fshapp-quotecard figcaption{margin-top:10px;font-size:12px;color:#d7ebf2}.fshapp-quotecard b{color:#fff}
.fshapp-case-video{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000}.fshapp-case-video iframe,.fshapp-case-video video{display:block;width:100%;height:100%;border:0}
.fshapp-shotgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fshapp-shotgrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;display:block}
.fshapp-tagline{margin:14px 16px 0}
label.fshapp-tile{cursor:pointer;box-sizing:border-box}
.fshapp-rise small{word-break:break-word}

/* Downloads */
main:has(#free) .fshapp-ph__pic{height:170px}main:has(#free) .fshapp-ph__on{bottom:34px}
.fshapp-files{display:grid;gap:8px}
.fshapp-file{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 10px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0}
.fshapp-file__open{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;text-align:left;color:var(--fsh-ink);cursor:pointer}
.fshapp-file__ic{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:14px;overflow:hidden;background:#e5f0f4;color:var(--fsh-deep);font:800 11px/1 'Source Sans 3',sans-serif}.fshapp-file__ic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-file__w{flex:1;min-width:0}.fshapp-file__w b{display:block;font-size:14px;line-height:1.25}.fshapp-file__w em{margin-left:6px;padding:2px 6px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 9px/1 'Source Sans 3',sans-serif;font-style:normal;vertical-align:1px}.fshapp-file__w small{display:block;margin-top:3px;font-size:12px;color:#64748b}
.fshapp-round--go{background:var(--fsh-cta);color:#1c1917;text-decoration:none}
.fshapp-consent{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;background:var(--fsh-paper,#f2f6f7);font-size:13px;line-height:1.4;color:#334155}.fshapp-consent input{flex:none;margin-top:2px;width:18px;height:18px;accent-color:var(--fsh-teal)}
.fshapp-got{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px;border-radius:18px;background:var(--fsh-deep);color:#fff}.fshapp-got>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#dcfce7;color:#15803d}.fshapp-got b{flex:1;min-width:0;font-size:14px;line-height:1.25}.fshapp-got small{display:block;margin-top:2px;font-weight:400;font-size:12px;color:#b7d3dd}.fshapp-got .fshapp-btn{flex:none;min-height:42px;padding:0 16px;text-decoration:none}

/* Trade */
main:has(#trade) .fshapp-ph__pic{height:170px}main:has(#trade) .fshapp-ph__on{bottom:34px}
.fshapp-perks{display:grid;gap:8px;margin-bottom:14px}
.fshapp-perks p{display:flex;gap:12px;align-items:flex-start;margin:0;padding:13px;border-radius:18px;background:var(--fsh-paper,#f2f6f7)}
.fshapp-perks span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--fsh-teal);color:#fff;font:800 18px/1 Archivo,sans-serif}
.fshapp-perks b{font-size:15px;line-height:1.25;color:var(--fsh-ink)}.fshapp-perks small{display:block;margin-top:3px;font-weight:400;font-size:13px;line-height:1.4;color:#475569}
.fshapp-have{text-align:center;margin-top:12px}.fshapp-have a{color:var(--fsh-teal);font-weight:700}
.fshapp-sheet--full{inset:0;height:100dvh;max-height:100dvh;border-radius:0}
.fshapp-sheet--full .fshapp-sheet__in{height:100dvh;max-height:100dvh}
.fshapp-sheet--full .fshapp-sheet__h{padding-bottom:30px}.fshapp-sheet--full .fshapp-grip{display:none}
.fshapp-tapp.fsh-engine .tapp{display:block;margin:0;border:0;box-shadow:none;background:none;border-radius:0;overflow:visible}
.fshapp-tapp.fsh-engine .tapp__side{display:none}
.fshapp-tapp.fsh-engine .tapp__main{padding:0;background:none;border:0;box-shadow:none}
.fshapp-tapp.fsh-engine .tapp__steps{margin:6px 0 14px;justify-content:space-between}
.fshapp-tapp.fsh-engine .tapp__name{display:none}
.fshapp-tapp.fsh-engine .tapp__step h2{margin:0 0 6px;font:800 22px/1.15 Archivo,sans-serif}
.fshapp-tapp.fsh-engine .tapp__blurb{font-size:14px;line-height:1.45}
.fshapp-tapp.fsh-engine .tapp__grid{display:grid;grid-template-columns:1fr;gap:12px}
.fshapp-tapp.fsh-engine .tapp__field--half{grid-column:auto}
.fshapp-tapp.fsh-engine .tapp__tile{border-radius:16px}
.fshapp-tapp.fsh-engine .tapp__tile.is-on{box-shadow:inset 0 0 0 2px var(--fsh-teal);background:#eff6f9}
.fshapp-tapp.fsh-engine .tapp__field input:not([type=checkbox]):not([type=radio]):not([type=file]),.fshapp-tapp.fsh-engine .tapp__field select,.fshapp-tapp.fsh-engine .tapp__field textarea{border:0;border-radius:14px;background:var(--fsh-paper,#f2f6f7);padding:13px 14px;font-size:16px}
.fshapp-tapp.fsh-engine .tapp__nav{position:sticky;bottom:-18px;z-index:2;display:flex;gap:8px;margin:14px -18px -18px;padding:10px 14px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e8f0}
.fshapp-tapp.fsh-engine .tapp__nav>*{flex:1;min-width:0}.fshapp-tapp.fsh-engine .tapp__nav>span{display:none}
.fshapp-tapp.fsh-engine .tapp__btn{min-height:48px;padding:0 10px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font-weight:700;font-size:14px;white-space:nowrap}
.fshapp-tapp.fsh-engine .tapp__btn--line{background:#fff;color:var(--fsh-ink);box-shadow:inset 0 0 0 1.5px #cbd5e1}
.fshapp-tapp.fsh-engine .tapp__small{order:1;margin:0;font-size:12px}
.fshapp-tapp.fsh-engine .tapp__nav{order:2}

/* Contact */
.fshapp-quick{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;margin-bottom:10px}
.fshapp-quick a{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:14px 8px;border-radius:18px;background:var(--fsh-deep);color:#fff;text-align:center;text-decoration:none}
.fshapp-quick span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--fsh-cta);color:#1c1917}
.fshapp-quick b{font:700 15px/1.1 Archivo,sans-serif}.fshapp-quick small{max-width:100%;font-size:11px;line-height:1.3;color:#b7d3dd;overflow-wrap:anywhere}
.fshapp-note{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;border-radius:16px;background:var(--fsh-paper,#f2f6f7);font-size:13px;color:#334155}.fshapp-note .fshapp-i{color:var(--fsh-teal)}.fshapp-note b{display:block;font-size:12px;color:#64748b;font-weight:600}
.fshapp-places{display:grid;gap:10px;margin-bottom:10px}
.fshapp-places article{border-radius:22px;overflow:hidden;background:#fff;color:var(--fsh-ink)}
.fshapp-places img{width:100%;height:130px;object-fit:cover;display:block}
.fshapp-places__b{padding:13px 14px 14px}.fshapp-places__b>b{display:block;font:700 18px/1.2 Archivo,sans-serif}.fshapp-places__b>span{display:block;margin-top:4px;font-size:13px;line-height:1.4;color:#64748b}
.fshapp-places__b>div{display:flex;gap:8px;margin-top:12px}
.fshapp-hours{margin-top:10px;border-radius:12px;background:var(--fsh-paper,#f2f6f7)}
.fshapp-hours summary{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.fshapp-hours summary::-webkit-details-marker{display:none}
.fshapp-hours summary i{flex:none;width:9px;height:9px;border-radius:50%;background:#b91c1c}.fshapp-hours summary i[data-open]{background:#16a34a}
.fshapp-hours summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}.fshapp-hours[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.fshapp-hours dl{margin:0;padding:0 12px 10px}.fshapp-hours dl div{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.fshapp-hours dt{color:#64748b}.fshapp-hours dd{margin:0;font-weight:600}
.fshapp-linkrows{display:grid;gap:8px}
.fshapp-linkrows a{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);text-decoration:none}
.fshapp-linkrows span{flex:1;min-width:0}.fshapp-linkrows b{display:block;font-size:14px}.fshapp-linkrows small{display:block;margin-top:2px;font-size:12px;color:#64748b;overflow-wrap:anywhere}.fshapp-linkrows .fshapp-i{width:18px;height:18px;color:#94a3b8}

/* About and a person's page */
.fshapp-badges{display:grid;gap:8px}
.fshapp-badges p{display:flex;align-items:center;gap:12px;margin:0;padding:11px 13px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0}
.fshapp-badges span{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--fsh-teal);color:#fff;font:800 14px/1 Archivo,sans-serif}.fshapp-badges img{width:100%;height:100%;object-fit:contain;background:#fff}
.fshapp-badges b{flex:1;min-width:0;font-size:14px;line-height:1.25;color:var(--fsh-ink)}.fshapp-badges small{display:block;margin-top:2px;font-weight:400;font-size:12px;color:#64748b}
.fshapp-ph__pic--face{height:320px}.fshapp-ph__pic--face img{object-position:50% 20%}
.fshapp-endpad{padding-bottom:26px}
.fshapp-facts dd{max-width:68%}.fshapp-facts dd span{display:block}.fshapp-facts dd span+span{margin-top:5px}
body:has(.fshapp-ph__pic--face) .fshapp-notices{display:none}

/* The blog */
main:has(#posts):not(:has(#range)) .fshapp-ph__pic{height:170px}main:has(#posts):not(:has(#range)) .fshapp-ph__on{bottom:34px}
.fshapp-tools--one{grid-template-columns:1fr;margin-bottom:12px}
.fshapp-tools--one button{background:#fff;box-shadow:0 0 0 1px #e2e8f0}
a.fshapp-pick{text-decoration:none;color:inherit}
.fshapp-post1{margin-bottom:10px}
.fshapp-postrows{display:grid;gap:8px}
.fshapp-postrows a{display:flex;gap:12px;padding:10px;border-radius:18px;background:#fff;color:var(--fsh-ink);text-decoration:none;box-shadow:0 0 0 1px #e8eef0}
.fshapp-postrows span{flex:none;width:84px;height:84px;border-radius:14px;overflow:hidden;background:#f1f5f7}.fshapp-postrows img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-postrows div{flex:1;min-width:0}.fshapp-postrows small{display:block;font:700 10px/1.3 'Source Sans 3',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--fsh-teal)}
.fshapp-postrows b{display:block;margin-top:3px;font:700 15px/1.2 Archivo,sans-serif}
.fshapp-postrows em{display:-webkit-box;margin-top:3px;font-style:normal;font-size:12px;line-height:1.35;color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fshapp-readbar{position:sticky;top:56px;z-index:49;height:3px;margin-bottom:-3px;background:transparent}.fshapp-readbar i{display:block;height:100%;background:var(--fsh-cta);transform:scaleX(0);transform-origin:left}
.fshapp-postmeta{display:flex;align-items:center;gap:10px}.fshapp-postmeta p{flex:1;min-width:0;font-size:13px;line-height:1.4}
.fshapp-sharebtn{display:inline-flex;align-items:center;gap:6px;flex:none;padding:9px 12px;border:0;border-radius:999px;background:#e5f0f4;color:var(--fsh-deep);font:700 13px/1 'Source Sans 3',sans-serif;cursor:pointer}.fshapp-sharebtn .fshapp-i{width:16px;height:16px}
.fshapp-prose{font-size:17px;line-height:1.65;color:#1e293b;overflow-wrap:anywhere}.fshapp-prose>:first-child{margin-top:0}.fshapp-prose h2{margin:26px 0 8px;font:800 23px/1.2 Archivo,sans-serif;color:var(--fsh-ink)}.fshapp-prose h3{margin:22px 0 6px;font:700 19px/1.25 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-prose img{max-width:100%;height:auto;border-radius:16px}.fshapp-prose a{color:var(--fsh-teal);font-weight:600}.fshapp-prose blockquote{margin:16px 0;padding-left:14px;border-left:3px solid var(--fsh-cta);font-weight:600}.fshapp-prose table{display:block;max-width:100%;overflow-x:auto}.fshapp-prose iframe,.fshapp-prose video{max-width:100%}
.fshapp-seriesbox{padding:14px 16px;border-radius:18px;background:var(--fsh-paper,#f2f6f7);font-size:14px}.fshapp-seriesbox p{margin:0 0 6px}.fshapp-seriesbox ol{margin:0;padding-left:20px;line-height:1.6}.fshapp-seriesbox a{color:var(--fsh-teal);font-weight:600}
.fshapp-tagline a{color:var(--fsh-teal);font-weight:600}
.fshapp-more-posts{margin-top:22px}
body:has(.fshapp-prose) .fshapp-notices{display:none}

/* The leftover pages */
main:has(#reviews) .fshapp-ph__pic,main:has(#vacancies) .fshapp-ph__pic,main:has(#documents) .fshapp-ph__pic,main:has(.fshapp-prose) .fshapp-ph__pic,main:has(#gallery) .fshapp-ph__pic{height:170px}
main:has(#reviews) .fshapp-ph__on,main:has(#vacancies) .fshapp-ph__on,main:has(#documents) .fshapp-ph__on,main:has(.fshapp-prose) .fshapp-ph__on,main:has(#gallery) .fshapp-ph__on{bottom:34px}
main:has(.fshapp-post1) .fshapp-ph__pic{height:170px}
.fshapp-score{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:15px;border-radius:20px;background:var(--fsh-deep);color:#fff}
.fshapp-score p{flex:none;margin:0;text-align:center}.fshapp-score p>b{display:block;font:800 38px/1 Archivo,sans-serif}.fshapp-score small{display:block;margin-top:3px;font-size:11px;color:#b7d3dd}
.fshapp-score div{flex:1;min-width:0;display:grid;gap:4px}.fshapp-score div span{display:flex;align-items:center;gap:7px}.fshapp-score div small{margin:0;width:8px}.fshapp-score i{flex:1;height:7px;border-radius:9px;background:rgba(255,255,255,.18);overflow:hidden}.fshapp-score u{display:block;height:100%;border-radius:9px;background:var(--fsh-cta)}
.fshapp-revs{display:grid;gap:8px}
.fshapp-revs article{padding:14px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #e8eef0}.fshapp-revs p{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--fsh-ink)}.fshapp-revs footer{margin-top:8px;font-size:12px;color:#64748b}.fshapp-revs footer b{display:block;font-size:13px;color:var(--fsh-ink)}
.fshapp-revs__reply{margin-top:10px!important;padding:10px 12px;border-radius:12px;background:var(--fsh-paper,#f2f6f7);font-size:13px!important;color:#475569!important}.fshapp-revs__reply b{display:block;font-size:12px;color:var(--fsh-teal)}
.fshapp-jobs{display:grid;gap:10px}
.fshapp-jobs a{display:block;padding:15px;border-radius:20px;background:#fff;color:var(--fsh-ink);text-decoration:none;box-shadow:0 14px 28px -24px rgba(15,23,42,.6),0 0 0 1px #e8eef0}
.fshapp-jobs__flags em{display:inline-block;margin:0 5px 6px 0;padding:4px 8px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 10px/1 'Source Sans 3',sans-serif;font-style:normal}.fshapp-jobs__flags:empty{display:none}
.fshapp-jobs b{display:block;font:700 19px/1.15 Archivo,sans-serif}.fshapp-jobs small{display:block;margin-top:4px;font-size:13px;font-weight:600;color:var(--fsh-teal)}.fshapp-jobs a>span:not(.fshapp-jobs__flags){display:block;margin-top:7px;font-size:14px;line-height:1.45;color:#475569}
.fshapp-jobs i{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-style:normal;font-size:12px;font-weight:600;color:#64748b}.fshapp-jobs i .fshapp-i{width:18px;height:18px}
.fshapp-after{display:block;margin-top:14px}
a.fshapp-tile{text-decoration:none;box-sizing:border-box}
.fshapp-vac{padding:22px 18px 24px;background:var(--fsh-deep);color:#fff;border-radius:0 0 24px 24px}.fshapp-vac h1{margin:7px 0 0;font:800 30px/1.08 Archivo,sans-serif;color:#fff}.fshapp-vac p:not(.fshapp-kick){margin:8px 0 0;font-size:14px;color:#cfe2e9}
.fshapp-faq__a ul{margin:0;padding-left:20px}.fshapp-faq__a li{margin-bottom:5px}
.fshapp-consent--gap{margin-bottom:12px}
.fshapp-f input[type=file]{padding:11px;font-size:14px}
.fshapp-folder{margin-bottom:16px}.fshapp-folder .fshapp-kick{margin-bottom:8px}
.fshapp-watch.fsh-watch{width:100%;max-width:none;margin:0;border-radius:0;background:#000;overflow:hidden}.fshapp-watch iframe,.fshapp-watch video,.fshapp-watch img{display:block;width:100%;height:100%;border:0;object-fit:contain}
.fshapp-vtitle{margin:6px 0 0;font:800 27px/1.1 Archivo,sans-serif;color:var(--fsh-ink)}.fshapp-vtext{margin:9px 0 6px;font-size:15px;line-height:1.5;color:#334155}
.fshapp-chapters.fsh-watch__chapters{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;background:none;border:0;border-radius:0;box-shadow:none}
.fshapp-chapters.fsh-watch__chapters a{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:15px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);text-decoration:none;font-weight:400}.fshapp-chapters.fsh-watch__chapters a[aria-current=true]{box-shadow:inset 0 0 0 2px var(--fsh-teal)}
.fshapp-chapters.fsh-watch__chapters em{flex:none;font:800 13px/1.4 'Source Sans 3',sans-serif;font-style:normal;color:var(--fsh-teal)}.fshapp-chapters.fsh-watch__chapters a span{min-width:0;color:var(--fsh-ink)}.fshapp-chapters.fsh-watch__chapters b{display:block;font-size:14px;line-height:1.3}.fshapp-chapters.fsh-watch__chapters small{display:block;margin:2px 0 0;padding:0;font-size:12px;line-height:1.35;color:#64748b}
.fshapp-script{list-style:none;margin:0;padding:0}.fshapp-script a{font-weight:700;color:var(--fsh-teal)}
/* The gallery keeps the layout each album chose in the CMS; its albums as tiles, all on the screen */
body:has(.fshapp-top) .fsh-albums{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}
body:has(.fshapp-top) .fsh-albums__c{grid-column:span 2;aspect-ratio:auto;height:124px;border-radius:18px}
body:has(.fshapp-top) .fsh-albums__c:nth-child(3n+1):nth-last-child(2),body:has(.fshapp-top) .fsh-albums__c:nth-child(3n+1):nth-last-child(2)~.fsh-albums__c{grid-column:span 3}
body:has(.fshapp-top) .fsh-albums__c:nth-child(3n+1):last-child{grid-column:span 6}
body:has(.fshapp-top) .fsh-albums__c span{padding:22px 9px 8px}body:has(.fshapp-top) .fsh-albums__c b{font-size:13px;line-height:1.12}body:has(.fshapp-top) .fsh-albums__c small{font-size:10px}
body:has(.fshapp-top) .fsh-album{scroll-margin-top:66px}body:has(.fshapp-top) .fsh-album h3{font-size:22px}
/* The engine's pages: account and members, tracking */
.fshapp-engine.fsh-engine .sec{padding:20px 16px 26px}.fshapp-engine.fsh-engine .sec .wrap{padding:0;max-width:none}
.fshapp-engine.fsh-engine h1{font:800 28px/1.1 Archivo,sans-serif}.fshapp-engine.fsh-engine h2{font:800 22px/1.15 Archivo,sans-serif}
.fshapp-engine.fsh-engine input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.fshapp-engine.fsh-engine select,.fshapp-engine.fsh-engine textarea{border:0;border-radius:14px;background:var(--fsh-paper,#f2f6f7);padding:13px 14px;font-size:16px}
.fshapp-engine.fsh-engine button[type=submit]{min-height:48px;width:100%;border-radius:999px;font-weight:700}
.fshapp-engine.fsh-engine .acct-gate__pic::before{background:linear-gradient(180deg,rgba(8,34,47,.78),rgba(8,34,47,.92))}.fshapp-engine.fsh-engine .acct-gate__big{font-family:Archivo,sans-serif}
/* The account's menu: everything on the screen as tiles, nothing sliding sideways. The three coloured tiles only repeated what is in it. */
.fshapp-engine.fsh-engine .acx-tiles{display:none}
.fshapp-engine.fsh-engine .acx-side{gap:10px;padding:12px}
.fshapp-engine.fsh-engine .acx-who{padding:2px 2px 10px}
.fshapp-engine.fsh-engine .acx-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;flex-wrap:wrap}
.fshapp-engine.fsh-engine .acx-nav:not(.acx-nav--end){grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;padding-bottom:0}
.fshapp-engine.fsh-engine .acx-nav a,.fshapp-engine.fsh-engine .acx-nav .acx-out{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:auto;min-width:0;min-height:62px;padding:8px 3px;border-radius:14px;background:#f1f5f7;font:600 12px/1.15 'Source Sans 3',sans-serif;text-align:center;white-space:normal}
.fshapp-engine.fsh-engine .acx-nav a[aria-current]{background:var(--fsh-deep);color:#fff}.fshapp-engine.fsh-engine .acx-nav a[aria-current] .acx-i{color:#fff}
.fshapp-engine.fsh-engine .acx-nav small{position:absolute;top:5px;right:5px;margin:0;padding:0 6px;background:var(--fsh-cta);color:#1c1917;font-size:11px}
.fshapp-engine.fsh-engine .acx-nav--end{grid-template-columns:1fr 1fr;padding-top:0;border-top:0}
.fshapp-engine.fsh-engine .acx-nav--end form{display:contents}
.fshapp-engine.fsh-engine .acx-nav .acx-out{color:#b91c1c}
body:has(.fshapp-engine) .fshapp-notices,body:has(.fshapp-vac) .fshapp-notices,body:has(.fshapp-watch) .fshapp-notices{display:none}

/* The home page */
.fshapp-hero{padding:24px 16px 66px;background:linear-gradient(165deg,var(--fsh-deep),#11506a);color:#fff}
.fshapp-hero h1{margin:8px 0 0;font:800 33px/1.06 Archivo,sans-serif;color:#fff}.fshapp-hero>p:not(.fshapp-kick){margin:10px 0 0;font-size:15px;line-height:1.45;color:#d7e8ef}.fshapp-hero .fshapp-kick{color:#fff}
.fshapp-hero form{display:flex;gap:6px;margin-top:16px;padding:5px;border-radius:18px;background:#fff}
.fshapp-hero input{flex:1;min-width:0;height:44px;padding:0 10px;border:0;border-radius:13px;background:none;font:400 16px 'Source Sans 3',sans-serif;color:var(--fsh-ink)}.fshapp-hero input:focus{outline:2px solid var(--fsh-teal)}
.fshapp-hero form .fshapp-btn{flex:none;min-height:44px;padding:0 15px;border-radius:13px;font-size:14px}
.fshapp-go{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:-46px 16px 0;padding:14px 4px 12px;border-radius:22px;background:#fff;box-shadow:0 18px 34px -22px rgba(8,34,47,.55),0 0 0 1px #e8eef0}
.fshapp-go a,.fshapp-go label{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--fsh-ink);text-align:center;text-decoration:none;font:600 11.5px/1.15 'Source Sans 3',sans-serif;cursor:pointer}
.fshapp-go span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#e5f0f4;color:var(--fsh-deep)}.fshapp-go a:first-child span{background:var(--fsh-cta);color:#1c1917}
.fshapp-homedepts{padding-top:20px}.fshapp-homedepts .fshapp-kick{margin-bottom:9px}
.fshapp-fcard{position:relative;display:flex;align-items:flex-end;min-height:286px;border-radius:24px;overflow:hidden;background:var(--fsh-deep);color:#fff}
.fshapp-fcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fshapp-fcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,34,47,.1) 5%,rgba(8,34,47,.93) 62%)}
.fshapp-fcard>div{position:relative;z-index:1;padding:18px}.fshapp-fcard .fshapp-kick{color:#fff}.fshapp-fcard h2{margin:5px 0 0;font:800 29px/1.08 Archivo,sans-serif;color:#fff}.fshapp-fcard p:not(.fshapp-kick){margin:7px 0 13px;font-size:14px;line-height:1.4;color:#e4eff3}
.fshapp-fpick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.fshapp-fpick button{position:relative;height:116px;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--fsh-deep);cursor:pointer}.fshapp-fpick button:nth-child(odd):last-child{grid-column:span 2}
.fshapp-fpick img{width:100%;height:100%;object-fit:cover;display:block}.fshapp-fpick button::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(8,34,47,.9))}
.fshapp-fpick b{position:absolute;z-index:1;left:12px;bottom:10px;font:700 16px/1.1 Archivo,sans-serif;color:#fff}
.fshapp-hgt{margin-top:10px;text-align:center}.fshapp-hgt output{display:block;font:800 46px/1 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-hgt input{display:block;width:100%;height:34px;margin:14px 0;accent-color:var(--fsh-teal)}
.fshapp-hgt__say{margin:0 0 10px;padding:15px;border-radius:18px;background:var(--fsh-deep);color:#fff;font:700 17px/1.3 Archivo,sans-serif}
.fshapp-fbikes{margin-top:12px}.fshapp-fbikes em{font-style:normal;font-weight:700;color:var(--fsh-teal)}
.fshapp-figs{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;padding:18px;border-radius:22px;background:var(--fsh-deep);color:#fff}
.fshapp-figs b{display:inline;font:800 36px/1 Archivo,sans-serif;color:var(--fsh-cta)}.fshapp-figs i{display:inline;font:800 26px/1 Archivo,sans-serif;font-style:normal;color:var(--fsh-cta)}.fshapp-figs span{display:block;margin-top:5px;font-size:13px;line-height:1.3;color:#d7e8ef}
a.fshapp-row{text-decoration:none;box-sizing:border-box}

/* A section still in its Standard drawing, inside the App look: tighter, so it does not feel like a website in an app */
body:has(.fshapp-top) .fsh-sec{padding:32px 0}
body:has(.fshapp-top) .fsh-wrap{padding-left:16px;padding-right:16px;box-sizing:border-box}
body:has(.fshapp-top) .mt-blk section.py-20,body:has(.fshapp-top) .mt-blk section.md\:py-28{padding-top:28px;padding-bottom:30px}
body:has(.fshapp-top) .mt-blk section h2{font:800 26px/1.1 Archivo,sans-serif;margin-bottom:8px}
body:has(.fshapp-top) .mt-blk section h2+p{font-size:14px;line-height:1.5}
body:has(.fshapp-top) .mt-blk section{padding-left:16px;padding-right:16px}
body:has(.fshapp-top) .mt-blk section p.uppercase{font-size:11px;letter-spacing:.12em;margin-bottom:5px}

/* A search's answer: only the answer, whichever box it came from (Duncan, 31 Oct 2026: "results were not instantly visible") */
main:has(.fshapp-searching) section:not(.fshapp-searching){display:none}
body:has(.fshapp-searching) .fshapp-tabs,body:has(.fshapp-searching) .fshapp-notices{display:none}
.fshapp-research{display:flex;gap:6px;margin-bottom:16px;padding:5px;border-radius:18px;background:var(--fsh-paper,#f2f6f7)}
.fshapp-research input{flex:1;min-width:0;height:44px;padding:0 10px;border:0;border-radius:13px;background:none;font:400 16px 'Source Sans 3',sans-serif;color:var(--fsh-ink)}.fshapp-research input:focus{outline:2px solid var(--fsh-teal)}
.fshapp-searching .fshapp-h__sub a{color:var(--fsh-teal);font-weight:700}.fshapp-research .fshapp-btn{flex:none;min-height:44px;padding:0 16px;border-radius:13px;font-size:14px}

/* The sites a business is reviewed on */
.fshapp-rsites{margin:0 0 16px}.fshapp-rsites h3{margin:0 0 10px;font:700 18px/1.2 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-rsites div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fshapp-rsites a:last-child:nth-child(odd){grid-column:span 2}.fshapp-rsites a{display:block;padding:14px;border-radius:16px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);text-decoration:none}
.fshapp-rsites b{display:block;font:700 16px/1.2 Archivo,sans-serif}.fshapp-rsites small{display:block;margin-top:4px;font-size:12px;font-weight:600;color:var(--fsh-teal)}

/* The account: the App's own screens (app-account.tsx), rows and panels, no menu block or website footer */
body:has(.fshapp-acc){background:var(--fsh-paper,#f2f6f7)}
body:has(.fshapp-acc) .fsh-mft,body:has(.fshapp-acc) .fshapp-notices{display:none}
.fshapp-acc{padding:0 12px 28px}
.fshapp-acc__who{display:flex;align-items:center;gap:14px;margin:0 -12px 14px;padding:20px 16px 22px;background:linear-gradient(165deg,var(--fsh-deep),#11506a);color:#fff}
.fshapp-acc__who>span{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.16);font:800 20px/1 Archivo,sans-serif}
.fshapp-acc__who h1{margin:0;font:800 25px/1.1 Archivo,sans-serif;color:#fff}.fshapp-acc__who p{margin:4px 0 0;font-size:13px;line-height:1.3;color:#d7e8ef;overflow-wrap:anywhere}
.fshapp-acc__k{margin:0 4px 8px}
.fshapp-acc__h1{margin:0;padding:20px 4px 14px;font:800 28px/1.1 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-acc__said{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#dcfce7;color:#166534;font-size:14px}
.fshapp-acc__card{margin-bottom:12px;padding:16px;border-radius:20px;background:#fff}.fshapp-acc__card h2{margin:0 0 10px;font:700 18px/1.2 Archivo,sans-serif;color:var(--fsh-ink)}
.fshapp-list{margin-bottom:12px;border-radius:20px;background:#fff;overflow:hidden}
.fshapp-list>a,.fshapp-list__out{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 14px;box-sizing:border-box;border:0;background:none;color:var(--fsh-ink);text-align:left;text-decoration:none;font:inherit;cursor:pointer}
.fshapp-list>*+*{border-top:1px solid #edf1f2}
.fshapp-list__i{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:#e5f0f4;color:var(--fsh-deep)}
.fshapp-list .acx-i,.fshapp-orow .acx-i,.fshapp-acc__find .acx-i,.fshapp-acc__strip .acx-i,.fshapp-steps2 .acx-i,.fshapp-empty .acx-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fshapp-list>a>.acx-i{width:16px;height:16px;color:#94a3b8}
.fshapp-list__w{flex:1;min-width:0}.fshapp-list__w b{display:block;font-weight:600;font-size:15px;line-height:1.25}.fshapp-list__w small{display:block;margin-top:2px;font-size:12.5px;line-height:1.3;color:#64748b}
.fshapp-list em{flex:none;min-width:22px;padding:3px 7px;box-sizing:border-box;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font:800 12px/1.2 'Source Sans 3',sans-serif;font-style:normal;text-align:center}
.fshapp-list__out{color:#b91c1c}.fshapp-list__out .fshapp-list__i{background:#fee2e2;color:#b91c1c}
.fshapp-acc__find{display:flex;gap:8px;margin-bottom:12px}
.fshapp-acc__find form{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:50px;padding:0 14px;border-radius:16px;background:#fff;color:#64748b}
.fshapp-acc__find input{flex:1;min-width:0;height:100%;border:0;background:none;font:400 16px 'Source Sans 3',sans-serif;color:var(--fsh-ink);outline:0}
.fshapp-acc__find form:focus-within{box-shadow:0 0 0 2px var(--fsh-teal)}
.fshapp-acc__find label{display:flex;align-items:center;gap:7px;flex:none;height:50px;padding:0 15px;box-sizing:border-box;border-radius:16px;background:var(--fsh-deep);color:#fff;font:700 15px/1 'Source Sans 3',sans-serif;cursor:pointer}
.fshapp-acc__find label b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:9px;background:var(--fsh-cta);color:#1c1917;font-size:12px}
.fshapp-orders{display:grid;gap:8px}
.fshapp-orow{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:18px;background:#fff;color:var(--fsh-ink);text-decoration:none}
.fshapp-orow__pic{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:14px;overflow:hidden;background:#e5f0f4;color:var(--fsh-deep)}.fshapp-orow__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fshapp-orow__w{flex:1;min-width:0}.fshapp-orow__w b{display:block;font:700 16px/1.2 Archivo,sans-serif}.fshapp-orow__w small{display:block;margin-top:2px;font-size:12.5px;color:#64748b}
.fshapp-orow__w i{display:block;margin-top:4px;font-style:normal;font-weight:600;font-size:12.5px;line-height:1.3}
[data-tone=warm]{--tone:#b45309;--tone-bg:#fff7ed}[data-tone=bad]{--tone:#b91c1c;--tone-bg:#fee2e2}[data-tone=grey]{--tone:#475569;--tone-bg:#e2e8f0}
.fshapp-orow__w i[data-tone]{color:var(--tone)}.fshapp-orow__w i b{display:inline;font:inherit}
.fshapp-orow em{flex:none;font:800 16px/1 Archivo,sans-serif;font-style:normal}
#fshapp-ofilter:checked~.fshapp-shade--ofilter{opacity:1;pointer-events:auto}
#fshapp-ofilter:checked~.fshapp-rise--ofilter{transform:none;visibility:visible}
.fshapp-rise--ofilter{max-height:88dvh;overflow-y:auto}.fshapp-rise--ofilter .fshapp-btn{min-width:0;flex:1}
.fshapp-rise--ofilter .fshapp-opt div{grid-template-columns:repeat(2,minmax(0,1fr))}
.fshapp-rise a.fshapp-btn{display:inline-flex;gap:0;margin:0;padding:0 20px;border-radius:999px;background:#fff;color:var(--fsh-ink)}
.fshapp-acc__strip{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:12px 14px;border-radius:16px;background:var(--tone-bg);color:var(--tone);font-weight:600;font-size:14px;line-height:1.35}.fshapp-acc__strip b{font:inherit}
.fshapp-facts--bare{padding:0;margin-top:8px;background:none;border-radius:0}.fshapp-facts--bare dt b{color:var(--fsh-ink)}
.fshapp-acc .fshapp-facts:not(.fshapp-facts--bare){margin-bottom:12px;background:#fff;border-radius:20px}
.fshapp-steps2{list-style:none;margin:0;padding:0}
.fshapp-steps2 li{position:relative;display:flex;gap:12px;padding-bottom:14px}.fshapp-steps2 li:last-child{padding-bottom:0}
.fshapp-steps2 li:not(:last-child)::before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:#e2e8f0}
.fshapp-steps2 li>span{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#f1f5f7;color:#94a3b8}.fshapp-steps2 li[data-done]>span{background:var(--fsh-teal);color:#fff}.fshapp-steps2 .acx-i{width:16px;height:16px}
.fshapp-steps2 b{display:block;padding-top:6px;font-size:14px;line-height:1.3;color:#64748b}.fshapp-steps2 li[data-done] b{color:var(--fsh-ink)}.fshapp-steps2 small{display:block;margin-top:2px;font-size:12.5px;color:#64748b}
.fshapp-acc__acts{display:grid;gap:8px}.fshapp-acc__acts .fshapp-btn{box-sizing:border-box}
.fshapp-acc__cancel summary{padding:14px;text-align:center;font-weight:700;font-size:14px;color:#b91c1c;cursor:pointer;list-style:none}.fshapp-acc__cancel summary::-webkit-details-marker{display:none}
.fshapp-acc__cancel form{padding:14px;border-radius:16px;background:#fff}.fshapp-acc__cancel p{margin:0 0 10px;font-size:14px;color:#334155}

.fshapp-acc__side{display:none}.fshapp-acc--ov .fshapp-acc__side{display:block}.fshapp-acc--ov .fshapp-list__ov{display:none}
.fshapp-list>a[aria-current]{background:#e5f0f4}.fshapp-list>a[aria-current] .fshapp-list__i{background:var(--fsh-teal);color:#fff}
.fshapp-list>label,.fshapp-list__row{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 14px;box-sizing:border-box;color:var(--fsh-ink);cursor:pointer}.fshapp-list__row{cursor:default}
.fshapp-list>label>.acx-i{width:16px;height:16px;color:#94a3b8}
.fshapp-list__w i{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#e5f0f4;color:var(--fsh-deep);font:700 11px/1.3 'Source Sans 3',sans-serif;font-style:normal;vertical-align:1px}
.fshapp-acc__del{border:0;background:none;padding:10px 4px;color:#b91c1c;font:700 14px/1 'Source Sans 3',sans-serif;cursor:pointer}
.fshapp-panelcb:checked+.fshapp-shade{opacity:1;pointer-events:auto}
.fshapp-panelcb:checked+.fshapp-shade+.fshapp-rise{transform:none;visibility:visible}
.fshapp-rise--acc{max-height:90dvh;overflow-y:auto;box-sizing:border-box}.fshapp-rise--acc .fshapp-acc__more{margin-top:8px}.fshapp-rise--acc .fshapp-acc__cancel{margin-top:2px}
[data-tone=good]{--tone:#15803d;--tone-bg:#dcfce7}
.fshapp-tix{display:grid;gap:8px}
.fshapp-tix article{display:flex;gap:12px;padding:12px;border-radius:20px;background:#fff}
.fshapp-tix article>div{flex:1;min-width:0}.fshapp-tix article>div>b{display:block;font:700 17px/1.2 Archivo,sans-serif;color:var(--fsh-ink)}.fshapp-tix small{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:#64748b}.fshapp-tix small a{color:var(--fsh-teal);font-weight:600}
.fshapp-tix i{display:inline-block;margin-top:7px;padding:3px 9px;border-radius:999px;background:var(--tone-bg);color:var(--tone);font:700 12px/1.3 'Source Sans 3',sans-serif;font-style:normal}
.fshapp-tix .fshapp-row__d .acx-i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fshapp-acc__join{display:flex;margin-top:10px;box-sizing:border-box}
.fshapp-tix .acx-key{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:8px 10px;border-radius:12px;background:var(--fsh-paper,#f2f6f7);font-size:13px;overflow-wrap:anywhere}
.fshapp-acc .fshapp-file__open{text-decoration:none}.fshapp-file__ic .acx-i,.fshapp-round .acx-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fshapp-acc .fshapp-prod__open{text-decoration:none}.fshapp-acc .fshapp-prod__heart{position:absolute;top:6px;right:6px}.fshapp-acc .fshapp-prod__heart button{display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#c81e1e;box-shadow:0 4px 14px -6px rgba(8,34,47,.45);cursor:pointer}.fshapp-acc .fshapp-prod__heart svg{width:18px;height:18px}
.fshapp-acc .fshapp-add svg{width:20px;height:20px}
.fshapp-acc__note{margin:-6px 0 12px}
.fshapp-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 0;font-weight:600;font-size:14px;color:var(--fsh-ink);cursor:pointer}
.fshapp-toggle input{position:absolute;right:0;width:50px;height:30px;opacity:0;margin:0;cursor:pointer}
.fshapp-toggle i{position:relative;flex:none;width:50px;height:30px;border-radius:999px;background:#cbd5e1;transition:background .2s}.fshapp-toggle i::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .2s}
.fshapp-toggle input:checked+i{background:var(--fsh-teal)}.fshapp-toggle input:checked+i::after{transform:translateX(20px)}.fshapp-toggle input:focus-visible+i{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fshapp-acc__close{border-radius:20px;background:#fff;overflow:hidden}
.fshapp-acc__close summary{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 14px;box-sizing:border-box;color:#b91c1c;cursor:pointer;list-style:none}.fshapp-acc__close summary::-webkit-details-marker{display:none}.fshapp-acc__close summary b{flex:1;font-weight:600;font-size:15px}.fshapp-acc__close summary .fshapp-list__i{background:#fee2e2;color:#b91c1c}.fshapp-acc__close summary>.acx-i{width:16px;height:16px;color:#94a3b8;fill:none;stroke:currentColor;stroke-width:2}
.fshapp-acc__close summary .acx-i{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}
.fshapp-acc__close form{padding:2px 14px 14px}.fshapp-acc__close p{margin:0 0 10px;font-size:14px;line-height:1.5;color:#475569}
.fshapp-acc__doc .acx-inv__tools{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.fshapp-engine.fsh-engine.fshapp-acc__doc .acx-inv{padding:16px;box-sizing:border-box;overflow:hidden;border-radius:20px}.fshapp-engine.fsh-engine.fshapp-acc__doc .acx-inv__table{width:100%;table-layout:auto}.fshapp-engine.fsh-engine.fshapp-acc__doc .acx-inv__table th,.fshapp-engine.fsh-engine.fshapp-acc__doc .acx-inv__table td{padding:8px 4px;font-size:13px}.fshapp-engine.fsh-engine.fshapp-acc__doc .acx-inv__table td{white-space:nowrap}
.fshapp-acc a.fshapp-add--choose{text-decoration:none}
@media print{.fshapp-acc__side,.fshapp-acc__h1{display:none}}

/* An iPad, either way round (Duncan, 31 Oct 2026): the same app, with room. Everything stays on the screen; the lists gain columns, the panels become a card, and the plus stays bottom right. */
@media (min-width:700px){
 :root{--fshapp-g:max(32px,calc((100vw - 1040px)/2))}
 .fshapp-bar{padding:0 calc(var(--fshapp-g) - 16px)}
 .fshapp-tabs{max-width:640px;margin:10px auto 0}
 .fshapp-tabs a{padding:12px 4px;font-size:14px}
 .fsh-notices.fshapp-notices{padding:12px var(--fshapp-g) 0}
 .fshapp-tabbar>a,.fshapp-tabbar>label,.fshapp-tabbar__plus{font-size:12px}
 .fshapp-sec{padding:40px var(--fshapp-g) 42px}
 .fshapp-sec--tight{padding:26px var(--fshapp-g) 0}
 .fshapp-h{margin-bottom:20px}.fshapp-h h2{font-size:34px}.fshapp-h__sub{font-size:16px}
 /* A page's top */
 .fshapp-ph__pic{height:280px}
 .fshapp-ph__on{left:var(--fshapp-g);right:var(--fshapp-g)}.fshapp-ph__on h1{font-size:44px}
 .fshapp-ph__card{margin:-26px var(--fshapp-g) 0;padding:20px 24px}.fshapp-ph__card p{font-size:17px}
 .fshapp-ph__btns{max-width:520px}
 .fshapp-ph__h1s.fshapp-ph__h1s{font-size:36px}
 .fshapp-ph__pic--face{height:380px}
 .fshapp-offers{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding:16px var(--fshapp-g) 0}
 .fshapp-credit,.fshapp-tagline{margin-left:var(--fshapp-g);margin-right:var(--fshapp-g)}
 /* The home page */
 .fshapp-hero{padding:44px var(--fshapp-g) 88px}
 .fshapp-hero h1{font-size:50px}.fshapp-hero>p:not(.fshapp-kick){font-size:18px}
 .fshapp-go{margin:-46px var(--fshapp-g) 0;padding:18px 8px 16px}
 .fshapp-go a,.fshapp-go label{font-size:14px}
 .fshapp-fcard{min-height:340px}.fshapp-fcard>div{padding:28px}.fshapp-fcard h2{font-size:38px}.fshapp-fcard p:not(.fshapp-kick){font-size:16px}
 .fshapp-fpick{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.fshapp-fpick button:nth-child(odd):last-child{grid-column:auto}
 .fshapp-figs{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.fshapp-figs p:last-child:nth-child(odd){grid-column:auto}
 /* Lists gain columns */
 .fshapp-prods{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .fshapp-prods:has(>:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
 .fshapp-tiles2{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
 .fshapp-tiles2 .fshapp-course__pic{height:130px}
 .fshapp-depts,.fshapp-people{gap:12px}
 .fshapp-depts a{height:170px}.fshapp-depts b{font-size:16px}.fshapp-depts small{font-size:12px}.fshapp-depts span{left:12px;bottom:12px}
 .fshapp-depts:has(>a:nth-child(4n):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
 .fshapp-depts:has(>a:nth-child(4n):last-child)>a{grid-column:auto}
 .fshapp-person__pic{height:190px}.fshapp-person__b{padding:12px 14px 14px}.fshapp-person__b b{font-size:17px}.fshapp-person__b small{font-size:13px}
 .fshapp-voices{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .fshapp-voices blockquote{padding:18px}.fshapp-voices p{font-size:15px}
 .fshapp-postrows,.fshapp-posts,.fshapp-jobs,.fshapp-places,.fshapp-ladder{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .fshapp-revs,.fshapp-files,.fshapp-cases,.fshapp-videos{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
 .fshapp-tickets{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
 .fshapp-linkrows,.fshapp-perks,.fshapp-badges{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
 .fshapp-shotgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 .fshapp-ladder::before{display:none}
 .fshapp-places img{height:190px}
 /* The month: wide and low, so the whole of it is on the screen */
 .fshapp-cal{padding:18px}
 .fshapp-cal__g button{aspect-ratio:auto;height:60px;font-size:16px}
 .fshapp-cal--flat .fshapp-cal__g button{height:52px}
 /* Panels: a card rising from the foot of the screen, not the width of it */
 .fshapp-sheet{left:0;right:0;width:600px;max-width:600px;margin-left:auto;margin-right:auto}
 .fshapp-sheet__pic{height:230px}.fshapp-shots__row img{height:260px}
 .fshapp-sheet--full{width:100%;max-width:100%}
 .fshapp-sheet--full .fshapp-sheet__b{padding-left:max(18px,calc((100vw - 680px)/2));padding-right:max(18px,calc((100vw - 680px)/2))}
 .fshapp-rise{width:600px;max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}
 .fshapp-sticky{width:600px;margin-left:auto;margin-right:auto;box-sizing:border-box}
 .fshapp-toast{width:520px;margin-left:auto;margin-right:auto}
 .fshapp-find{padding:10px var(--fshapp-g)}
 /* A product's own page: picture on the left, the buying on the right */
 .fshapp-product .pv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:24px var(--fshapp-g) 0;align-items:start}
 .fshapp-product .pv-gallery__main{border-radius:24px;aspect-ratio:1}
 .fshapp-product.fsh-engine .pv-thumbs{margin:10px 0 0}
 .fshapp-product .pv-info{padding:0}
 .fshapp-product .pv-more{margin:24px var(--fshapp-g) 0}
 .fshapp-product .pv-row{padding:0 var(--fshapp-g)}
 .fshapp-product .pv-buy__row{left:0;right:0;width:600px;margin-left:auto;margin-right:auto;box-sizing:border-box}
 .fshapp-product.fsh-engine dialog.bk-modal,.fshapp-product.fsh-engine .hp-cal{left:0;right:0;width:600px;max-width:600px;margin-left:auto;margin-right:auto}
 /* The basket and checkout */
 .fshapp-basket.fsh-engine .sec{padding:26px var(--fshapp-g) 30px}
 .fshapp-basket.fsh-engine .ck-steps{justify-content:center;gap:10px}
 .fshapp-basket.fsh-engine .ck-code{max-width:none}
 .fshapp-paybar{padding-left:var(--fshapp-g);padding-right:var(--fshapp-g)}
 /* The account, tracking and the rest */
 .fshapp-engine.fsh-engine .sec{padding:26px var(--fshapp-g) 32px}
 .fshapp-engine.fsh-engine button[type=submit]{width:auto;min-width:220px;padding:0 28px}
 .fshapp-engine.fsh-engine .acx-nav{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
 .fshapp-vac{padding:32px var(--fshapp-g) 34px}.fshapp-vac h1{font-size:42px}
 .fshapp-watch.fsh-watch{max-width:min(100%,calc((100dvh - 170px)*16/9));margin:0 auto}
 /* The account and the review sites */
 .fshapp-acc{padding:0 var(--fshapp-g) 40px}
 .fshapp-acc__who{margin:0 calc(0px - var(--fshapp-g)) 18px;padding:28px var(--fshapp-g) 30px}
 .fshapp-orders{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
 .fshapp-tix{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
 .fshapp-rise--ofilter .fshapp-opt div{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fshapp-research{max-width:none}
 .fshapp-rsites div{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
 .fshapp-rsites a:last-child:nth-child(odd){grid-column:auto}
 .fshapp-rise .fshapp-ph__btns{max-width:none}
 /* A section still in its Standard drawing */
 body:has(.fshapp-top) .fsh-wrap{padding-left:var(--fshapp-g);padding-right:var(--fshapp-g);max-width:none}
 body:has(.fshapp-top) .mt-blk section{padding-left:var(--fshapp-g);padding-right:var(--fshapp-g)}
 body:has(.fshapp-top) .fsh-albums{gap:12px}
 body:has(.fshapp-top) .fsh-albums__c{height:170px}
 body:has(.fshapp-top) .fsh-albums__c b{font-size:16px}body:has(.fshapp-top) .fsh-albums__c small{font-size:12px}
}
/* Landscape, and the biggest iPad: wider still */
@media (min-width:1000px){
 .fshapp-prods{grid-template-columns:repeat(4,minmax(0,1fr))}
 .fshapp-voices{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
 .fshapp-depts:has(>a:nth-child(6):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
 .fshapp-depts:has(>a:nth-child(6):last-child)>a{grid-column:auto}
 .fshapp-rows{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
 .fshapp-ph__pic{height:240px}
 .fshapp-basket.fsh-engine .ck-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
 .fshapp-basket.fsh-engine .ck-side{margin-top:0}
 /* The account sideways: the list of rows stays on the right on every screen, as on Overview */
 .fshapp-acc{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:0 20px;align-items:start}
 .fshapp-acc__who{grid-column:1/-1}
 .fshapp-acc__side,.fshapp-acc--ov .fshapp-acc__side{display:block;position:sticky;top:68px}
 .fshapp-acc:not(.fshapp-acc--ov) .fshapp-acc__side{padding-top:20px}
 .fshapp-acc--ov{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .fshapp-acc--ov .fshapp-list__ov{display:flex}
 .fshapp-acc .fshapp-orders{grid-template-columns:minmax(0,1fr)}
 .fshapp-acc .fshapp-tix,.fshapp-acc .fshapp-files{grid-template-columns:minmax(0,1fr)}
 .fshapp-acc .fshapp-prods.fshapp-prods{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* On a computer with a mouse: the real pages, in a phone. An iPad gets the app itself, above; the script marks a touch screen, because an iPad with a trackpad can answer like a mouse. */
.fshapp-stage{display:none}
@media (min-width:820px) and (hover:hover) and (pointer:fine){
 html:has(.fshapp-stage){overflow:hidden}
 .fshapp-stage{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:clamp(40px,7vw,110px);padding:24px;color:#e5f0f4;background:radial-gradient(1100px 600px at 12% 0,#0f4f48,transparent 60%),#03161f}
 .fshapp-stage__t{max-width:400px}.fshapp-stage__t p.fshapp-stage__h{margin:10px 0 14px;font:800 44px/1.05 Archivo,sans-serif;color:#fff}.fshapp-stage__t p{font-size:17px;line-height:1.55;color:#b7d3dd;margin:0 0 22px}.fshapp-stage__t .fshapp-kick{margin:0;font-size:12px;color:#86c9dc}
 .fshapp-stage__t .fsh-view a{font-size:14px;padding:9px 18px}
 .fshapp-stage__phone{flex:none;width:390px;height:min(844px,calc(100vh - 48px));border:10px solid #0b1220;border-radius:46px;overflow:hidden;background:#fff;box-shadow:0 50px 90px -30px #000}
 .fshapp-stage iframe{display:block;width:100%;height:100%;border:0}
}
html[data-fshapp-touch] .fshapp-stage{display:none}
html[data-fshapp-touch]:has(.fshapp-stage){overflow:auto}
@media (prefers-reduced-motion:reduce){.fshapp-sheet[open],.fshapp-sticky,.fshapp-toast{animation:none}.fshapp-rise,.fshapp-side,.fshapp-shade{transition:none}}

/* The fishing shop's raised Shop button (7 Nov 2026): every department as a big tile, three across, all on the screen. */
.fshapp-rise--depts{max-height:88dvh;overflow-y:auto;box-sizing:border-box}
.fshapp-deptiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}
.fshapp-rise a.fshapp-deptile{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0;border-radius:16px;overflow:hidden;background:var(--fsh-paper,#f2f6f7);min-height:48px}
.fshapp-deptile img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;background:#dfe7ea}
.fshapp-rise a .fshapp-deptile__i{width:100%;height:auto;aspect-ratio:5/4;border-radius:0;background:var(--fsh-deep);color:#86c9dc}
.fshapp-rise a.fshapp-deptile b{font-size:13px;line-height:1.2;padding:7px 8px 9px;text-align:center}
.fshapp-rise a.fshapp-rise__all{margin-top:4px}
.fshapp-rise a.fshapp-deptile:focus-visible,.fshapp-rise a.fshapp-rise__all:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
#fshapp-book:checked~.fshapp-rise--depts{transform:none;visibility:visible}
/* The finder's second step: words, no pictures (where you are fishing). */
.fshapp-fpick--words button{height:64px;background:var(--fsh-paper,#f2f6f7);border:1.5px solid var(--fsh-line,#dfe7ea)}
.fshapp-fpick--words button::after{display:none}
.fshapp-fpick--words b{position:static;display:block;padding:0 12px;text-align:center;color:var(--fsh-ink)}
.fshapp-fpick button:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
/* The fishing shop's own sections on a phone (7 Nov 2026). */
.fshapp-about__pic{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px;margin:0 0 16px}
.fshapp-about__pts{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.fshapp-about__pts li{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:18px;background:var(--fsh-paper,#f2f6f7)}
.fshapp-about__pts span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--fsh-deep);color:#86c9dc;flex:none}
.fshapp-about__pts b{display:block;font-size:15px}.fshapp-about__pts small{display:block;font-size:13px;line-height:1.4;color:#4a5a66;margin-top:2px}
.fshapp-steps__l{list-style:none;padding:0;margin:6px 0 0;position:relative}
.fshapp-steps__l::before{content:"";position:absolute;left:21px;top:20px;bottom:20px;width:2px;background:rgba(103,212,238,.45)}
.fshapp-steps__l li{position:relative;display:flex;gap:14px;padding:0 0 18px}
.fshapp-steps__l li>span{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--fsh-cta);color:#1c1917;flex:none}
.fshapp-steps__l small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#67d4ee}
.fshapp-steps__l b{display:block;font-size:16px;color:#fff;margin:2px 0 4px}.fshapp-steps__l p{margin:0;font-size:14px;line-height:1.5;color:#cde2ea}
/* A long list a page at a time on a phone (components/shop-pager.tsx, 7 Nov 2026). */
.fshapp-sp-bar{display:grid;gap:10px;margin:0 0 14px}
.fshapp-sp-bar__n{margin:0;font-size:14px;color:#4a5a66}.fshapp-sp-bar__n b{color:var(--fsh-ink)}
.fshapp-sp-bar__ranges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.fshapp-sp-bar__ranges a{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);text-decoration:none;font-weight:600;font-size:14px}
.fshapp-sp-bar__ranges a small{color:#4a5a66}.fshapp-sp-bar__ranges a[aria-current]{background:var(--fsh-deep);color:#fff}.fshapp-sp-bar__ranges a[aria-current] small{color:#b7d3dd}
.fshapp-sp-bar__f{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fshapp-sp-bar__f label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#4a5a66}
.fshapp-sp-bar__f label:first-child{grid-column:1/-1}
.fshapp-sp-bar__f select,.fshapp-sp-bar__f input{min-height:44px;border:1px solid #dfe7ea;border-radius:12px;padding:0 10px;font:inherit;font-size:16px;background:#fff;width:100%;box-sizing:border-box}
.fshapp-sp-bar__f button{grid-column:1/-1;min-height:48px;border-radius:999px;border:0;background:var(--fsh-cta);color:#1c1917;font-weight:700}
.fshapp-sp-bar__f a{grid-column:1/-1;text-align:center;color:var(--fsh-teal);font-weight:700;padding:6px}
.fshapp-sp-pages{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0}
.fshapp-sp-pages>a,.fshapp-sp-pages>span{display:grid;place-items:center;min-height:48px;border-radius:999px;border:1.5px solid #cbd5e1;color:var(--fsh-ink);text-decoration:none;font-weight:700}
.fshapp-sp-pages>span{opacity:.4}
.fshapp-sp-pages__n{grid-column:1/-1;grid-row:1;display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
.fshapp-sp-pages__n a{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);text-decoration:none;font-weight:700}
.fshapp-sp-pages__n a[aria-current]{background:var(--fsh-deep);color:#fff}.fshapp-sp-pages__n i{align-self:center}
/* A list a page at a time (7 Nov 2026): Filter and Sort pinned under the top bar; the ticks and price boxes in the sheet. */
.fshapp-tools--pin{position:sticky;top:56px;z-index:30;margin:0 calc(-1 * var(--fshapp-g,16px));padding:8px var(--fshapp-g,16px);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 18px -16px rgba(8,34,47,.6)}
.fshapp-tools--pin button{background:var(--fsh-paper,#f2f6f7)}
a.fshapp-pick{text-decoration:none;color:var(--fsh-ink)}
.fshapp-pick--tick:has(input:checked) .fshapp-tick{background:var(--fsh-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/15px no-repeat;box-shadow:none}
.fshapp-money{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fshapp-money label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#4a5a66}
.fshapp-money input{min-height:48px;border:1px solid #dfe7ea;border-radius:12px;padding:0 12px;font:inherit;font-size:16px;background:#fff;width:100%;box-sizing:border-box}
.fshapp-showing a{color:var(--fsh-teal);font-weight:700}

/* fsh-v2.css */
/* Fishing Shop, version 2 — 7 November 2026 (v2.tsx). Its own design for a big shop, in our look: deep loch blue
   off the brand, photographs carrying the bands, glass cards, big soft shadows, 20–30px radii, staggered reveals.
   Only drawn on a computer for a visitor who chose it (/api/view?design=v2); every rule is behind .ft- so version 1
   and the phone's App look are untouched. */
:root{--ft-deep:#08222f;--ft-deep2:#0d3446;--ft-deep3:#123f55;--ft-ink:#0f1c24;--ft-mid:#4a5a66;--ft-paper:#f2f6f7;--ft-line:#dfe7ea;
  --ft-cta:#f26b1d;--ft-cta-ink:#1c1917;--ft-teal:#0f5e73;--ft-glow:#67d4ee;--ft-pale:#cde2ea;--ft-r:24px;
  --ft-shadow:0 30px 70px -40px rgba(8,34,47,.55);--ft-shadow-s:0 16px 36px -26px rgba(8,34,47,.5)}
.ft-wrap{max-width:1400px;margin:0 auto;padding:0 clamp(16px,3vw,40px);box-sizing:border-box}
.ft-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ft-ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ft-skip{position:absolute;left:-999px;top:8px;z-index:200;background:#fff;color:var(--ft-ink);padding:10px 16px;border-radius:12px;font-weight:700}.ft-skip:focus{left:12px}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}
.ft-btn:hover{transform:translateY(-2px)}
.ft-btn--cta{background:var(--ft-cta);color:var(--ft-cta-ink);box-shadow:0 16px 30px -16px rgba(242,107,29,.9)}
.ft-btn--deep{background:var(--ft-deep);color:#fff}
.ft-btn--line{border-color:var(--ft-line);color:var(--ft-ink);background:#fff}
.ft-btn--ghost{border-color:rgba(255,255,255,.45);color:#fff}
.ft-btn:focus-visible,.ft-hd a:focus-visible,.ft-sec a:focus-visible,.ft-ft a:focus-visible{outline:3px solid var(--ft-cta);outline-offset:3px}
.ft-kick{margin:0;font:700 13px/1 'Source Sans 3',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ft-teal)}
.ft-kick--light,.ft-h--light .ft-kick{color:var(--ft-glow)}
.ft-h{margin:0 0 34px}.ft-h h2{font:800 clamp(32px,3.4vw,52px)/1.05 Archivo,sans-serif;letter-spacing:-.02em;margin:8px 0 12px;color:var(--ft-ink)}
.ft-h--light h2{color:#fff}.ft-h--c{text-align:center}.ft-h--c .ft-lede{margin:0 auto}
.ft-lede{margin:0;font-size:19px;line-height:1.55;color:var(--ft-mid)}.ft-h--light .ft-lede{color:var(--ft-pale)}
.ft-row{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.ft-link{font-weight:700;color:var(--ft-teal);text-decoration:none;margin-bottom:40px;white-space:nowrap}.ft-link:hover{text-decoration:underline}
.ft-sec{padding:clamp(64px,7vw,104px) 0;position:relative}
.ft-sec--paper{background:var(--ft-paper)}
.ft-sec--deep{background:radial-gradient(120% 120% at 85% 0%,var(--ft-deep3) 0%,var(--ft-deep) 55%,#061a24 100%);color:#fff}
.ft-glass{display:block;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:22px;color:#fff;text-decoration:none}

/* ── The header ──────────────────────────────────────────────────────────────────────────────────────────────────── */
.ft-strip{background:var(--ft-deep);color:var(--ft-pale);font-size:14px}
.ft-strip__g{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px}
.ft-strip__say{display:flex;gap:28px;margin:0}.ft-strip__say span{display:inline-flex;align-items:center;gap:8px}.ft-strip__say .ft-ic{width:17px;height:17px;color:var(--ft-glow)}
.ft-strip nav{display:flex;gap:22px}.ft-strip nav a{color:#fff;text-decoration:none;font-weight:600}.ft-strip nav a:hover{color:var(--ft-glow)}
.ft-hd{position:sticky;top:0;z-index:70;background:#fff;box-shadow:0 10px 30px -22px rgba(8,34,47,.6)}
.ft-hd__g{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,44px);min-height:88px}
.ft-logo{display:flex;align-items:center;gap:12px;color:var(--ft-ink);text-decoration:none}
.ft-logo__m{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(150deg,var(--ft-deep3),var(--ft-deep));color:var(--ft-glow)}
.ft-logo__m svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ft-logo__w b{display:block;font:800 25px/1 Archivo,sans-serif;letter-spacing:-.02em}.ft-logo__w small{display:block;margin-top:4px;color:var(--ft-mid);font-size:13px;font-weight:600}
.ft-search{display:flex;align-items:center;height:56px;border:2px solid var(--ft-line);background:var(--ft-paper);border-radius:999px;padding:0 6px 0 22px;transition:border-color .15s,box-shadow .15s}
.ft-search:focus-within{border-color:var(--ft-teal);background:#fff;box-shadow:0 0 0 5px rgba(15,94,115,.14)}
.ft-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:17px;color:var(--ft-ink);outline:none}
.ft-search button{display:grid;place-items:center;width:46px;height:46px;border-radius:999px;border:0;background:var(--ft-cta);color:var(--ft-cta-ink);cursor:pointer}
.ft-search svg,.ft-hd__i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ft-hd__act{display:flex;align-items:center;gap:8px}
.ft-hd__i{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:58px;padding:6px 8px;border-radius:14px;color:var(--ft-ink);text-decoration:none;font-size:12px;font-weight:700}
.ft-hd__i:hover{background:var(--ft-paper)}
.ft-hd__cart .fsh-cart>summary,.ft-hd__cart .fsh-btn{min-height:50px}
.ft-nav{position:relative;background:linear-gradient(90deg,var(--ft-deep),var(--ft-deep2))}
.ft-nav__l{list-style:none;display:flex;flex-wrap:wrap;margin:0 auto;padding-top:0;padding-bottom:0}
.ft-nav__i{position:static}.ft-nav__i--end{margin-left:auto}
.ft-nav__i>a{display:flex;align-items:center;height:54px;padding:0 15px;color:#fff;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.01em;position:relative}
.ft-nav__i>a::after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--ft-cta);transform:scaleX(0);transition:transform .18s}
.ft-nav__i:hover>a,.ft-nav__i:focus-within>a{background:rgba(255,255,255,.08)}
.ft-nav__i:hover>a::after,.ft-nav__i:focus-within>a::after,.ft-nav__i>a[aria-current]::after{transform:scaleX(1)}
.ft-mega{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 40px 80px -40px rgba(8,34,47,.6);border-top:1px solid var(--ft-line);visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .16s .08s,transform .16s .08s,visibility 0s .24s;z-index:80}
.ft-nav__i:hover>.ft-mega,.ft-nav__i:focus-within>.ft-mega{visibility:visible;opacity:1;transform:none;transition:opacity .16s .1s,transform .16s .1s,visibility 0s .1s}
.ft-mega__g{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;padding-top:30px;padding-bottom:34px;max-height:calc(100vh - 220px);overflow:auto}
.ft-mega__cols{columns:4 180px;column-gap:30px}
.ft-mega__col{break-inside:avoid;margin:0 0 22px}
.ft-mega__t{display:block;font:800 16px/1.25 Archivo,sans-serif;color:var(--ft-ink);text-decoration:none;margin:0 0 8px}.ft-mega__t:hover{color:var(--ft-teal)}
.ft-mega__col ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.ft-mega__col li a{color:var(--ft-mid);text-decoration:none;font-size:15px}.ft-mega__col li a:hover{color:var(--ft-teal);text-decoration:underline}
.ft-mega__more{font-weight:700;color:var(--ft-teal)!important}
.ft-mega__card{position:relative;display:block;border-radius:22px;overflow:hidden;min-height:340px;color:#fff;text-decoration:none;box-shadow:var(--ft-shadow-s)}
.ft-mega__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ft-mega__card:hover img{transform:scale(1.05)}
.ft-mega__card span{position:absolute;inset:auto 0 0;padding:22px;background:linear-gradient(180deg,transparent,rgba(8,34,47,.92) 45%)}
.ft-mega__card small{display:block;color:var(--ft-glow);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ft-mega__card b{display:block;font:800 23px/1.15 Archivo,sans-serif;margin:6px 0}.ft-mega__card em{font-style:normal;color:var(--ft-pale);font-weight:700}
.ft-notices{background:#fff7ed;border-bottom:1px solid #fed7aa}.ft-notices p{margin:0 auto;padding-top:10px;padding-bottom:10px;display:flex;gap:10px;flex-wrap:wrap}.ft-notices a{font-weight:700;color:#9a3412}

/* ── The top of the home page ───────────────────────────────────────────────────────────────────────────────────── */
.ft-hero{position:relative;overflow:hidden;background:var(--ft-deep);color:#fff;isolation:isolate}
.ft-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:ftDrift 30s ease-in-out infinite alternate}
.ft-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(6,26,36,.95) 0%,rgba(8,34,47,.82) 38%,rgba(8,34,47,.35) 70%,rgba(8,34,47,.25) 100%),linear-gradient(0deg,rgba(6,26,36,.85),transparent 40%)}
@keyframes ftDrift{from{transform:scale(1.04)}to{transform:scale(1.12) translateX(-1.5%)}}
.ft-hero__g{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:clamp(30px,5vw,80px);align-items:center;padding-top:clamp(56px,7vw,110px);padding-bottom:clamp(40px,5vw,70px)}
.ft-hero h1{font:800 clamp(46px,5.6vw,84px)/.98 Archivo,sans-serif;letter-spacing:-.035em;margin:14px 0 20px;max-width:none}
.ft-hero__lede{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--ft-pale);margin:0 0 30px;max-width:46em}
.ft-hsearch{display:flex;align-items:center;height:68px;border-radius:999px;background:#fff;padding:0 8px 0 24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.ft-hsearch__i{color:var(--ft-mid);margin-right:12px}
.ft-hsearch input{flex:1;min-width:0;border:0;font:inherit;font-size:19px;color:var(--ft-ink);outline:none;background:transparent}
.ft-hsearch button{height:54px;padding:0 30px;border-radius:999px;border:0;background:var(--ft-cta);color:var(--ft-cta-ink);font-weight:800;font-size:17px;cursor:pointer}
.ft-hsearch:focus-within{box-shadow:0 0 0 5px rgba(103,212,238,.4),0 30px 60px -30px rgba(0,0,0,.7)}
.ft-pop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 0}.ft-pop span{color:var(--ft-pale);font-weight:700;margin-right:4px}
.ft-pop a{padding:9px 16px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-weight:600;font-size:15px;backdrop-filter:blur(8px)}
.ft-pop a:hover{background:rgba(255,255,255,.22)}
.ft-hero__card{padding:26px;border-radius:28px;background:rgba(8,34,47,.55);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.ft-hero__nums{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin:0 0 18px}
.ft-hero__nums div{padding:14px 12px;border-radius:18px;background:rgba(255,255,255,.08);text-align:center}
.ft-hero__nums b{font:800 32px/1 Archivo,sans-serif;color:#fff}.ft-hero__nums span{display:block;margin-top:6px;font-size:13px;color:var(--ft-pale);font-weight:600}
.ft-hero__feat{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.ft-hero__feat a{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:8px;border-radius:16px;background:#fff;color:var(--ft-ink);text-decoration:none;transition:transform .18s}
.ft-hero__feat a:hover{transform:translateX(4px)}
.ft-hero__feat img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--ft-paper)}
.ft-hero__feat b{display:block;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ft-hero__feat em{font-style:normal;font-weight:800;color:var(--ft-teal)}
.ft-hero__go{width:100%;box-sizing:border-box}
.ft-hero__promise{border-top:1px solid rgba(255,255,255,.14);background:rgba(6,26,36,.55);backdrop-filter:blur(10px)}
.ft-hero__promise ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 auto;padding-top:20px;padding-bottom:20px}
.ft-hero__promise li{display:flex;align-items:center;gap:14px}.ft-hero__promise .ft-ic{width:40px;height:40px;padding:9px;border-radius:13px;background:rgba(103,212,238,.16);color:var(--ft-glow);box-sizing:border-box}
.ft-hero__promise b{display:block;font-size:16px}.ft-hero__promise span{font-size:14px;color:var(--ft-pale)}

/* ── The kinds of fishing, a wall of photographs ──────────────────────────────────────────────────────────────────── */
/* Six columns: the first two kinds three wide and two tall, the rest two wide, so eleven fill five rows exactly. */
.ft-kinds__g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:230px;gap:18px}
.ft-kind{grid-column:span 2}
.ft-kind{position:relative;border-radius:var(--ft-r);overflow:hidden;background:var(--ft-deep);box-shadow:var(--ft-shadow-s);isolation:isolate}
.ft-kind--big{grid-column:span 3;grid-row:span 2}
.ft-kind img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ft-kind:hover img{transform:scale(1.07)}
.ft-kind::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,34,47,0) 30%,rgba(8,34,47,.92) 100%)}
.ft-kind__b{position:absolute;inset:auto 0 0;padding:22px;color:#fff}
.ft-kind h3{margin:0;font:800 24px/1.1 Archivo,sans-serif}.ft-kind--big h3{font-size:clamp(30px,2.6vw,40px)}
.ft-kind h3 a{color:#fff;text-decoration:none}.ft-kind h3 a::before{content:"";position:absolute;inset:0}
.ft-kind__n{margin:6px 0 0;color:var(--ft-glow);font-weight:700;font-size:14px}
.ft-kind ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;position:relative}
.ft-kind ul a{display:inline-block;padding:7px 12px;border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-size:13px;font-weight:600;backdrop-filter:blur(6px)}
.ft-kind ul a:hover{background:var(--ft-cta);color:var(--ft-cta-ink);border-color:transparent}
.ft-kind:not(.ft-kind--big) ul{display:none}

/* ── Product shelves (version 1's shelf and card, in this frame) ─────────────────────────────────────────────────── */
.ft-shelf .fsh-sec{padding:clamp(56px,6vw,90px) 0;background:#fff}
.ft-shelf .fsh-wrap{max-width:1400px;padding:0 clamp(16px,3vw,40px);box-sizing:border-box}
.ft-shelf .fsh-head h2{font:800 clamp(32px,3.4vw,52px)/1.05 Archivo,sans-serif;letter-spacing:-.02em}
.ft-shelf .fsh-grid,.ft-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.ft-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ft-shelf--deep .fsh-sec{background:radial-gradient(110% 130% at 10% 0%,var(--ft-deep3),var(--ft-deep) 60%,#061a24)}
.ft-shelf .fsh-card,.ft-tabs .fsh-card,.ft-finder .fsh-card{border-radius:22px;border-color:var(--ft-line);box-shadow:var(--ft-shadow-s)}
.ft-shelf .fsh-card:hover,.ft-tabs .fsh-card:hover{transform:translateY(-5px);box-shadow:var(--ft-shadow)}

/* ── The shop by kind of fishing, as tabs ───────────────────────────────────────────────────────────────────────── */
.ft-tabs__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 28px}
.ft-tabs__opts label{display:grid;place-items:center;min-height:58px;padding:0 14px;border-radius:16px;background:#fff;border:1.5px solid var(--ft-line);font-weight:800;font-size:16px;cursor:pointer;text-align:center;transition:background .15s,color .15s}
.ft-tabs__opts label:hover{border-color:var(--ft-teal)}
.ft-tabs__p{display:none}
.ft-tabs__all{text-align:center;margin:28px 0 0}

/* ── The kit finder ─────────────────────────────────────────────────────────────────────────────────────────────── */
.ft-finder__g{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:28px;align-items:start}
.ft-finder__fish{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ft-finder__fish label{position:relative;height:150px;border-radius:20px;overflow:hidden;cursor:pointer;background:var(--ft-deep2);isolation:isolate;transition:transform .18s}
.ft-finder__fish label:hover{transform:translateY(-3px)}
.ft-finder__fish img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ft-finder__fish label::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(6,26,36,.9))}
.ft-finder__fish span{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:10px;background:rgba(8,34,47,.6);font:800 16px/1.2 Archivo,sans-serif;color:#fff;backdrop-filter:blur(6px)}
.ft-finder__p{display:none;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px}
.ft-finder__say{padding:28px;border-radius:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px)}
.ft-finder__say h3{margin:0 0 8px;font:800 34px/1.05 Archivo,sans-serif}
.ft-finder__say>p{margin:0 0 18px;color:var(--ft-pale);font-size:17px;line-height:1.55}
.ft-finder__waters{margin:0 0 22px;display:grid;gap:8px}
.ft-finder__waters div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06)}
.ft-finder__waters dt{font-weight:800;color:#fff}.ft-finder__waters dd{margin:0;color:var(--ft-pale);font-size:14px;line-height:1.45}
.ft-finder__kit{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;align-content:start}
.ft-finder__kit .fsh-card{color:var(--ft-ink)}
.ft-finder__none{grid-column:1/-1;margin:0;padding:28px;border-radius:22px;border:1.5px dashed rgba(255,255,255,.3);color:var(--ft-pale);text-align:center}

/* ── Popular categories ─────────────────────────────────────────────────────────────────────────────────────────── */
.ft-popular__g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ft-ptile{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--ft-line);color:var(--ft-ink);text-decoration:none;box-shadow:var(--ft-shadow-s);transition:transform .2s,box-shadow .2s}
.ft-ptile:hover{transform:translateY(-4px);box-shadow:var(--ft-shadow)}
.ft-ptile__pic{display:grid;place-items:center;aspect-ratio:4/3;background:linear-gradient(150deg,var(--ft-deep2),var(--ft-deep));color:var(--ft-glow);overflow:hidden}
.ft-ptile__pic img{width:100%;height:100%;object-fit:cover}.ft-ptile__pic .ft-ic{width:40px;height:40px}
.ft-ptile__t{padding:12px 14px 14px}.ft-ptile__t small{display:block;color:var(--ft-teal);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.ft-ptile__t b{display:block;font-size:16px;line-height:1.25;margin-top:3px}

/* ── About the shop ─────────────────────────────────────────────────────────────────────────────────────────────── */
.ft-about__g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,90px);align-items:center}
.ft-about__copy .rich p,.ft-about__copy>div>p{font-size:19px;line-height:1.65;color:var(--ft-mid)}
.ft-about__pts{list-style:none;margin:26px 0 30px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ft-about__pts li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:18px;border-radius:20px;background:var(--ft-paper);border:1px solid var(--ft-line)}
.ft-about__pts span{grid-row:span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--ft-deep);color:var(--ft-glow)}
.ft-about__pts b{font-size:17px}.ft-about__pts small{font-size:14px;line-height:1.45;color:var(--ft-mid)}
.ft-about__pics{position:relative;min-height:540px}
.ft-about__pics img{position:absolute;object-fit:cover;border-radius:28px;box-shadow:var(--ft-shadow)}
.ft-about__p1{top:0;right:0;width:84%;height:80%}
.ft-about__p2{left:0;bottom:0;width:52%;height:50%;border:8px solid #fff}

/* ── How delivery works ─────────────────────────────────────────────────────────────────────────────────────────── */
.ft-steps{color:#fff;background:var(--ft-deep);overflow:hidden;isolation:isolate}
.ft-steps__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.45}
.ft-steps::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,34,47,.9),rgba(8,34,47,.75))}
.ft-steps__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:18px;counter-reset:s}
.ft-steps__l li{position:relative;padding:30px 24px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);opacity:.3;transform:translateY(16px);transition:opacity .55s,transform .55s;transition-delay:calc(.3s * var(--i))}
.ft-steps__l.is-in li{opacity:1;transform:none}
.ft-steps__l li:not(:last-child)::after{content:"";position:absolute;top:58px;right:-14px;width:10px;height:10px;border-top:3px solid var(--ft-glow);border-right:3px solid var(--ft-glow);transform:rotate(45deg)}
.ft-steps__dot{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--ft-cta);color:var(--ft-cta-ink);margin:0 0 18px;box-shadow:0 14px 30px -14px rgba(242,107,29,.9)}
.ft-steps__l small{display:block;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ft-glow)}
.ft-steps__l b{display:block;font:800 22px/1.2 Archivo,sans-serif;margin:6px 0 8px}.ft-steps__l p{margin:0;color:var(--ft-pale);line-height:1.55}
.ft-steps__go{text-align:center;margin:34px 0 0}

/* ── Where to fish ──────────────────────────────────────────────────────────────────────────────────────────────── */
.ft-where{color:#fff;background:var(--ft-deep);overflow:hidden;isolation:isolate;min-height:640px;display:flex;align-items:center}
.ft-where .ft-wrap{width:100%}
.ft-where__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ft-where::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,26,36,.92) 0%,rgba(8,34,47,.7) 50%,rgba(8,34,47,.35) 100%)}
.ft-where__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.ft-where__regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 28px}
.ft-where__regions span,.ft-where__regions a{display:grid;place-items:center;min-height:52px;padding:0 10px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-weight:700;text-align:center;backdrop-filter:blur(8px)}
.ft-where__regions a:hover{background:var(--ft-cta);color:var(--ft-cta-ink)}
.ft-where__cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ft-where__cards a{padding:22px;transition:transform .2s,background .2s}.ft-where__cards a:hover{transform:translateY(-4px);background:rgba(255,255,255,.16)}
.ft-where__cards b{display:block;font:800 21px/1.2 Archivo,sans-serif;margin:0 0 8px}.ft-where__cards span{display:block;color:var(--ft-pale);line-height:1.5;font-size:15px}.ft-where__cards em{display:block;margin-top:12px;font-style:normal;font-weight:700;color:var(--ft-glow)}

/* ── Articles as a magazine ─────────────────────────────────────────────────────────────────────────────────────── */
.ft-mag__g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}
.ft-mag__big{position:relative;display:block;min-height:460px;border-radius:28px;overflow:hidden;color:#fff;text-decoration:none;box-shadow:var(--ft-shadow);isolation:isolate}
.ft-mag__big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}.ft-mag__big:hover img{transform:scale(1.05)}
.ft-mag__big::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(6,26,36,.92))}
.ft-mag__big span{position:absolute;inset:auto 0 0;padding:30px}
.ft-mag small{display:block;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ft-teal)}.ft-mag__big small{color:var(--ft-glow)}
.ft-mag__big b{display:block;font:800 clamp(26px,2.4vw,36px)/1.1 Archivo,sans-serif;margin:8px 0}.ft-mag__big em{font-style:normal;color:var(--ft-pale);font-size:17px;line-height:1.5}
.ft-mag__rest{display:grid;gap:14px;align-content:start}
.ft-mag__rest a{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;padding:12px;border-radius:22px;background:#fff;border:1px solid var(--ft-line);color:var(--ft-ink);text-decoration:none;box-shadow:var(--ft-shadow-s);transition:transform .2s}
.ft-mag__rest a:hover{transform:translateX(5px)}
.ft-mag__rest img{width:150px;height:110px;object-fit:cover;border-radius:16px}.ft-mag__rest b{display:block;font:800 19px/1.25 Archivo,sans-serif;margin-top:5px}

/* ── Questions, the closing band ────────────────────────────────────────────────────────────────────────────────── */
.ft-faq .fsh-sec{background:var(--ft-paper)}.ft-faq .fsh-wrap{max-width:1400px}
.ft-close{color:#fff;background:var(--ft-deep);overflow:hidden;isolation:isolate}
.ft-close__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ft-close::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,26,36,.92),rgba(8,34,47,.55))}
.ft-close__g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:40px;align-items:center}
.ft-close__go{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.ft-news{padding:30px}.ft-news h3{margin:0 0 6px;font:800 26px/1.15 Archivo,sans-serif}.ft-news p{margin:0 0 16px;color:var(--ft-pale)}
.ft-news input{width:100%;box-sizing:border-box;height:54px;border-radius:14px;border:0;padding:0 16px;font:inherit;font-size:16px;margin:0 0 10px}
.ft-news .ft-btn{width:100%}

/* ── A category's own page ──────────────────────────────────────────────────────────────────────────────────────── */
.ft-cat__top{position:relative;color:#fff;background:var(--ft-deep);overflow:hidden;isolation:isolate;padding:44px 0 54px}
.ft-cat__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55}
.ft-cat__top::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,26,36,.95),rgba(8,34,47,.6))}
.ft-crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:14px;margin:0 0 14px}.ft-crumbs a{color:var(--ft-pale);text-decoration:none}.ft-crumbs a::after{content:"›";margin-left:6px;color:var(--ft-glow)}.ft-crumbs span{color:#fff;font-weight:700}
.ft-cat h1{margin:0 0 12px;font:800 clamp(38px,4.4vw,64px)/1 Archivo,sans-serif;letter-spacing:-.03em}
.ft-cat__lede{margin:0;font-size:19px;line-height:1.55;color:var(--ft-pale);max-width:60em}
.ft-cat__kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:-26px 0 10px;position:relative}
.ft-cat__kids a{display:grid;grid-template-columns:60px 1fr;gap:12px;align-items:center;padding:10px;border-radius:18px;background:#fff;border:1px solid var(--ft-line);color:var(--ft-ink);text-decoration:none;box-shadow:var(--ft-shadow-s);transition:transform .18s}
.ft-cat__kids a:hover{transform:translateY(-3px)}
.ft-cat__kids img,.ft-cat__ic{width:60px;height:60px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:linear-gradient(150deg,var(--ft-deep2),var(--ft-deep));color:var(--ft-glow)}
.ft-cat__kids b{display:block;font-size:15px;line-height:1.25}.ft-cat__kids small{color:var(--ft-mid);font-size:13px}
.ft-cat__guide{padding-top:20px;padding-bottom:10px;color:var(--ft-mid);font-size:17px;line-height:1.65;max-width:1400px}

/* ── The mega footer ────────────────────────────────────────────────────────────────────────────────────────────── */
.ft-ft{background:#061a24;color:var(--ft-pale)}
.ft-ft__news{background:linear-gradient(90deg,var(--ft-deep2),var(--ft-deep3))}
.ft-ft__newsg{display:grid;grid-template-columns:1fr minmax(320px,520px);gap:30px;align-items:center;padding-top:30px;padding-bottom:30px}
.ft-ft__newsg b{display:block;color:#fff;font:800 24px/1.2 Archivo,sans-serif}.ft-ft__newsg span{color:var(--ft-pale)}
.ft-ft__newsg form{display:flex;gap:10px;flex-wrap:wrap}.ft-ft__newsg input{flex:1;min-width:200px;height:52px;border-radius:999px;border:0;padding:0 20px;font:inherit;font-size:16px}
.ft-ft__g{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;gap:30px 40px;padding-top:44px;padding-bottom:48px}
/* The shop's footer (8 Nov 2026): help blocks along the top, then the columns, the newsletter and the ways to pay. */
.ft-ft__help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 40px;padding-top:52px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.ft-ft__hb{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}.ft-ft__hb .ft-ic{width:40px;height:40px;color:var(--ft-cta)}
.ft-ft__hb p{margin:0 0 10px;color:var(--ft-pale);font-size:15px;line-height:1.55}.ft-ft__hb .ft-ft__t{margin-bottom:8px}
.ft-ft__hl{display:flex;flex-wrap:wrap;gap:8px 20px}.ft-ft__hl a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}.ft-ft__hl a:hover{color:var(--ft-cta)}
.ft-ft__news2>p{margin:0 0 14px;color:var(--ft-pale);font-size:15px;line-height:1.55}
.ft-ft__news2 form{display:grid;gap:10px}.ft-ft__news2 input{height:50px;border-radius:999px;border:0;padding:0 20px;font:inherit;font-size:16px}
.ft-ft__t--pay{margin-top:26px}
.ft-ft__col .ft-ft__pay{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ft-ft__pay li{background:#fff;color:#0b2230;border-radius:8px;padding:7px 11px;font:800 13px/1 Archivo,sans-serif}
.ft-ft__bar nav{display:flex;flex-wrap:wrap;gap:8px 22px}.ft-ft__bar a{color:var(--ft-pale);text-decoration:none}.ft-ft__bar a:hover{color:#fff;text-decoration:underline}
.ft-ft__t{display:block;margin:0 0 12px;color:#fff;font:800 16px/1.25 Archivo,sans-serif;text-decoration:none}
.ft-ft__col ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.ft-ft__col a{color:var(--ft-pale);text-decoration:none;font-size:14px}.ft-ft__col a:hover{color:#fff;text-decoration:underline}
.ft-ft__bar{border-top:1px solid rgba(255,255,255,.1)}.ft-ft__bar .ft-wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;font-size:14px}

/* ── Narrower screens (a phone gets the App look; this is for tablets and small laptops) ─────────────────────────── */
@media (max-width:1240px){.ft-nav__i>a{padding:0 11px;font-size:14px}.ft-strip__say span:nth-child(3){display:none}.ft-shelf .fsh-grid,.ft-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ft-popular__g{grid-template-columns:repeat(4,minmax(0,1fr))}.ft-ft__g{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-ft__help{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1024px){.ft-hero__g,.ft-about__g,.ft-where__g,.ft-close__g,.ft-mag__g,.ft-finder__g{grid-template-columns:minmax(0,1fr)}.ft-finder__p{grid-template-columns:minmax(0,1fr)}.ft-hero__promise ul{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-kinds__g{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-kind,.ft-kind--big{grid-column:span 1}.ft-kind--big{grid-column:span 2}.ft-steps__l{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-steps__l li::after{display:none}.ft-shelf .fsh-grid,.ft-grid,.ft-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}.ft-hd__g{grid-template-columns:auto 1fr;}.ft-hd__act{grid-column:1/-1;justify-content:flex-end;padding-bottom:10px}.ft-strip__say span:nth-child(2){display:none}.ft-about__pics{min-height:420px}}
@media (max-width:700px){.ft-kinds__g,.ft-about__pts,.ft-where__cards{grid-template-columns:minmax(0,1fr)}.ft-kind--big{grid-column:auto}.ft-shelf .fsh-grid,.ft-grid,.ft-grid--4,.ft-popular__g{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-hero__nums{grid-template-columns:1fr 1fr 1fr}.ft-ft__g{grid-template-columns:minmax(0,1fr)}.ft-strip nav{display:none}.ft-mag__rest a{grid-template-columns:96px 1fr}.ft-mag__rest img{width:96px;height:80px}}
@media (prefers-reduced-motion:reduce){.ft-hero__bg{animation:none}.ft-steps__l li{opacity:1;transform:none;transition:none}.ft-btn,.ft-kind img,.ft-mag__big img,.ft-mega,.ft-mega__card img{transition:none}}
/* A heading's own best sellers in the mega menu (8 Nov 2026): two lines at most */
.ft-mega__p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.35}
/* Keyboard focus on every box and choice (8 Nov 2026, the go-live accessibility check). */
.ft-hd :is(input,select,textarea):focus-visible,.ft-ft :is(input,select,textarea):focus-visible,main :is(input,select,textarea):focus-visible{outline:3px solid var(--ft-cta);outline-offset:2px}
/* A narrow window or a page zoomed right in (320px, the WCAG reflow width): the header folds, nothing sideways. */
@media (max-width:560px){.ft-hd__g{grid-template-columns:minmax(0,1fr)}.ft-search,.ft-search input{min-width:0;width:100%;max-width:100%;box-sizing:border-box}.ft-mega{display:none}.ft-hd__act{flex-wrap:wrap;gap:8px;justify-content:flex-start}}
/* An inside page's top and long words (7 Nov 2026). */
.ft-page .ft-cat__top{padding:56px 0 64px}.ft-page .ft-kick{margin:0 0 8px}
.ft-page__go{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.ft-prose__g{display:block}
.ft-prose .rich,.ft-prose__g>div{font-size:18px;line-height:1.7;color:var(--ft-mid)}
.ft-prose h2{font:800 30px/1.15 Archivo,sans-serif;color:var(--ft-ink);margin:36px 0 12px}.ft-prose h3{font:800 22px/1.2 Archivo,sans-serif;color:var(--ft-ink);margin:28px 0 10px}
.ft-prose a{color:var(--ft-teal);font-weight:700}.ft-prose ul{padding-left:22px}.ft-prose li{margin:6px 0}

/* fsh.css */
/* Fishing Shop — a copy of the Cadence demo's design (25 October 2026), 7 November 2026. Deep loch blue, paper between,
   float-tip orange for the action with dark words on it (white on that orange is too faint to read). */
:root{--fsh-teal:var(--site-primary,#0f5e73);--fsh-deep:#08222f;--fsh-deep-2:#0d3446;--fsh-cta:var(--site-cta,#f26b1d);--fsh-ink:#0f1c24;--fsh-mid:#4a5a66;--fsh-paper:#f2f6f7;--fsh-line:#dfe7ea;--fsh-r:24px;--fsh-shadow:0 24px 60px -30px rgba(8,34,47,.5)}
.fsh-wrap{max-width:1320px;margin:0 auto;padding:0 clamp(16px,4vw,60px);box-sizing:content-box}
/* A section design from the library on this site lines up with its own sections (29 Oct 2026, the final pass): the
   library's full-width box (max-w-7xl, 1280px) takes .fsh-wrap's width and edges, whether its side padding is on the
   section or on the box. The narrower designs (a FAQ, a call to action) stay centred columns, with the same edges on
   a phone. */
.mt-blk section.px-6{padding-left:clamp(16px,4vw,60px);padding-right:clamp(16px,4vw,60px)}
.mt-blk section .max-w-7xl.mx-auto{max-width:1320px}
.mt-blk section .max-w-7xl.mx-auto.px-6{padding-left:clamp(16px,4vw,60px);padding-right:clamp(16px,4vw,60px);box-sizing:content-box}
@media (max-width:767px){.mt-blk section .mx-auto.px-6{padding-left:clamp(16px,4vw,60px);padding-right:clamp(16px,4vw,60px)}}
body{margin:0;font-family:'Source Sans 3',system-ui,sans-serif;color:var(--fsh-ink);background:#fff}
h1,h2,h3,h4{font-family:Archivo,'Source Sans 3',system-ui,sans-serif;letter-spacing:-.01em}
.fsh-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fsh-skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--fsh-ink);padding:10px 14px;border-radius:10px;z-index:99}.fsh-skip:focus{left:12px}
.fsh-demo{background:#111827;color:#fde68a;text-align:center;font-size:13px;padding:7px 16px}
/* Buttons */
.fsh-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 22px;font-weight:700;font-size:15px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.fsh-btn:hover{transform:translateY(-2px)}
.fsh-btn--cta{background:var(--fsh-cta);color:#1c1917;box-shadow:0 12px 26px -14px rgba(242,107,29,.9)}
.fsh-btn--teal{background:var(--fsh-teal);color:#fff}
.fsh-btn--line{border-color:var(--fsh-teal);color:var(--fsh-teal);background:#fff}
.fsh-btn:focus-visible,.fsh-nav a:focus-visible,.fsh-finder__opts label:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:3px}
/* Header */
.fsh-hd{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--fsh-line)}
.fsh-hd__g{display:flex;align-items:center;gap:28px;min-height:78px}
.fsh-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fsh-ink)}
.fsh-logo svg{width:44px;height:44px;fill:none;stroke:var(--fsh-teal);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.fsh-logo span{font:800 24px/1 Archivo,sans-serif}.fsh-logo small{display:block;font:600 11px/1.4 'Source Sans 3',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--fsh-mid)}
.fsh-nav{display:flex;gap:4px;margin-left:auto}.fsh-nav a{padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--fsh-ink);font-weight:600;font-size:15px}.fsh-nav a:hover,.fsh-nav a[aria-current]{background:var(--fsh-paper);color:var(--fsh-teal)}
.fsh-hd__act{display:flex;gap:10px}.fsh-hd__act .fsh-btn{padding:10px 18px}
.fsh-nav-t,.fsh-burger{display:none}
@media (max-width:1100px){
 /* Trap 10 (sites/clients/_template/README.md): absolute inside the sticky header goes dead on an iPhone once scrolled.
    The burger (its label) takes the tap; the checkbox stays focusable for the keyboard, out of the way (25 Oct 2026). */
 .fsh-nav-t{display:block;position:fixed;opacity:0;width:1px;height:1px;left:0;top:0;pointer-events:none;margin:0}
 .fsh-burger{cursor:pointer}
 .fsh-burger{display:grid;place-items:center;width:44px;height:44px;margin-left:auto;border-radius:12px;background:var(--fsh-paper)}
 .fsh-burger span,.fsh-burger span::before,.fsh-burger span::after{display:block;width:20px;height:2px;background:var(--fsh-ink);position:relative;content:''}
 .fsh-burger span::before{position:absolute;top:-6px}.fsh-burger span::after{position:absolute;top:6px}
 .fsh-nav-t:focus-visible+.fsh-burger{outline:3px solid var(--fsh-cta);outline-offset:2px}
 .fsh-nav{position:fixed;inset:78px 0 0;background:#fff;flex-direction:column;padding:20px;gap:6px;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;visibility:hidden;overflow:auto;pointer-events:none}
 .fsh-nav a{font-size:20px;padding:14px}
 .fsh-nav-t:checked~.fsh-nav{transform:none;visibility:visible;opacity:1;pointer-events:auto}
 .fsh-hd__act{display:none}
}
/* Sections */
.fsh-sec{padding:clamp(64px,8vw,104px) 0}
.fsh-sec--paper{background:var(--fsh-paper)}
.fsh-sec--deep{background:radial-gradient(1200px 500px at 10% -10%,var(--fsh-deep-2),transparent 60%),var(--fsh-deep);color:#e5f0f4}
.fsh-head{margin:0 0 36px}.fsh-head h2{font-size:clamp(30px,3.6vw,48px);line-height:1.08;margin:6px 0 10px;color:var(--fsh-ink)}
.fsh-head--light h2{color:#fff}.fsh-lede{font-size:18px;line-height:1.6;color:var(--fsh-mid);margin:0}.fsh-head--light .fsh-lede{color:#b7d3dd}
.fsh-kick{margin:0;font:700 13px/1 'Source Sans 3',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--fsh-teal)}.fsh-kick--light,.fsh-head--light .fsh-kick{color:#67d4ee}
.fsh-row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}.fsh-link{font-weight:700;color:var(--fsh-teal);text-decoration:none;margin-bottom:40px}
/* Hero */
.fsh-hero{background:radial-gradient(900px 500px at 85% 20%,rgba(103,212,238,.28),transparent 60%),linear-gradient(160deg,var(--fsh-deep-2),var(--fsh-deep));color:#fff;padding:clamp(48px,6vw,84px) 0 clamp(56px,7vw,96px);overflow:hidden}
.fsh-hero__g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.fsh-hero h1{font-size:clamp(40px,5.2vw,72px);line-height:1.02;margin:12px 0 18px}
.fsh-hero__lede{font-size:19px;line-height:1.6;color:#cde2ea;margin:0 0 26px;max-width:none}
.fsh-search{display:flex;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px;backdrop-filter:blur(8px)}
.fsh-search input{flex:1;min-width:0;background:transparent;border:0;color:#fff;font-size:16px;padding:0 16px}.fsh-search input::placeholder{color:#9cc2d0}.fsh-search input:focus{outline:none}.fsh-search:focus-within{box-shadow:0 0 0 3px var(--fsh-cta)}
/* The finder's and the testimonials' own radios are hidden; their group shows the keyboard focus instead. */
.fsh-finder:has(input[name=fsh-finder]:focus-visible) .fsh-finder__opts,.fsh-voices:has(input[name=fsh-voice]:focus-visible) .fsh-dots{outline:3px solid var(--fsh-cta);outline-offset:6px;border-radius:18px}
.fsh-band input:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-depts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.fsh-depts a{color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}.fsh-depts a:hover{background:rgba(255,255,255,.18)}
.fsh-hero__show{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:clamp(380px,38vw,520px)}
.fsh-tile{position:relative;border-radius:var(--fsh-r);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);text-decoration:none}
.fsh-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.fsh-tile:hover img{transform:scale(1.05)}
.fsh-tile--0{grid-row:span 2}.fsh-tile--3{display:none}
.fsh-tile__cap{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;gap:8px;padding:10px 14px;border-radius:16px;background:rgba(8,34,47,.6);backdrop-filter:blur(10px);color:#fff;font-size:14px}.fsh-tile__cap em{font-style:normal;font-weight:700;color:#fdba74}
/* Finder */
.fsh-finder__opts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.fsh-finder__opts label{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:18px;background:#fff;border:1px solid var(--fsh-line);font-weight:700;font-size:16px;cursor:pointer;transition:all .15s}
.fsh-finder__opts label span{font-size:22px}.fsh-finder__opts label:hover{border-color:var(--fsh-teal)}
.fsh-finder__p{display:none;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.fsh-finder__about{display:grid;grid-template-columns:240px 1fr;gap:22px;background:#fff;border-radius:var(--fsh-r);padding:18px;box-shadow:var(--fsh-shadow)}
.fsh-finder__about img{width:100%;height:100%;min-height:200px;object-fit:cover;border-radius:18px}.fsh-finder__about h3{font-size:28px;margin:6px 0 8px}.fsh-finder__about p{color:var(--fsh-mid);line-height:1.6}
.fsh-finder__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fsh-finder__list a{display:flex;gap:14px;align-items:center;background:#fff;border-radius:18px;padding:10px;text-decoration:none;color:var(--fsh-ink);box-shadow:0 10px 30px -22px rgba(8,34,47,.5);transition:transform .15s}.fsh-finder__list a:hover{transform:translateX(4px)}
.fsh-finder__list img{width:84px;height:64px;object-fit:cover;border-radius:12px}.fsh-finder__list span{display:flex;flex-direction:column}.fsh-finder__list em{font-style:normal;color:var(--fsh-teal);font-weight:700}
.fsh-finder__none{background:#fff;border-radius:18px;padding:18px;color:var(--fsh-mid)}
.fsh-size{margin-top:26px;background:linear-gradient(135deg,var(--fsh-deep-2),var(--fsh-teal));color:#fff;border-radius:var(--fsh-r);padding:22px 26px;display:grid;grid-template-columns:220px 1fr;gap:6px 24px;align-items:center}
.fsh-size label{font-size:16px}.fsh-size output{font:800 22px Archivo,sans-serif;color:#fdba74;margin-left:6px}.fsh-size input{width:100%;accent-color:var(--fsh-cta)}
.fsh-size__say{grid-column:1/-1;margin:6px 0 0;font:600 20px/1.4 Archivo,sans-serif}.fsh-size__small{grid-column:1/-1;margin:0;color:#e5f0f4;font-size:14px}
/* Shelf */
.fsh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fsh-card{background:#fff;border-radius:var(--fsh-r);overflow:hidden;border:1px solid var(--fsh-line);box-shadow:0 18px 40px -32px rgba(8,34,47,.5);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.fsh-card:hover{transform:translateY(-4px);box-shadow:var(--fsh-shadow)}
.fsh-card__pic{position:relative;display:block;aspect-ratio:4/3;background:var(--fsh-paper)}.fsh-card__pic img{width:100%;height:100%;object-fit:cover}
.fsh-flashes{position:absolute;top:12px;left:12px;right:64px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}
/* The card from Duncan's Flowbite pictures, 27 Oct 2026: photos with arrows and '1 of 3' (CSS radios), the heart in the corner, dropdowns + Add on the card */
.fsh-card{scroll-margin-top:110px}.fsh-gal{position:relative}
.fsh-gal__r{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.fsh-card__pic .fsh-gal__img{position:absolute;inset:0;opacity:0;transition:opacity .3s}.fsh-card__pic .fsh-gal__img--0{opacity:1}
.fsh-gal:has(.fsh-gal__r:checked) .fsh-gal__img{opacity:0}.fsh-gal:has(.fsh-gal__r:checked) .fsh-gal__set{display:none}
.fsh-gal:has(.fsh-gal__r--0:checked) .fsh-gal__img--0{opacity:1}.fsh-gal:has(.fsh-gal__r--0:checked) .fsh-gal__set--0{display:flex}.fsh-gal:has(.fsh-gal__r--1:checked) .fsh-gal__img--1{opacity:1}.fsh-gal:has(.fsh-gal__r--1:checked) .fsh-gal__set--1{display:flex}.fsh-gal:has(.fsh-gal__r--2:checked) .fsh-gal__img--2{opacity:1}.fsh-gal:has(.fsh-gal__r--2:checked) .fsh-gal__set--2{display:flex}.fsh-gal:has(.fsh-gal__r--3:checked) .fsh-gal__img--3{opacity:1}.fsh-gal:has(.fsh-gal__r--3:checked) .fsh-gal__set--3{display:flex}.fsh-gal:has(.fsh-gal__r--4:checked) .fsh-gal__img--4{opacity:1}.fsh-gal:has(.fsh-gal__r--4:checked) .fsh-gal__set--4{display:flex}.fsh-gal:has(.fsh-gal__r--5:checked) .fsh-gal__img--5{opacity:1}.fsh-gal:has(.fsh-gal__r--5:checked) .fsh-gal__set--5{display:flex}
.fsh-gal__nav{display:flex;justify-content:center;padding:10px 0 0;min-height:46px;box-sizing:border-box}
.fsh-gal__set{display:none;align-items:center;gap:14px;color:var(--fsh-mid);font-weight:600;font-size:14px}.fsh-gal__set--0{display:flex}
.fsh-gal__set label{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;cursor:pointer;color:var(--fsh-ink)}.fsh-gal__set label:hover{background:var(--fsh-paper)}
.fsh-gal__set svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fsh-gal:has(.fsh-gal__r:focus-visible) .fsh-gal__set label{outline:2px solid var(--fsh-cta);outline-offset:2px}
.fsh-gal .vh,.fsh-card .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fsh-card__icons{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:8px}.fsh-card__heart{margin:0}
.fsh-card__eye{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:var(--fsh-ink);box-shadow:0 4px 14px -6px rgba(8,34,47,.45);cursor:pointer}
.fsh-card__eye:hover{background:#fff;color:var(--fsh-teal)}.fsh-card__eye:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-card__eye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* Quick view — Duncan's picture, 27 Oct 2026: the browser's own popover over the page */
.fsh-qv{width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:24px;padding:32px;margin:auto;background:#fff;color:var(--fsh-ink);box-shadow:0 40px 90px -30px rgba(8,34,47,.6)}
.fsh-qv::backdrop{background:rgba(8,34,47,.55);backdrop-filter:blur(3px)}
.fsh-qv__x{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:999px;background:#fff;color:var(--fsh-ink);cursor:pointer}.fsh-qv__x:hover{background:var(--fsh-paper)}
.fsh-qv__x svg,.fsh-qv__more svg,.fsh-qv__share svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fsh-qv__x:focus-visible,.fsh-qv__share a:focus-visible,.fsh-qv__share button:focus-visible,.fsh-qv__more:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-qv__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.fsh-qv__media{min-width:0}.fsh-qv__r{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.fsh-qv__big{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--fsh-paper)}
.fsh-qv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}.fsh-qv__img--0{opacity:1}
.fsh-qv__media:has(.fsh-qv__r:checked) .fsh-qv__img{opacity:0}
.fsh-qv__media:has(.fsh-qv__r--0:checked) .fsh-qv__img--0{opacity:1}.fsh-qv__media:has(.fsh-qv__r--0:checked) .fsh-qv__thumb--0{border-color:var(--fsh-teal)}.fsh-qv__media:has(.fsh-qv__r--1:checked) .fsh-qv__img--1{opacity:1}.fsh-qv__media:has(.fsh-qv__r--1:checked) .fsh-qv__thumb--1{border-color:var(--fsh-teal)}.fsh-qv__media:has(.fsh-qv__r--2:checked) .fsh-qv__img--2{opacity:1}.fsh-qv__media:has(.fsh-qv__r--2:checked) .fsh-qv__thumb--2{border-color:var(--fsh-teal)}.fsh-qv__media:has(.fsh-qv__r--3:checked) .fsh-qv__img--3{opacity:1}.fsh-qv__media:has(.fsh-qv__r--3:checked) .fsh-qv__thumb--3{border-color:var(--fsh-teal)}.fsh-qv__media:has(.fsh-qv__r--4:checked) .fsh-qv__img--4{opacity:1}.fsh-qv__media:has(.fsh-qv__r--4:checked) .fsh-qv__thumb--4{border-color:var(--fsh-teal)}.fsh-qv__media:has(.fsh-qv__r--5:checked) .fsh-qv__img--5{opacity:1}.fsh-qv__media:has(.fsh-qv__r--5:checked) .fsh-qv__thumb--5{border-color:var(--fsh-teal)}
.fsh-qv__heart{position:absolute;top:14px;right:14px}
.fsh-qv__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.fsh-qv__thumb{display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;cursor:pointer;border:2px solid transparent;background:var(--fsh-paper)}.fsh-qv__thumb img{width:100%;height:100%;object-fit:cover}
.fsh-qv__media:has(.fsh-qv__r:focus-visible) .fsh-qv__thumbs{outline:3px solid var(--fsh-cta);outline-offset:4px;border-radius:14px}
.fsh-qv__info{display:flex;flex-direction:column;gap:16px;padding-right:36px;min-width:0}
.fsh-qv__info h2{font:800 clamp(26px,3vw,36px)/1.15 Archivo,sans-serif;margin:6px 0 0}.fsh-qv__info .fsh-card__tags{margin:0}
.fsh-qv__sum{margin:0;color:var(--fsh-mid);line-height:1.6}
.fsh-qv__price{border-top:1px solid var(--fsh-line);border-bottom:1px solid var(--fsh-line);padding:16px 0}
.fsh-qv__price p{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.fsh-qv__price b{font:800 28px Archivo,sans-serif}
.fsh-qv__price s{color:var(--fsh-mid)}.fsh-qv__price em{font-style:normal;color:#b42318;font-weight:600}
.fsh-qv__price .fsh-qv__vat{margin-top:8px;color:#047857;font-size:14px;font-weight:500}
.fsh-qv__buy{display:flex;flex-direction:column;gap:18px}
.fsh-qv__opt{border:0;margin:0;padding:0;min-width:0}.fsh-qv__opt legend{font-weight:700;margin:0 0 10px;padding:0}
.fsh-qv__opt>div{display:flex;flex-wrap:wrap;gap:10px}
.fsh-qv__chip{position:relative}.fsh-qv__chip input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.fsh-qv__chip span{display:grid;place-items:center;min-width:48px;height:48px;padding:0 16px;border:1.5px solid #cbd5e1;border-radius:999px;font-weight:600;cursor:pointer;background:#fff}
.fsh-qv__chip span:hover{border-color:var(--fsh-teal)}.fsh-qv__chip input:checked+span{border-color:var(--fsh-cta);color:#9a3412;box-shadow:inset 0 0 0 1px var(--fsh-cta)}
.fsh-qv__chip input:focus-visible+span{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-qv__qty{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.fsh-qv__opt:last-of-type{padding-bottom:18px;border-bottom:1px solid var(--fsh-line)}
.fsh-qv__qty p{margin:0;color:var(--fsh-mid);font-size:14px}.fsh-qv__qty p span{color:#b42318;font-weight:700}
.fsh-qv .pv-qty{display:inline-flex;align-items:center;background:var(--fsh-paper);border-radius:999px;padding:4px}
.fsh-qv .pv-qty button{width:40px;height:40px;border:0;border-radius:999px;background:none;font-size:20px;color:var(--fsh-ink);cursor:pointer}.fsh-qv .pv-qty button:hover{background:#fff}.fsh-qv .pv-qty button:disabled{color:#94a3b8;cursor:default;background:none}
.fsh-qv .pv-qty input{width:44px;border:0;background:none;text-align:center;font:inherit;font-weight:700;-moz-appearance:textfield}.fsh-qv .pv-qty input::-webkit-inner-spin-button,.fsh-qv .pv-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fsh-qv .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fsh-qv__btns{display:flex;flex-wrap:wrap;gap:14px}
.fsh-qv__now,.fsh-qv__add{flex:1 1 170px;min-height:52px;border-radius:999px;font:700 16px 'Source Sans 3',system-ui,sans-serif;cursor:pointer}
.fsh-qv__now{border:0;background:var(--fsh-teal);color:#fff}.fsh-qv__now:hover{background:var(--fsh-deep-2)}
.fsh-qv__add{border:2px solid var(--fsh-teal);background:#fff;color:var(--fsh-teal)}.fsh-qv__add:hover{background:var(--fsh-paper)}
.fsh-qv__now:focus-visible,.fsh-qv__add:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-qv__out{margin:0;color:#9b1c1c;font-weight:700}.fsh-qv__choose{margin:0;padding:14px 16px;background:var(--fsh-paper);border-radius:14px}
.fsh-qv__more{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-weight:700;color:var(--fsh-teal);text-decoration:none}.fsh-qv__more:hover{text-decoration:underline}
.fsh-qv__share{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--fsh-mid);margin-top:auto;padding-top:8px}
.fsh-qv__share a,.fsh-qv__share button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--fsh-line);border-radius:999px;background:#fff;color:var(--fsh-ink);cursor:pointer}.fsh-qv__share a:hover,.fsh-qv__share button:hover{border-color:var(--fsh-teal);color:var(--fsh-teal)}
@media (max-width:820px){.fsh-qv{padding:18px;border-radius:20px}.fsh-qv__g{grid-template-columns:minmax(0,1fr);gap:20px}.fsh-qv__info{padding-right:0}.fsh-qv__big{aspect-ratio:4/3}.fsh-qv__x{top:24px;right:24px;box-shadow:0 4px 14px -6px rgba(8,34,47,.45)}.fsh-qv__heart{top:auto;bottom:14px}}
@media (prefers-reduced-motion:reduce){.fsh-qv__img,.fsh-gal__img{transition:none}}
.mt-heart button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:var(--fsh-ink);box-shadow:0 4px 14px -6px rgba(8,34,47,.45);cursor:pointer}
.mt-heart button:hover{background:#fff;color:#c81e1e}.mt-heart.is-on button{color:#c81e1e}.mt-heart button:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.mt-heart__i,.mt-cart__i{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fsh-card__sum{margin:-4px 0 0;color:var(--fsh-mid);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fsh-card__buy{display:grid;gap:12px;margin-top:auto}
.fsh-card__opts{display:flex;flex-wrap:wrap;gap:10px}.fsh-card__opts .mt-opts__f{flex:1 1 110px}
.fsh-card__opts .mt-opts__f>span{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.fsh-card__opts select{width:100%;min-height:42px;border:1px solid var(--fsh-line);border-radius:12px;background:#f8fafc;padding:0 10px;font:inherit;font-size:14px;color:var(--fsh-ink)}
.fsh-card__opts select:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:1px}
.fsh-add--wide{width:100%;justify-content:center;padding:12px 16px}
/* The shop card inside the product page's rows (27 Oct 2026): its own heart and dropdowns, not the engine's square ones */
.fsh-engine .fsh-card .mt-heart button{width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:var(--fsh-ink);box-shadow:0 4px 14px -6px rgba(8,34,47,.45)}
.fsh-engine .fsh-card .mt-heart.is-on button,.fsh-engine .fsh-card .mt-heart button:hover{color:#c81e1e;background:#fff}
.fsh-engine .fsh-card .mt-heart__i{width:20px;height:20px;stroke-width:1.9}
.fsh-engine .fsh-card .fsh-card__opts .mt-opts__f{flex:1 1 110px}
.fsh-engine .fsh-card .fsh-card__opts select{min-height:42px;border:1px solid var(--fsh-line);border-radius:12px;background:#f8fafc;padding:0 8px;font:inherit;font-size:14px;color:var(--fsh-ink)}
.fsh-engine .fsh-grid--rows .fsh-card h3{font-size:17px;margin:0;line-height:1.3}
.fsh-flash{background:var(--fsh-cta);color:#1c1917;font-weight:800;font-size:12px;padding:5px 10px;border-radius:999px;box-shadow:0 1px 3px rgba(16,24,40,.12)}
/* The product page's badge colours (globals.css .pv-badge--*), 27 Oct 2026 */
.fsh-flash--new{background:#dbeafe;color:#1e40af}.fsh-flash--sale{background:#fde8e8;color:#9b1c1c}.fsh-flash--featured{background:#fdf6b2;color:#723b13}
.fsh-card__b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1}.fsh-card{min-width:0}.fsh-card__b{min-width:0}.fsh-card h3{font-size:17px;margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsh-card h3 a{color:inherit;text-decoration:none}
.fsh-card__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 0;font-size:13px}.fsh-kind{border:1px solid var(--fsh-line);border-radius:999px;padding:2px 10px;color:var(--fsh-mid);font-weight:600}.fsh-stock{font-weight:700}.fsh-stock--low{color:#9a3412}.fsh-stock--out{color:#9b1c1c}.fsh-stock--order{color:var(--fsh-teal)}
.fsh-card__f{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.fsh-price{font:800 20px Archivo,sans-serif}.fsh-price s{font-weight:500;font-size:14px;color:var(--fsh-mid);margin-right:6px}
.fsh-add{display:inline-flex;align-items:center;gap:6px;background:var(--fsh-teal);color:#fff;border:0;border-radius:999px;padding:9px 16px;font:700 14px 'Source Sans 3',system-ui,sans-serif;text-decoration:none;cursor:pointer}.fsh-add:hover{background:var(--fsh-deep-2)}.fsh-out{font-size:13px;color:var(--fsh-mid)}
/* Workshop ladder */
.fsh-ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:end}
.fsh-rung{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--fsh-r);padding:16px 18px 22px;backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:10px}
.fsh-rung:nth-child(1){min-height:420px}.fsh-rung:nth-child(2){min-height:460px}.fsh-rung:nth-child(3){min-height:500px}.fsh-rung:nth-child(4){min-height:440px}
.fsh-rung img{width:100%;height:150px;object-fit:cover;border-radius:16px}
.fsh-rung--pick{background:rgba(103,212,238,.16);border-color:#67d4ee}.fsh-rung__tag{position:absolute;top:24px;right:24px;background:var(--fsh-cta);color:#1c1917;font-weight:800;font-size:12px;padding:5px 10px;border-radius:999px}
.fsh-rung h3{color:#fff;font-size:22px;margin:4px 0 0}.fsh-rung__price{font:800 34px Archivo,sans-serif;color:#fdba74;margin:0}.fsh-rung__price small{font:600 14px 'Source Sans 3',sans-serif;color:#9cc2d0;margin-left:8px}
.fsh-rung p{line-height:1.55;color:#cde2ea;margin:0}.fsh-rung .fsh-btn{margin-top:auto;justify-content:center}
/* Cycle to Work */
.fsh-c2w__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.fsh-calc{background:#fff;border-radius:var(--fsh-r);padding:28px;box-shadow:var(--fsh-shadow)}
.fsh-calc label{font-size:16px}.fsh-calc output{font:800 26px Archivo,sans-serif;color:var(--fsh-teal);margin-left:6px}.fsh-calc input[type=range]{width:100%;accent-color:var(--fsh-teal);margin:12px 0 18px}
.fsh-band{border:0;margin:0 0 18px;padding:0;display:flex;gap:10px}.fsh-band label{flex:1;display:flex;gap:8px;align-items:center;justify-content:center;padding:12px;border-radius:14px;background:var(--fsh-paper);font-weight:700;cursor:pointer}.fsh-band label:has(input:checked){background:var(--fsh-teal);color:#fff}
.fsh-calc__out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}.fsh-calc__out div{background:var(--fsh-paper);border-radius:16px;padding:14px}.fsh-calc__out dt{font-size:13px;color:var(--fsh-mid)}.fsh-calc__out dd{margin:4px 0 0;font:800 26px Archivo,sans-serif;color:var(--fsh-ink)}.fsh-calc__out div:first-child dd{color:#c2410c}
.fsh-calc__small{margin:14px 0 0;font-size:13px;color:var(--fsh-mid)}
/* Classes */
.fsh-classes__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px)}
.fsh-classes__pic{width:100%;border-radius:var(--fsh-r);aspect-ratio:4/3;object-fit:cover;box-shadow:var(--fsh-shadow)}
.fsh-tt{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fsh-tt li{display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;background:var(--fsh-paper);border-radius:20px;padding:16px 20px}
.fsh-tt__when b{display:block;font:800 18px Archivo,sans-serif}.fsh-tt__when span{color:var(--fsh-mid);font-size:14px}
.fsh-tt__what h3{margin:0;font-size:18px}.fsh-tt__what p{margin:2px 0 8px;color:var(--fsh-mid);font-size:14px}
.fsh-bar{display:block;height:6px;border-radius:6px;background:#dbe4e8;overflow:hidden}.fsh-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--fsh-teal),#2aa6c4);border-radius:6px}
.fsh-tt__left{text-align:right;font-size:14px;color:var(--fsh-mid)}.fsh-tt__left b{font:800 22px Archivo,sans-serif;color:var(--fsh-ink)}.fsh-tt__left em{display:block;font-style:normal;font-weight:700;color:var(--fsh-teal)}
/* Figures */
.fsh-figs{background:var(--fsh-cta);padding:44px 0}.fsh-figs__g{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;color:#1c1917}
.fsh-figs b{font:800 clamp(40px,5vw,60px)/1 Archivo,sans-serif}.fsh-figs span{display:block;font-weight:600;margin-top:6px}
/* Rides */
.fsh-rides__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fsh-ride{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--fsh-r);overflow:hidden}
.fsh-ride img{width:100%;height:210px;object-fit:cover}
.fsh-ride__date{position:absolute;top:14px;left:14px;background:#fff;color:var(--fsh-ink);border-radius:16px;padding:8px 12px;text-align:center;font-weight:700;font-size:13px;text-transform:uppercase}.fsh-ride__date b{display:block;font:800 26px/1 Archivo,sans-serif}
.fsh-ride__b{padding:18px 20px 22px}.fsh-ride h3{color:#fff;margin:0 0 6px;font-size:21px}.fsh-ride p{color:#cde2ea;line-height:1.55;margin:0}.fsh-ride__meta{margin-top:10px!important;color:#67d4ee!important;font-weight:600;font-size:14px}
/* Team */
.fsh-team__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fsh-team figure{margin:0;background:#fff;border-radius:var(--fsh-r);overflow:hidden;box-shadow:0 18px 40px -32px rgba(8,34,47,.5)}
.fsh-team img{width:100%;height:280px;object-fit:cover}.fsh-team figcaption{padding:18px 20px 22px}.fsh-team b{display:block;font:800 20px Archivo,sans-serif}.fsh-team span{color:var(--fsh-teal);font-weight:700;font-size:14px}.fsh-team p{color:var(--fsh-mid);line-height:1.55;margin:8px 0 0}
/* Team (28 Oct 2026): each card opens the person's page; the person's page. */
.fsh-team__link{display:block;color:inherit;text-decoration:none;height:100%}.fsh-team figure{transition:transform .2s}.fsh-team figure:has(.fsh-team__link):hover{transform:translateY(-4px)}
.fsh-team__more{display:block;margin-top:12px;font-style:normal;font-weight:700;color:var(--fsh-teal)}
.fsh-person__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,44px);align-items:center}
.fsh-person__pic{width:clamp(120px,16vw,200px);height:clamp(120px,16vw,200px);border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.25);box-shadow:var(--fsh-shadow)}
.fsh-person__contact{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.fsh-person{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.fsh-person__quote{margin:0 0 24px;font:600 clamp(22px,2.4vw,30px)/1.35 Archivo,sans-serif;color:var(--fsh-ink);border-left:4px solid var(--fsh-cta);padding-left:18px}
.fsh-person__fact{margin-top:20px;background:var(--fsh-paper);border-radius:16px;padding:14px 18px}.fsh-person__fact b{color:var(--fsh-teal);margin-right:6px}
.fsh-person__side{background:#fff;border:1px solid var(--fsh-line);border-radius:var(--fsh-r);padding:22px 26px;box-shadow:var(--fsh-shadow)}
.fsh-person__side h2{font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--fsh-teal);margin:0 0 10px}.fsh-person__side h2:not(:first-child){margin-top:22px}
.fsh-person__side ul{margin:0;padding-left:18px;display:grid;gap:6px}.fsh-person__side ul.fsh-job__skills{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fsh-person__side ul.fsh-job__skills li{background:var(--fsh-paper);border:1px solid var(--fsh-line);border-radius:999px;padding:6px 14px;font-weight:600;font-size:14px}
.fsh-person__social{display:flex;flex-wrap:wrap;gap:10px;margin:0}.fsh-person__social a{color:var(--fsh-teal);font-weight:700}
@media (max-width:760px){.fsh-person,.fsh-person__head{grid-template-columns:minmax(0,1fr)}}
/* Voices */
.fsh-voices__stage{position:relative;min-height:150px}
.fsh-voice{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .4s}
.fsh-voice p{font:600 clamp(24px,2.8vw,36px)/1.35 Archivo,sans-serif;margin:0 0 18px;color:var(--fsh-ink)}.fsh-voice footer{color:var(--fsh-mid)}.fsh-voice b{color:var(--fsh-ink)}
/* Testimonials (28 Oct 2026): stacked so the tallest sets the height; stars, photo or initial, verified, where and when, the reply. */
.fsh-voices__stage{display:grid;min-height:0}.fsh-voice{grid-area:1/1;position:relative;inset:auto}
.fsh-voice__stars{display:block;font-size:20px;margin-bottom:10px}
.fsh-voice footer{display:flex;gap:14px;align-items:center}
.fsh-voice__pic{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}.fsh-voice__pic--initial{display:grid;place-items:center;background:var(--fsh-teal);color:#fff;font:800 20px Archivo,sans-serif}
.fsh-voice__who{display:block}.fsh-voice__who small{display:block;margin-top:2px;font-size:14px}.fsh-voice__who a{color:var(--fsh-teal);font-weight:600}
.fsh-voice__verified{display:inline-block;margin-left:10px;font-size:13px;font-weight:700;color:var(--fsh-teal)}
.fsh-voice p.fsh-voice__reply{font:400 16px/1.55 'Source Sans 3',sans-serif;margin:18px 0 0;padding:14px 18px;background:var(--fsh-paper);border-radius:16px;color:var(--fsh-mid)}.fsh-voice__reply b{color:var(--fsh-ink);margin-right:6px}
.fsh-dots{display:flex;gap:8px;margin-top:20px}.fsh-dots label{width:12px;height:12px;border-radius:12px;background:#cbd5e1;cursor:pointer;transition:all .2s}
/* Journal */
.fsh-journal__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fsh-post{display:flex;flex-direction:column;background:#fff;border-radius:var(--fsh-r);overflow:hidden;text-decoration:none;color:var(--fsh-ink);box-shadow:0 18px 40px -32px rgba(8,34,47,.5);transition:transform .2s}.fsh-post:hover{transform:translateY(-4px)}
.fsh-post img{width:100%;height:200px;object-fit:cover}.fsh-post__cat{margin:16px 20px 0;font-weight:700;font-size:13px;color:var(--fsh-teal);text-transform:uppercase;letter-spacing:.08em}.fsh-post h3{margin:6px 20px 6px;font-size:20px}.fsh-post p{margin:0 20px 22px;color:var(--fsh-mid);line-height:1.55}
/* FAQ */
.fsh-faq__g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px)}
.fsh-faq details{border-bottom:1px solid var(--fsh-line);padding:18px 0}.fsh-faq summary{font:700 19px Archivo,sans-serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}.fsh-faq summary::after{content:'+';color:var(--fsh-teal);font-size:24px;line-height:1}.fsh-faq details[open]>summary::after{content:'–'}.fsh-faq details p{color:var(--fsh-mid);line-height:1.6;margin:10px 0 0}
/* Visit */
.fsh-visit__g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:start}
.fsh-places{list-style:none;margin:0;padding:0;display:grid;gap:14px}.fsh-places li{display:grid;grid-template-columns:150px 1fr;gap:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:12px;align-items:center}
.fsh-places img{width:100%;height:110px;object-fit:cover;border-radius:14px}.fsh-places h3{color:#fff;margin:0 0 4px;font-size:19px}.fsh-places p{margin:2px 0;color:#cde2ea}.fsh-places a{color:#67d4ee}
.fsh-news{background:#fff;color:var(--fsh-ink);border-radius:var(--fsh-r);padding:28px;display:grid;gap:12px;box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}.fsh-news h3{margin:0;font-size:24px}.fsh-news p{margin:0;color:var(--fsh-mid)}
.fsh-news input{border:1px solid var(--fsh-line);border-radius:14px;padding:14px 16px;font-size:16px}.fsh-news input:focus{outline:2px solid var(--fsh-teal);border-color:transparent}.fsh-news .fsh-btn{justify-content:center}
/* Footer */
.fsh-ft{background:#041c27;color:#b7d3dd;padding:64px 0 24px}.fsh-ft__g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.fsh-ft__name{font:800 24px Archivo,sans-serif;color:#fff}.fsh-ft h4{color:#fff;margin:0 0 12px;font-size:16px}.fsh-ft a{display:block;color:#b7d3dd;text-decoration:none;padding:4px 0}.fsh-ft a:hover{color:#fff}.fsh-ft__demo{font-size:13px;color:#7fabba}.fsh-ft__bar{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px}
/* Motion */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i,0) * 90ms)}[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.fsh-btn,.fsh-card,.fsh-tile img,.fsh-voice,.fsh-post{transition:none}}
/* Narrower */
@media (max-width:1100px){.fsh-grid,.fsh-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.fsh-rung{min-height:0!important}.fsh-team__g,.fsh-rides__g,.fsh-journal__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.fsh-hero__g,.fsh-finder__p,.fsh-c2w__g,.fsh-classes__g,.fsh-faq__g,.fsh-visit__g{grid-template-columns:1fr}.fsh-hero__show{height:360px}.fsh-finder__about{grid-template-columns:1fr}.fsh-size{grid-template-columns:1fr}.fsh-figs__g{grid-template-columns:repeat(2,1fr)}.fsh-ft__g{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fsh-grid,.fsh-ladder,.fsh-team__g,.fsh-rides__g,.fsh-journal__g{grid-template-columns:1fr}.fsh-tt li{grid-template-columns:1fr;gap:8px}.fsh-tt__left{text-align:left}.fsh-calc__out{grid-template-columns:1fr}.fsh-places li{grid-template-columns:1fr}.fsh-hero__show{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.fsh-tile{height:220px}.fsh-tile--0{grid-row:auto}.fsh-tile--2{display:none}.fsh-voices__stage{min-height:0}}
/* Inside pages (25 Oct 2026) — the home page's furniture: same type, cards, buttons, grounds. */
.fsh-ph{background:radial-gradient(900px 400px at 90% 0%,rgba(103,212,238,.25),transparent 60%),linear-gradient(160deg,var(--fsh-deep-2),var(--fsh-deep));color:#fff;padding:clamp(40px,5vw,72px) 0}
.fsh-ph__g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center}
.fsh-ph h1{font-size:clamp(36px,4.6vw,60px);line-height:1.05;margin:10px 0 14px}.fsh-ph__lede{font-size:19px;line-height:1.6;color:#cde2ea;margin:0}
.fsh-ph__pic{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--fsh-r);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.fsh-ph--post .fsh-wrap{max-width:900px}
.fsh-crumbs{font-size:14px;color:#9cc2d0;margin-bottom:14px}.fsh-crumbs a{color:#cde2ea;text-decoration:none}.fsh-crumbs a:hover{color:#fff;text-decoration:underline}.fsh-crumbs [aria-current]{color:#fff;font-weight:600}
.fsh-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.fsh-btn--ghost{border-color:rgba(255,255,255,.4);color:#fff}
.fsh-depts-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fsh-dept{position:relative;display:block;border-radius:var(--fsh-r);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--fsh-shadow);text-decoration:none}
.fsh-dept img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.fsh-dept:hover img{transform:scale(1.06)}
.fsh-dept span{position:absolute;inset:auto 12px 12px;padding:12px 16px;border-radius:16px;background:rgba(8,34,47,.72);backdrop-filter:blur(10px);color:#fff;display:flex;justify-content:space-between;align-items:center}.fsh-dept b{font:800 18px Archivo,sans-serif}.fsh-dept em{font-style:normal;color:#fdba74;font-weight:700;font-size:14px}
.fsh-filter{display:flex;flex-wrap:wrap;gap:10px;margin:-12px 0 24px}.fsh-filter label{padding:11px 18px;border-radius:14px;background:#fff;border:1px solid var(--fsh-line);font-weight:700;cursor:pointer}.fsh-filter label:hover{border-color:var(--fsh-teal)}
.fsh-shelf:has(input[name=fsh-shelf]:focus-visible) .fsh-filter{outline:3px solid var(--fsh-cta);outline-offset:6px;border-radius:16px}
.fsh-book__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:start}
.fsh-ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}.fsh-ticks li{position:relative;padding-left:30px;line-height:1.5;color:var(--fsh-mid)}.fsh-ticks li::before{content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--fsh-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.fsh-ticks--light li{color:#cde2ea}
.fsh-form{background:#fff;border-radius:var(--fsh-r);padding:28px;box-shadow:var(--fsh-shadow);display:grid;gap:14px;border:1px solid var(--fsh-line)}
.fsh-form label{display:grid;gap:6px;font-weight:600;font-size:15px;color:var(--fsh-ink)}
.fsh-form input,.fsh-form select,.fsh-form textarea{border:1px solid #cbd5e1;border-radius:14px;padding:13px 14px;font:16px 'Source Sans 3',sans-serif;background:#fff;color:var(--fsh-ink)}
.fsh-form input:focus,.fsh-form select:focus,.fsh-form textarea:focus{outline:3px solid rgba(15,94,115,.3);border-color:var(--fsh-teal)}
.fsh-form__two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fsh-form .fsh-btn{justify-content:center}.fsh-form__small{margin:0;font-size:13px;color:var(--fsh-mid)}
.fsh-said{margin:0;padding:12px 14px;border-radius:14px;font-weight:600}.fsh-said--ok{background:#ecfdf5;color:#065f46}.fsh-said--bad{background:#fef2f2;color:#991b1b}
.fsh-contacts{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}.fsh-contacts li{display:grid;gap:2px;padding:14px 16px;border-radius:16px;background:var(--fsh-paper)}.fsh-contacts b{font-size:13px;color:var(--fsh-mid);text-transform:uppercase;letter-spacing:.06em}.fsh-contacts a,.fsh-contacts span{font:700 18px Archivo,sans-serif;color:var(--fsh-ink);text-decoration:none}
.fsh-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fsh-course{display:grid;grid-template-columns:200px 1fr;background:#fff;border-radius:var(--fsh-r);overflow:hidden;box-shadow:0 18px 40px -32px rgba(8,34,47,.5)}
.fsh-course img{width:100%;height:100%;object-fit:cover}.fsh-course__b{padding:20px 22px;display:grid;gap:10px}.fsh-course h3{margin:0;font-size:22px}.fsh-course p{margin:0;color:var(--fsh-mid);line-height:1.55}
.fsh-course__who{color:var(--fsh-teal)!important;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.fsh-course__price{font:800 26px Archivo,sans-serif;color:var(--fsh-ink)!important}.fsh-course__price small{font:600 14px 'Source Sans 3',sans-serif;color:var(--fsh-mid);margin-left:8px}
.fsh-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.1fr);gap:18px;align-items:stretch}
.fsh-tier{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--fsh-r);padding:24px;backdrop-filter:blur(8px);display:grid;gap:12px;align-content:start}.fsh-tier--pick{background:rgba(103,212,238,.16);border-color:#67d4ee}
.fsh-tier h3{color:#fff;margin:0;font-size:22px}.fsh-tier__price{font:800 30px Archivo,sans-serif;color:#fdba74;margin:0}
.fsh-signin h3{margin:0;font-size:22px;color:var(--fsh-ink)}.fsh-signin p{margin:0;color:var(--fsh-mid)}
.fsh-prose{max-width:820px;font-size:18px;line-height:1.75;color:#1e293b}.fsh-prose h2{font-size:28px;margin:34px 0 10px}.fsh-prose p{margin:0 0 16px}
.fsh-related{margin-top:48px}.fsh-related h2{font-size:28px;margin:0 0 20px}
@media (max-width:1100px){.fsh-depts-g{grid-template-columns:repeat(2,minmax(0,1fr))}.fsh-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.fsh-ph__g,.fsh-book__g{grid-template-columns:1fr}.fsh-courses{grid-template-columns:1fr}}
@media (max-width:560px){.fsh-depts-g,.fsh-tiers{grid-template-columns:1fr}.fsh-course{grid-template-columns:1fr}.fsh-course img{height:200px}.fsh-form__two{grid-template-columns:1fr}}
/* The engine's own pages (product, basket and checkout, tracking, members) in the demo's colours and type. */
.fsh-engine{--brand:var(--fsh-teal);--brand-dark:var(--fsh-deep-2);--ink:var(--fsh-ink);--muted:var(--fsh-mid);--line:var(--fsh-line);--paper:#fff;--paper-alt:var(--fsh-paper);--radius:20px;--wrap:1320px;--btn-bg:var(--fsh-cta);--btn-ink:#1c1917;--btn-radius:999px;--heading:var(--fsh-ink);--link:var(--fsh-teal);--font-heading:Archivo,'Source Sans 3',sans-serif;--font-body:'Source Sans 3',sans-serif;background:#fff;font-family:'Source Sans 3',system-ui,sans-serif}
.fsh-engine .sec{padding:clamp(48px,6vw,80px) 0}
.fsh-engine .wrap{max-width:1320px;padding:0 clamp(16px,4vw,60px);box-sizing:content-box}
.fsh-engine h1,.fsh-engine h2,.fsh-engine h3{font-family:Archivo,'Source Sans 3',sans-serif;letter-spacing:-.01em}
.fsh-engine h1{font-size:clamp(32px,4vw,48px);line-height:1.1}
.fsh-engine .btn{border-radius:999px;font-weight:700}
.fsh-engine .btn--primary{background:var(--fsh-cta);color:#1c1917;border-color:var(--fsh-cta)}
.fsh-engine .prod__pics img{border-radius:var(--fsh-r);border:1px solid var(--fsh-line)}
.fsh-engine .prod__price b{font-family:Archivo,sans-serif}
.fsh-engine .card{border-radius:var(--fsh-r)}
.fsh-engine input,.fsh-engine select,.fsh-engine textarea{border-radius:12px}
/* 25 Oct 2026, the inside pages gone through one by one. Only where the engine's section IS the page (the basket, the
   account, tracking): a standard section added among others is as tall as its content (29 Oct 2026: a one-line Text
   section left half a screen of white under it). */
#main>.fsh-engine:only-child{min-height:55vh}
/* 28 Oct 2026, Duncan: the footer "rides up" on every page. The basket drawer's host carries the engine class too, so
   with anything in the basket it took that 55vh as a blank white block under the credit. And a short page (page not
   found) stopped part-way down the window. The page now fills the window and its last section stretches to the footer;
   a page taller than the window is unchanged. */
.fsh-engine.bd-host{min-height:0;background:none}
div:has(> #main + .fsh-ft){display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
div:has(> #main + .fsh-ft)>#main{flex:1 0 auto;display:flex;flex-direction:column}
div:has(> #main + .fsh-ft)>#main>:last-child{flex:1 0 auto}
.fsh-tt li{grid-template-columns:150px 1fr 112px}
.fsh-tier{grid-template-rows:auto auto 1fr auto}.fsh-tier__join{justify-content:center;margin-top:8px}
.fsh-h2{font-size:clamp(28px,3vw,40px);line-height:1.1;margin:0 0 28px;color:var(--fsh-ink)}
.fsh-ph--pic{padding-bottom:clamp(120px,12vw,170px)}
.fsh-post-body{padding-top:0}.fsh-post-body .fsh-wrap{max-width:900px}.fsh-post-body .fsh-prose{margin-top:clamp(40px,5vw,64px)}
.fsh-post-pic{margin-top:calc(-1 * clamp(90px,9vw,130px))}.fsh-credit{margin:10px 4px 0;font-size:.8rem;color:var(--fsh-mid);text-align:right}.fsh-post-pic img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -20px rgba(6,40,56,.45)}
.fsh-prose h2{line-height:1.15}.fsh-prose ul,.fsh-prose ol{margin:0 0 16px;padding-left:22px}.fsh-prose li{margin:0 0 6px}
.fsh-post-back{margin-top:12px;margin-bottom:0}
@media (max-width:560px){.fsh-tt li{grid-template-columns:1fr}}
/* 320 wide: the booking form's date box set the column's width, so the page scrolled sideways (25 Oct 2026) */
@media (max-width:860px){.fsh-ph__g,.fsh-book__g{grid-template-columns:minmax(0,1fr)}}
.fsh-form input,.fsh-form select,.fsh-form textarea{min-width:0;max-width:100%;box-sizing:border-box}.fsh-form label{min-width:0}
@media (max-width:400px){.fsh-form{padding:20px}}
/* 25 Oct 2026: the header and footer come from Navigation Menus and Settings; notices without a dock */
.fsh-logo img{height:44px;width:auto;display:block}
.fsh-notices{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#7c2d12;font-size:15px}
.fsh-notices p{margin:0;padding:10px 0}.fsh-notices p+p{border-top:1px solid #fed7aa}
.fsh-notices b{display:inline-block;background:#c2410c;color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-right:8px}
.fsh-ft__addr{margin:6px 0;color:#b7d3dd}
/* 25 Oct 2026: a page for every module */
.fsh-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:clamp(28px,4vw,48px)}
.fsh-metrics p{margin:0;background:var(--fsh-paper);border-radius:20px;padding:20px 22px;display:grid;gap:4px}.fsh-metrics b{font:800 clamp(30px,3.4vw,44px)/1 Archivo,sans-serif;color:var(--fsh-teal)}.fsh-metrics span{color:var(--fsh-mid)}
.fsh-case-pics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px}.fsh-case-pics img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
/* Case studies (28 Oct 2026): the facts under the title, a metric's description, the client's words, before/after and a video. */
.fsh-case-facts{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:22px}
.fsh-case-facts p{margin:0;display:grid;gap:2px}.fsh-case-facts span{font:700 12px 'Source Sans 3',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#86c9dc}.fsh-case-facts b{color:#fff;font-weight:600}
.fsh-case-facts__logo{height:44px;width:auto;max-width:160px;object-fit:contain;background:#fff;border-radius:12px;padding:6px 10px}
.fsh-case-facts__tags{display:flex!important;flex-wrap:wrap;gap:6px}.fsh-case-facts__tags i{font-style:normal;font-size:13px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 10px}
.fsh-metrics small{color:var(--fsh-mid);font-size:14px;line-height:1.4}
.fsh-case-quote{margin-top:clamp(28px,4vw,44px);background:var(--fsh-deep);color:#fff;border-radius:var(--fsh-r);padding:clamp(24px,4vw,40px);box-shadow:var(--fsh-shadow)}
.fsh-case-quote blockquote{margin:0;font:600 clamp(20px,2.2vw,26px)/1.4 Archivo,sans-serif}.fsh-case-quote figcaption{margin-top:14px;color:#cbd5e1}.fsh-case-quote b{color:#fff}
.fsh-ba{margin-top:clamp(28px,4vw,44px)}.fsh-ba figcaption{margin-top:10px;color:var(--fsh-mid)}
.fsh-ba__frame{position:relative;border-radius:var(--fsh-r);overflow:hidden;aspect-ratio:16/10;box-shadow:var(--fsh-shadow);background:var(--fsh-paper)}
.fsh-ba__frame>img,.fsh-ba__before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fsh-ba__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0);border-right:3px solid #fff}
.fsh-ba__tag{position:absolute;top:14px;background:rgba(8,34,47,.82);color:#fff;font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;pointer-events:none}.fsh-ba__tag--b{left:14px}.fsh-ba__tag--a{right:14px}
.fsh-ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.fsh-ba__frame::after{content:'\2194';position:absolute;top:50%;left:var(--pos,50%);transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:var(--fsh-teal);font:800 22px/46px 'Source Sans 3',sans-serif;text-align:center;box-shadow:0 8px 24px rgba(8,34,47,.35);pointer-events:none}
.fsh-ba__range:focus-visible+*{outline:none}.fsh-ba__frame:focus-within{outline:3px solid var(--fsh-cta);outline-offset:3px}
.fsh-case-video{margin-top:clamp(28px,4vw,44px);aspect-ratio:16/9;border-radius:var(--fsh-r);overflow:hidden;box-shadow:var(--fsh-shadow)}.fsh-case-video iframe,.fsh-case-video video{width:100%;height:100%;border:0;background:#000;display:block}
.fsh-badges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.fsh-badges li{background:#fff;border:1px solid var(--fsh-line);border-radius:22px;padding:22px;display:grid;gap:6px;justify-items:start;box-shadow:var(--fsh-shadow)}
.fsh-badges img{height:56px;width:auto}.fsh-badges__mark{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--fsh-teal);color:#fff;font:800 18px Archivo,sans-serif}
.fsh-badges b{font:700 18px Archivo,sans-serif;color:var(--fsh-ink)}.fsh-badges span{color:var(--fsh-mid)}.fsh-badges small{color:var(--fsh-mid)}
.fsh-files{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fsh-files li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--fsh-line);border-radius:20px;padding:16px 20px}
.fsh-files__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#fff1e6;color:#9a3412;font:800 13px 'Source Sans 3',sans-serif}
.fsh-files b{font:700 18px Archivo,sans-serif;color:var(--fsh-ink)}.fsh-files p{margin:4px 0;color:var(--fsh-mid)}.fsh-files small{color:var(--fsh-mid)}.fsh-files__none{color:var(--fsh-mid);font-size:14px}
.fsh-album{margin-top:36px}.fsh-album h3{font-size:26px;margin:0 0 6px;display:flex;gap:12px;align-items:baseline}.fsh-album h3 small{font:600 14px 'Source Sans 3',sans-serif;color:var(--fsh-mid)}
.fsh-album__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px}
.fsh-album__pic{position:relative;display:block;border-radius:18px;overflow:hidden;aspect-ratio:4/3}.fsh-album__pic img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.fsh-album__pic:hover img{transform:scale(1.05)}
.fsh-album__pic span{position:absolute;left:10px;bottom:10px;right:10px;background:rgba(5,28,39,.78);color:#fff;border-radius:10px;padding:6px 10px;font-size:13px}
.fsh-album__pic:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:3px}
.fsh-box{display:none;position:fixed;inset:0;z-index:80;background:rgba(3,15,22,.92);padding:56px 16px 24px;place-items:center;align-content:center;gap:12px}
.fsh-box:target{display:grid}.fsh-box img{max-width:min(1200px,100%);max-height:78vh;border-radius:16px}.fsh-box p{color:#e5f0f4;margin:0}
.fsh-box__x{position:absolute;top:12px;right:18px;color:#fff;font-size:40px;line-height:1;text-decoration:none}
.fsh-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}
.fsh-videos article{display:grid;gap:8px}.fsh-videos h3{margin:6px 0 0;font-size:22px}.fsh-videos p{margin:0;color:var(--fsh-mid)}.fsh-videos small{color:var(--fsh-mid)}
.fsh-videos__play{aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#041c27;box-shadow:var(--fsh-shadow)}.fsh-videos__play iframe,.fsh-videos__play video,.fsh-videos__play img{width:100%;height:100%;border:0;display:block;object-fit:cover}
/* Videos (28 Oct 2026): cards open the video's own page; the page's player follows its Settings tab. */
.fsh-videos article{position:relative}.fsh-videos h3 a{color:inherit;text-decoration:none}.fsh-videos h3 a:hover{color:var(--fsh-teal)}
.fsh-videos__pic{position:relative;display:block;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#041c27;box-shadow:var(--fsh-shadow)}
.fsh-videos__pic img,.fsh-videos__pic video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.fsh-videos__pic:hover img{transform:scale(1.04)}
.fsh-videos__go{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--fsh-teal);display:grid;place-items:center;font-size:24px;padding-left:5px;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);transition:transform .25s}.fsh-videos__pic:hover .fsh-videos__go,.fsh-videos__pic:focus-visible .fsh-videos__go{transform:scale(1.1)}
.fsh-videos__len{position:absolute;right:12px;bottom:12px;background:rgba(3,15,22,.8);color:#fff;font-size:13px;font-weight:600;border-radius:8px;padding:3px 8px}
.fsh-videos .fsh-post__cat{margin:8px 0 0;color:var(--fsh-teal)}
.fsh-watch{position:relative;z-index:1;width:100%;margin:-72px auto 0;border-radius:24px;overflow:hidden;background:#000;box-shadow:var(--fsh-shadow)}.fsh-watch iframe,.fsh-watch video,.fsh-watch img{width:100%;height:100%;border:0;display:block;object-fit:contain;background:#000}
.fsh-watch__body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:36px}
.fsh-watch__chapters{background:#fff;border:1px solid var(--fsh-line);border-radius:24px;padding:24px;box-shadow:0 18px 40px -32px rgba(8,34,47,.5)}.fsh-watch__chapters h2{margin:0 0 12px;font-size:20px}
.fsh-watch__chapters ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}.fsh-watch__chapters a{display:flex;gap:12px;align-items:baseline;padding:10px 12px;border-radius:12px;color:var(--fsh-ink);text-decoration:none;font-weight:600}.fsh-watch__chapters a:hover,.fsh-watch__chapters a:focus-visible,.fsh-watch__chapters a[aria-current="true"]{background:var(--fsh-paper);color:var(--fsh-teal)}
.fsh-watch__chapters a span{font-variant-numeric:tabular-nums;color:var(--fsh-teal);min-width:3.2em}.fsh-watch__chapters small{display:block;margin:-4px 0 6px 12px;padding-left:3.2em;color:var(--fsh-mid)}
.fsh-watch__script{margin-top:24px;border:1px solid var(--fsh-line);border-radius:18px;padding:4px 20px;background:#fff}.fsh-watch__script summary{cursor:pointer;font-weight:700;padding:14px 0}
.fsh-watch__script ol{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}.fsh-watch__script a{font-variant-numeric:tabular-nums;font-weight:700;color:var(--fsh-teal);text-decoration:none;margin-right:6px}
.fsh-watch__more{margin-top:56px}.fsh-watch__more h2{margin:0 0 20px}
.fsh-ph--watch{padding-bottom:calc(clamp(48px,6vw,80px) + 72px)}.fsh-watch__body .fsh-prose{margin-top:0}
.fsh-watch__more .fsh-videos{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.fsh-videos:where(:has(>article:only-child)){grid-template-columns:minmax(0,min(100%,640px))}
@media (max-width:860px){.fsh-watch__body{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.fsh-videos__pic img,.fsh-videos__go{transition:none}}
.fsh-stars{color:#f59e0b;letter-spacing:2px}.fsh-stars i{color:#cbd5e1;font-style:normal}
.fsh-reviews__sum{font-size:18px;margin:0 0 24px;color:var(--fsh-mid)}.fsh-reviews__sum b{font:800 28px Archivo,sans-serif;color:var(--fsh-ink);margin:0 4px}
.fsh-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.fsh-reviews article{background:#fff;border:1px solid var(--fsh-line);border-radius:22px;padding:22px;box-shadow:var(--fsh-shadow);display:grid;gap:8px;align-content:start}
.fsh-reviews h3{margin:0;font-size:19px}.fsh-reviews article>p{margin:0;color:#1e293b;line-height:1.6}.fsh-reviews footer{color:var(--fsh-mid);font-size:14px}.fsh-reviews footer b{color:var(--fsh-ink)}
.fsh-reviews__reply{background:var(--fsh-paper);border-radius:14px;padding:10px 14px;font-size:15px;color:#1e293b;margin:4px 0 0}.fsh-reviews__reply b{display:block;color:var(--fsh-teal);font-size:13px}
.fsh-jobs{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.fsh-jobs li{display:flex;gap:18px;justify-content:space-between;align-items:center;background:#fff;border-radius:22px;padding:20px 24px;box-shadow:var(--fsh-shadow)}
.fsh-jobs h3{margin:0;font-size:22px;display:flex;gap:10px;align-items:center}.fsh-jobs h3 a{color:var(--fsh-ink);text-decoration:none}.fsh-jobs h3 a:hover{color:var(--fsh-teal)}
.fsh-jobs p{margin:6px 0 0;color:var(--fsh-mid);text-transform:none}.fsh-jobs small{color:var(--fsh-mid)}.fsh-jobs .fsh-flash{position:static}
/* Jobs (28 Oct 2026): a job's short description on its card, Featured, and the job page's facts, skills and Apply elsewhere. */
.fsh-jobs p.fsh-jobs__sum{color:var(--fsh-ink);max-width:none}.fsh-flash--feat{background:#fdf6b2;color:#723b13}
.fsh-job__side{display:grid;gap:20px;align-content:start}
.fsh-job__facts{margin:0;background:#fff;border-radius:var(--fsh-r);padding:22px 26px;box-shadow:var(--fsh-shadow);border:1px solid var(--fsh-line);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 22px}
.fsh-job__facts dt{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fsh-teal)}
.fsh-job__facts dd{margin:4px 0 0;font-weight:600;color:var(--fsh-ink)}
.fsh-prose ul.fsh-job__skills{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fsh-prose ul.fsh-job__skills li{margin:0;background:var(--fsh-paper);border:1px solid var(--fsh-line);border-radius:999px;padding:6px 14px;font-weight:600;font-size:14px}
.fsh-job__away p{margin:0;color:var(--fsh-mid)}.fsh-job__away .fsh-btn{justify-self:start}
.fsh-form__h{margin:0;font-size:22px}.fsh-check{display:flex!important;gap:10px;align-items:center;font-weight:600}.fsh-check input{width:20px;height:20px}
.fsh-social{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.fsh-social article{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--fsh-shadow);display:grid;align-content:start}
.fsh-social img{width:100%;aspect-ratio:1/1;object-fit:cover}.fsh-social p{margin:0;padding:16px 18px 8px;line-height:1.55;color:#1e293b;white-space:pre-line}
.fsh-social footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 18px 16px;color:var(--fsh-mid);font-size:13px}.fsh-social__on{background:var(--fsh-paper);border-radius:999px;padding:2px 10px;font-weight:600;color:var(--fsh-teal);text-transform:capitalize}
@media (max-width:560px){.fsh-files li{grid-template-columns:1fr}.fsh-jobs li{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.fsh-album__pic img{transition:none}}
.fsh-tt__go{grid-column:2;margin:8px 0 0}
.fsh-pick{border:0;margin:0;padding:0;display:grid;gap:8px}.fsh-pick legend{font-weight:700;margin-bottom:8px;font-size:15px;color:var(--fsh-ink)}
.fsh-pick label{display:grid!important;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;font-weight:500;cursor:pointer}
.fsh-pick label:has(input:checked){border-color:var(--fsh-teal);background:#f0f8fb;box-shadow:0 0 0 2px rgba(15,94,115,.25)}
.fsh-pick label:has(input:focus-visible){outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-pick label.is-full{opacity:.55;cursor:not-allowed}.fsh-pick small{color:var(--fsh-mid);white-space:nowrap}.fsh-pick input{width:18px;height:18px;accent-color:var(--fsh-teal)}
@media (max-width:860px){.fsh-tt__go{grid-column:auto}}
@media (max-width:560px){.fsh-pick label{grid-template-columns:auto 1fr}.fsh-pick small{grid-column:2}}
.fsh-pick input{padding:0!important;border:0!important;margin:0}
.fsh-docs__members{margin-top:28px}
.fsh-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.fsh-links a{display:grid;gap:4px;background:#fff;border:1px solid var(--fsh-line);border-radius:20px;padding:18px 20px;text-decoration:none;color:var(--fsh-ink);box-shadow:var(--fsh-shadow);transition:transform .15s}
.fsh-links a:hover{transform:translateY(-2px)}.fsh-links a:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:3px}
.fsh-links b{font:700 18px Archivo,sans-serif}.fsh-links span{color:var(--fsh-mid);overflow-wrap:anywhere}.fsh-links small{color:var(--fsh-teal);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.fsh-ft__social{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fsh-ft__social a{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 12px;font-size:14px}
@media (prefers-reduced-motion:reduce){.fsh-links a{transition:none}}
.fsh-offers{background:linear-gradient(90deg,var(--fsh-cta),#fb923c);color:#1c1917}
.fsh-offers p{margin:0;padding:12px 0;font-size:16px}.fsh-offers p+p{border-top:1px solid rgba(28,25,23,.15)}.fsh-offers b{font:800 18px Archivo,sans-serif;margin-right:6px}.fsh-offers span{opacity:.85}
.fsh-files li.fsh-files--gated{grid-template-columns:64px minmax(220px,1fr) minmax(260px,560px)}
.fsh-files__form{display:flex;gap:8px;flex-wrap:wrap}.fsh-files__form input{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:999px;padding:11px 16px;font:15px 'Source Sans 3',sans-serif}
.fsh-files__form input:focus{outline:3px solid rgba(15,94,115,.3);border-color:var(--fsh-teal)}
@media (max-width:860px){.fsh-files li.fsh-files--gated{grid-template-columns:64px minmax(0,1fr)}.fsh-files__form{grid-column:1/-1}}
.fsh-topics{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:28px}.fsh-topics span{font:700 13px 'Source Sans 3',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--fsh-teal);margin-right:6px}
.fsh-topics a{border:1px solid var(--fsh-line);border-radius:999px;padding:8px 14px;text-decoration:none;color:var(--fsh-ink);font-weight:600;background:#fff}
.fsh-topics a[aria-current]{background:var(--fsh-teal);border-color:transparent;color:#fff}.fsh-topics a:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-topics--post{padding-top:8px}
/* Blog (28 Oct 2026): the categories row, a Featured post's label, and a post's series. */
.fsh-topics--cats{padding:0 0 22px}.fsh-post{position:relative}.fsh-post__feat{position:absolute;top:12px;left:12px}
.fsh-series{margin-top:28px;margin-bottom:8px;background:var(--fsh-paper);border:1px solid var(--fsh-line);border-radius:var(--fsh-r);padding:20px 26px;max-width:760px}
.fsh-series__h{margin:0 0 10px;color:var(--fsh-mid)}.fsh-series__h b{color:var(--fsh-ink)}
.fsh-series ol{margin:0;padding-left:22px;display:grid;gap:6px}.fsh-series a{color:var(--fsh-teal);font-weight:600}.fsh-series em{color:var(--fsh-mid);font-style:normal;font-size:14px}
.fsh-notices p.fsh-wrap{padding:10px clamp(16px,4vw,60px)}
.fsh-badges .fsh-badges__mark{color:#fff}
.fsh-stars{color:#b45309}
.fsh-videos__play video:focus-visible,.fsh-videos__play iframe:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:-3px}
.fsh-hd__act{align-items:center}
.fsh-hd__acct{display:inline-flex;align-items:center;gap:6px;color:var(--fsh-ink);font-weight:600;text-decoration:none;padding:8px 10px;border-radius:10px}
.fsh-hd__acct svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.fsh-hd__acct:hover{background:var(--fsh-paper);color:var(--fsh-teal)}.fsh-hd__acct:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
/* The Account link is the person icon alone below 1600px wide, so the eight-item menu keeps one line (its name stays for screen readers). */
@media (max-width:1600px){.fsh-hd__acct span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.fsh-hd__acct{padding:8px}}
.fsh-nav a,.fsh-hd__act .fsh-btn,.fsh-logo span{white-space:nowrap}
.fsh-nav__extra{display:none!important}
@media (max-width:1100px){.fsh-nav .fsh-nav__extra{display:block!important}.fsh-nav .fsh-nav__extra:first-of-type{margin-top:10px;border-top:1px solid var(--fsh-line);padding-top:20px}.fsh-nav .fsh-nav__extra--cta{background:var(--fsh-cta);color:#1c1917;text-align:center;border-radius:999px;margin-top:8px}}
@media (min-width:1101px) and (max-width:1380px){.fsh-hd__act .fsh-btn--line{display:none}.fsh-nav a{padding:10px 9px}}
/* The header's account panel (25 Oct 2026): the person icon opens it. */
.fsh-acctmenu{position:relative}
.fsh-acctmenu>summary{list-style:none;cursor:pointer;position:relative}.fsh-acctmenu>summary::-webkit-details-marker{display:none}
.fsh-acctmenu[open]>summary{background:var(--fsh-paper);color:var(--fsh-teal)}
.fsh-acctmenu__dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--fsh-teal);box-shadow:0 0 0 2px #fff}
.fsh-acctmenu__panel{position:absolute;right:0;top:calc(100% + 12px);width:340px;z-index:60;display:grid;gap:4px;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--fsh-line);box-shadow:0 30px 70px -28px rgba(8,34,47,.5);animation:fsh-pop .16s ease-out}
.fsh-acctmenu__panel::before{content:"";position:absolute;top:-7px;right:22px;width:12px;height:12px;background:#fff;border-left:1px solid var(--fsh-line);border-top:1px solid var(--fsh-line);transform:rotate(45deg)}
@keyframes fsh-pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fsh-acctmenu__t{margin:0 0 6px;font-weight:800;font-size:17px;color:var(--fsh-ink)}
.fsh-acctmenu__panel>a{display:block;padding:10px 12px;border-radius:12px;color:var(--fsh-ink);font-weight:600;text-decoration:none}
.fsh-acctmenu__panel>a:hover{background:var(--fsh-paper);color:var(--fsh-teal)}
.fsh-acctmenu__panel>a:focus-visible,.fsh-acctmenu__panel button:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-acctmenu__panel>form:not(.fsh-acctmenu__form){margin:6px 0 0;padding-top:8px;border-top:1px solid var(--fsh-line)}
.fsh-acctmenu__panel>form:not(.fsh-acctmenu__form)>button{width:100%;text-align:left;padding:10px 12px;border:0;border-radius:12px;background:none;font:inherit;font-weight:600;color:var(--fsh-mid);cursor:pointer}
.fsh-acctmenu__panel>form:not(.fsh-acctmenu__form)>button:hover{background:var(--fsh-paper);color:var(--fsh-ink)}
.fsh-acctmenu__panel>.fsh-acctmenu__form{margin:0;padding:0;border:0;display:grid;gap:12px}
.fsh-acctmenu__form label{display:grid;gap:6px;font-weight:600;font-size:14px;color:var(--fsh-ink)}
.fsh-acctmenu__form input{border:1.5px solid var(--fsh-line);border-radius:14px;padding:13px 14px;font:inherit;font-size:16px}
.fsh-acctmenu__form input:focus{outline:none;border-color:var(--fsh-teal);box-shadow:0 0 0 4px color-mix(in srgb,var(--fsh-teal) 18%,transparent)}
.fsh-acctmenu__form .fsh-btn{justify-content:center;width:100%}
.fsh-acctmenu__form small{color:var(--fsh-mid);font-size:13px}
@media (prefers-reduced-motion:reduce){.fsh-acctmenu__panel{animation:none}}
.fsh-flash--trade{background:var(--fsh-teal);color:#fff}
/* The header's cart (27 Oct 2026, Duncan's Flowbite navbar picture): cart icon, "3 items (£2,037)" ⌄; the cart opens under it. */
.fsh-hd__chev{width:16px!important;height:16px!important;stroke-width:2.2!important}
.fsh-hd__cart{display:flex;align-items:center}
.fsh-cart{position:relative}
.fsh-cart>summary{list-style:none;cursor:pointer}.fsh-cart>summary::-webkit-details-marker{display:none}
.fsh-cart__btn{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;color:var(--fsh-ink);font-weight:600;white-space:nowrap}
.fsh-cart__btn:hover,.fsh-cart[open]>.fsh-cart__btn{background:var(--fsh-paper);color:var(--fsh-teal)}
.fsh-cart__btn:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-cart__btn .mt-cart__i{width:24px;height:24px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.fsh-cart__sum{color:var(--fsh-mid);font-weight:600}
.fsh-cart__chev{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .16s}
.fsh-cart[open] .fsh-cart__chev{transform:rotate(180deg)}
.fsh-cart__panel{position:absolute;right:0;top:calc(100% + 12px);width:420px;z-index:60;padding:22px 22px 20px;border-radius:22px;background:#fff;border:1px solid var(--fsh-line);box-shadow:0 30px 70px -28px rgba(8,34,47,.5);animation:fsh-pop .16s ease-out}
.fsh-cart__t{margin:0 0 6px;padding-bottom:14px;border-bottom:1px solid var(--fsh-line);font:700 19px/1.3 Archivo,sans-serif;color:var(--fsh-ink)}
.fsh-cart__t span{color:var(--fsh-mid);font-weight:500}
.fsh-cart__empty{margin:14px 0 18px;color:var(--fsh-mid)}
.fsh-cart__lines{list-style:none;margin:0;padding:0;max-height:min(52vh,430px);overflow:auto}
.fsh-cart__lines li{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--fsh-line)}
.fsh-cart__pic{display:block;width:56px;height:56px;border-radius:12px;overflow:hidden;background:var(--fsh-paper)}
.fsh-cart__pic img{width:100%;height:100%;object-fit:cover;display:block}
.fsh-cart__words{display:grid;gap:4px;min-width:0}
.fsh-cart__name{color:var(--fsh-ink);font-weight:600;font-size:15px;line-height:1.3;text-decoration:none}
.fsh-cart__name:hover{color:var(--fsh-teal)}
.fsh-cart__price{color:var(--fsh-mid);font-size:15px}.fsh-cart__price s{margin-left:6px;font-size:13px}
.fsh-cart__qty{display:flex;align-items:center;gap:8px}
.fsh-cart__qty form{margin:0}
.fsh-cart__qty button{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;border:1px solid var(--fsh-line);background:var(--fsh-paper);cursor:pointer;color:var(--fsh-ink)}
.fsh-cart__qty button:disabled{opacity:.4;cursor:not-allowed}
.fsh-cart__qty svg,.fsh-cart__bin svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fsh-cart__qty span{min-width:18px;text-align:center;font-weight:600}
/* 27 Oct 2026: changed with no reload (the drawer's useLiveBasket); the money dims until the server's prices are in */
.fsh-cart__total,.fsh-cart__sum,.fsh-cart__price,.fsh-cart li{transition:opacity .15s ease}
.basket-busy .fsh-cart__total,.basket-busy .fsh-cart__sum,.fsh-cart li.is-busy .fsh-cart__price{opacity:.45}
.fsh-cart li.is-going{opacity:.35}
.fsh-cart__bin{margin:0}.fsh-cart__bin button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:none;color:#dc2626;cursor:pointer}
.fsh-cart__bin button:hover{background:#fef2f2}
.fsh-cart__qty button:focus-visible,.fsh-cart__bin button:focus-visible,.fsh-cart__go:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-cart__total{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0;font-size:17px;color:var(--fsh-ink)}
.fsh-cart__total b{font:800 22px/1 Archivo,sans-serif}
.fsh-cart__go{display:flex;justify-content:center;width:100%;box-sizing:border-box}
@media (max-width:1100px){
 .fsh-hd__cart{margin-left:auto}
 .fsh-burger{margin-left:6px;order:5}
 .fsh-cart__sum{display:none}
 .fsh-cart__panel{position:fixed;left:12px;right:12px;top:86px;width:auto;max-height:calc(100vh - 100px);overflow:auto}
}
@media (max-width:420px){.fsh-cart__lines li{grid-template-columns:48px minmax(0,1fr) auto;row-gap:8px}.fsh-cart__pic{width:48px;height:48px}.fsh-cart__qty{grid-column:2}.fsh-cart__bin{grid-column:3;grid-row:1}}
@media (prefers-reduced-motion:reduce){.fsh-cart__panel{animation:none}.fsh-cart__chev{transition:none}}
/* Measured 27 Oct 2026 with the cart in the bar: eight menu items, the account, Book a service and "4 items (£7,596)"
   ran 50–166px past the header between 1101 and 1920, so the amount stays inside the cart (its Total) and the gaps
   close up; a phone drops the ⌄. */
.fsh-cart__sum{display:none}
.fsh-hd__g{gap:16px}
@media (min-width:1381px) and (max-width:1500px){.fsh-nav a{padding:10px 10px}}
@media (min-width:1101px) and (max-width:1280px){.fsh-nav a{padding:10px 6px!important;font-size:14px}.fsh-hd__g{gap:12px}}
@media (max-width:1100px){.fsh-hd__g{gap:8px}}
@media (max-width:560px){.fsh-cart__chev{display:none}.fsh-cart__btn{padding:6px 8px;gap:6px}}
@media (max-width:380px){.fsh-logo svg{width:34px;height:34px}.fsh-logo span{font-size:20px}.fsh-logo small{font-size:10px}.fsh-burger{width:40px;height:40px}}
/* The amount back in the bar (27 Oct 2026, Duncan: "it should have the price"; Book a service stays): the menu words one
   size smaller from 1381 wide makes the room; narrower, the amount is the cart's Total. */
@media (min-width:1381px){.fsh-cart__sum{display:inline}.fsh-nav a{font-size:14px;padding:10px 9px}}
/* "Sign in to see prices" in a card's price place (Hide Prices Until Login, 27 Oct 2026). */
.fsh-signprice{color:var(--fsh-teal);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.fsh-signprice:hover{color:var(--fsh-ink)}

/* ── Standard sections placed on the demo's pages (27 Oct 2026) — Add Section in the CMS shows in the demo's look:
   cards on a paper ground, 24px corners, the soft deep shadow, the deep band for a call to action. ── */
.fsh-engine .sec--brand{background:radial-gradient(900px 360px at 88% -20%,rgba(242,107,29,.22),transparent 62%),linear-gradient(135deg,var(--fsh-deep),var(--fsh-deep-2));color:#fff}
.fsh-engine .sec--brand .center{text-align:center}
.fsh-engine .sec--brand h2{color:#fff;font-size:clamp(28px,3.4vw,44px);margin:0 0 12px}
.fsh-engine .sec--brand .lede{color:rgba(255,255,255,.84);margin:0 auto 26px;max-width:640px}
.fsh-engine .sec--brand .btns{justify-content:center;gap:12px}
.fsh-engine .sec--brand .btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.fsh-engine .sec--brand .btn--ghost:hover{background:rgba(255,255,255,.1)}
/* Food menu: each part of the menu a card, two across */
.fsh-engine .sec:has(.menu__group){background:var(--fsh-paper)}
.fsh-engine .wrap:has(> .menu__group){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.fsh-engine .wrap:has(> .menu__group) > :not(.menu__group){grid-column:1/-1;margin-bottom:0}
.fsh-engine .menu__group{background:#fff;border:1px solid var(--fsh-line);border-radius:var(--fsh-r);box-shadow:var(--fsh-shadow);padding:26px 30px 10px}
.fsh-engine .menu__group h3{margin-top:0}
/* Forms (a table booking, the newsletter): a card */
.fsh-engine #reserve,.fsh-engine .sec:has(form[action="/api/subscribe"]){background:var(--fsh-paper)}
.fsh-engine #reserve .form,.fsh-engine .wrap:has(> form[action="/api/subscribe"]){background:#fff;border:1px solid var(--fsh-line);border-radius:var(--fsh-r);box-shadow:var(--fsh-shadow);padding:clamp(22px,3vw,40px);box-sizing:border-box}
/* Opening hours and collection times: a neat card, not a table across the page */
.fsh-engine table.hours{width:100%;max-width:560px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--fsh-line);border-radius:var(--fsh-r);box-shadow:var(--fsh-shadow);overflow:hidden}
.fsh-engine table.hours th,.fsh-engine table.hours td{padding:13px 24px;border-bottom:1px solid var(--fsh-line)}
.fsh-engine table.hours tr:last-child th,.fsh-engine table.hours tr:last-child td{border-bottom:0}
.fsh-engine table.hours td{text-align:right;color:var(--fsh-ink);font-variant-numeric:tabular-nums}
/* Delivery charges and the payment notes: cards */
.fsh-engine table.timetable{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--fsh-line);border-radius:var(--fsh-r);box-shadow:var(--fsh-shadow);overflow:hidden}
.fsh-engine table.timetable th,.fsh-engine table.timetable td{padding:14px 24px}
.fsh-engine table.timetable caption{text-align:left;font-family:Archivo,'Source Sans 3',sans-serif;font-weight:700;color:var(--fsh-ink);padding:0 0 10px}
.fsh-engine .pay__note{background:var(--fsh-paper);border:1px solid var(--fsh-line);border-radius:var(--fsh-r);padding:22px 26px;margin-top:24px}
.fsh-engine .pay__m{border-radius:999px}
/* A timeline: the steps side by side on a wide screen, a numbered card each */
.fsh-engine .timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;list-style:none;padding:0;margin:28px 0 0;counter-reset:none}
.fsh-engine .timeline li{display:block;background:#fff;border:1px solid var(--fsh-line);border-radius:var(--fsh-r);box-shadow:var(--fsh-shadow);padding:24px;position:relative}
.fsh-engine .timeline__no{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--fsh-teal);color:#fff;font-weight:800;margin-bottom:14px}
.fsh-engine .timeline li h3{margin:0 0 4px;font-size:19px}
.fsh-engine .timeline li .meta{margin:0 0 10px;color:var(--fsh-teal);font-weight:700}
.fsh-engine .timeline li p{margin:0}
/* Tabs: the steps as three cards across */
.fsh-engine .wrap:has(> .tabpanel){display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.fsh-engine .wrap:has(> .tabpanel) > :not(.tabpanel){grid-column:1/-1}
.fsh-engine .tabpanel{background:#fff;border:1px solid var(--fsh-line);border-radius:var(--fsh-r);box-shadow:var(--fsh-shadow);padding:26px;margin:0}
.fsh-engine .tabpanel h3{margin-top:0}
.fsh-engine .tabpanel h3 span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--fsh-cta);color:#1c1917;font-size:15px;margin-right:8px;vertical-align:middle}
/* Search: in the middle, bigger */
.fsh-engine .sec:has(.search__popular),.fsh-engine .sec:has(form[role="search"]){text-align:left}
@media (max-width:760px){.fsh-engine .wrap:has(> .menu__group){grid-template-columns:1fr}.fsh-engine table.hours{max-width:none}}
.fsh-engine table.timetable caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} /* the heading above already says it; the card clipped it */
@media (max-width:760px){.fsh-engine table.timetable{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}} /* on a phone the rows are cards already */
/* Workshop "Book a service": the day and time from the approved date-and-time window (27 Oct 2026) */
.fsh-book__when{display:grid;gap:6px}
.fsh-book__label{font-weight:600;font-size:15px;color:var(--fsh-ink)}
.fsh-book__pick{background:transparent;min-height:0!important;padding:0!important;margin:0!important}
.fsh-book__first{margin:0;padding:12px 14px;border:1px dashed var(--fsh-line);border-radius:10px;color:var(--fsh-mid);font-size:14px}
/* Jobs → Settings on the Jobs page (27 Oct 2026): the speculative CV box beside its words, and the consent box */
.fsh-spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:48px;padding-top:40px;border-top:1px solid var(--fsh-line)}
.fsh-spec__words h3{font-size:clamp(24px,2.4vw,32px);margin:0 0 10px}
.fsh-spec__words p{margin:0;color:var(--fsh-mid);font-size:17px;line-height:1.6}
.fsh-check--consent{align-items:flex-start!important;font-weight:500!important;font-size:14px!important;color:var(--fsh-mid)!important;line-height:1.5}
.fsh-check--consent input{flex:0 0 auto;margin-top:2px}
@media (max-width:860px){.fsh-spec{grid-template-columns:1fr}}
/* Bookings → Services on the Workshop form (28 Oct 2026): add-ons, the running total, the deposit, the cancellation
   policy. */
.fsh-book__addons{border:1px solid var(--fsh-line);border-radius:14px;padding:12px 14px 14px;margin:0;display:grid;gap:10px;min-width:0}
.fsh-book__addons legend{font-weight:600;font-size:15px;color:var(--fsh-ink);padding:0 6px}
.fsh-book__addon{align-items:flex-start!important;font-weight:500!important}
.fsh-book__addon input{flex:0 0 auto;margin-top:2px}
.fsh-book__addon span{display:grid;gap:2px}.fsh-book__addon em{font-style:normal;color:var(--fsh-teal);font-weight:600}
.fsh-book__addon small{color:var(--fsh-mid);font-size:13px;font-weight:400}
.fsh-book__sum{background:var(--fsh-paper);border-radius:14px;padding:12px 16px;display:grid;gap:4px}
.fsh-book__sum p{margin:0;display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:var(--fsh-ink)}
.fsh-book__sum b{font-size:20px}
.fsh-book__sum .fsh-book__dep{display:block;font-size:14px;color:var(--fsh-mid)}
.fsh-book__policy b{color:var(--fsh-ink)}
/* The Workshop page (28 Oct 2026, Duncan: "you can't have green on green"): its service ladder sits straight under the
   green page head, so there it is on the light paper ground with dark words and white cards. The home page keeps the
   green ladder, where it sits between light sections. */
.fsh-ph + .fsh-workshop{background:var(--fsh-paper);color:var(--fsh-ink)}
.fsh-ph + .fsh-workshop .fsh-head--light h2{color:var(--fsh-ink)}
.fsh-ph + .fsh-workshop .fsh-head--light .fsh-lede{color:var(--fsh-mid)}
.fsh-ph + .fsh-workshop .fsh-head--light .fsh-kick{color:var(--fsh-teal)}
.fsh-ph + .fsh-workshop .fsh-rung{background:#fff;border-color:var(--fsh-line);box-shadow:var(--fsh-shadow);backdrop-filter:none}
.fsh-ph + .fsh-workshop .fsh-rung--pick{background:#f0f8fb;border-color:var(--fsh-teal)}
.fsh-ph + .fsh-workshop .fsh-rung h3{color:var(--fsh-ink)}
.fsh-ph + .fsh-workshop .fsh-rung p.fsh-rung__price{color:var(--fsh-ink)}
.fsh-ph + .fsh-workshop .fsh-rung__price small{color:var(--fsh-mid)}
.fsh-ph + .fsh-workshop .fsh-rung p{color:var(--fsh-mid)}
/* 28 Oct 2026 — the Riding School's one form, book or ask (Enrol with `ask`): two big tiles, the half not chosen hidden.
   Works with no script; the script only stops Enter sending the hidden half. */
.fsh-mode{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fsh-mode label{display:grid!important;gap:2px;border:2px solid var(--fsh-line);border-radius:16px;padding:14px 16px;cursor:pointer;background:var(--fsh-paper);position:relative}
.fsh-mode input{position:absolute;opacity:0;pointer-events:none}
.fsh-mode b{font:700 16px Archivo,'Source Sans 3',sans-serif;color:var(--fsh-ink)}
.fsh-mode small{font-weight:500;font-size:13px;color:var(--fsh-mid)}
.fsh-mode label:has(input:checked){border-color:var(--fsh-teal);background:var(--fsh-teal)}
.fsh-mode label:has(input:checked) b,.fsh-mode label:has(input:checked) small{color:#fff}
.fsh-mode label:has(input:focus-visible){outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-enrol__ask{display:grid;gap:14px}
.fsh-enrol:not(:has(input[name=mode][value=ask]:checked)) :is(.fsh-enrol__ask,.fsh-enrol__go-ask){display:none}
.fsh-enrol:has(input[name=mode][value=ask]:checked) :is(.fsh-enrol__book,.fsh-enrol__go-book){display:none}
@media (max-width:420px){.fsh-mode{grid-template-columns:1fr}}
/* 28 Oct 2026 — what the Courses and Sessions screens' boxes now put on the cards and dates. */
.fsh-course__pop{display:inline-block;background:var(--fsh-cta);color:#1c1917;border-radius:999px;padding:2px 10px;margin-right:8px;letter-spacing:.04em}
.fsh-course__by{margin:-6px 0 0!important;font-weight:600;color:var(--fsh-mid)!important;font-size:14px}
.fsh-course__bring{font-size:14px;color:var(--fsh-mid)!important}.fsh-course__bring b{color:var(--fsh-ink)}
.fsh-course__more summary{cursor:pointer;font-weight:700;color:var(--fsh-teal);font-size:14px}
.fsh-course__more summary:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px;border-radius:6px}
.fsh-course__more>div{font-size:15px;color:var(--fsh-mid);margin-top:8px}.fsh-course__more>div p{margin:0 0 8px}
.fsh-course__price s,.fsh-tt__left s{font-size:.6em;font-weight:600;color:var(--fsh-mid);margin-right:8px}
.fsh-tt__what p.fsh-tt__note{margin:-4px 0 8px;color:var(--fsh-ink);font-size:14px}
.fsh-tt__early{display:block;font-size:12px;color:var(--fsh-mid)}
.fsh-tt__left s{font-size:13px}.fsh-tt__early{white-space:nowrap}
/* 28 Oct 2026 — what the Events screen's boxes now put on the event cards (the dark ground: light words). */
.fsh-ride__kind{margin:0 0 8px!important;color:#67d4ee!important;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.fsh-ride__by{margin:-2px 0 8px!important;color:#e6f1f5!important;font-weight:600;font-size:14px}
.fsh-ride__repeat{margin-top:8px!important;color:#e6f1f5!important;font-size:14px;font-weight:600}
.fsh-ride__meta a{color:#fff;text-decoration:underline}.fsh-ride__meta a:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
.fsh-ride__meta s{color:#cde2ea;font-weight:500;margin-right:6px}
.fsh-ride__places{margin-top:6px!important;color:#fff!important;font-weight:700;font-size:14px}

/* FAQ (28 Oct 2026): a category's description, each question's category in its colour, formatted answers, See also, Show all. */
.fsh-faq__desc{margin-top:14px}
.fsh-faq__cat{display:inline-block;margin-right:10px;padding:3px 10px;border-radius:999px;font:700 12px 'Source Sans 3',sans-serif;letter-spacing:.04em;vertical-align:middle;color:#fff;background:var(--c,var(--fsh-teal))}
.fsh-faq__a>p,.fsh-faq__a>div>p{margin:0 0 10px}.fsh-faq__a ul,.fsh-faq__a ol{margin:0 0 10px;padding-left:20px}
.fsh-faq__see{font-size:14px;color:var(--fsh-mid)}.fsh-faq__see a{color:var(--fsh-teal);font-weight:600}
.fsh-faq__more>summary{list-style:none;cursor:pointer;color:var(--fsh-teal);font-weight:700;padding:14px 0}.fsh-faq__more>summary::-webkit-details-marker{display:none}
.fsh-faq__more[open]>summary{display:none}
.fsh-faq details.fsh-faq__more{border:0;padding:0}.fsh-faq .fsh-faq__more>summary::after{content:none}.fsh-faq__more>summary{font:700 16px 'Source Sans 3',sans-serif}
/* Photo Galleries (28 Oct 2026): ten layouts chosen per album, the opened photo's words, album covers, sub-albums, a locked album. */
.fsh-albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:26px 0 8px}
.fsh-albums__c{position:relative;display:block;border-radius:var(--fsh-r);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--fsh-shadow);color:#fff;text-decoration:none}
.fsh-albums__c img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.fsh-albums__c:hover img{transform:scale(1.05)}
.fsh-albums__c span{position:absolute;inset:auto 0 0 0;padding:28px 16px 14px;background:linear-gradient(transparent,rgba(3,15,22,.85));display:grid}
.fsh-albums__c b{font:800 18px Archivo,sans-serif}.fsh-albums__c small{opacity:.85}
.fsh-album{scroll-margin-top:90px}.fsh-album--sub{margin-top:28px;padding-left:18px;border-left:3px solid var(--fsh-line)}.fsh-album h4{font-size:20px;margin:0 0 6px;display:flex;gap:10px;align-items:baseline}.fsh-album h4 small{font:600 13px 'Source Sans 3',sans-serif;color:var(--fsh-mid)}
.fsh-album__lock{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center;margin-top:16px;background:var(--fsh-paper);border:1px solid var(--fsh-line);border-radius:var(--fsh-r);padding:18px}
.fsh-album__lock img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;filter:blur(6px) saturate(.6)}
.fsh-album__lock p{margin:0 0 10px}.fsh-album__wrong{color:#b42318;font-weight:700}
.fsh-album__pw{display:flex;gap:10px;flex-wrap:wrap}.fsh-album__pw input{flex:1 1 200px;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;font:16px 'Source Sans 3',sans-serif}
.cg{--cols:4;--gap:16px;--r:12px;--ar:auto;margin-top:16px}
.cg__t{margin:0;position:relative}.cg__a{display:block;position:relative;overflow:hidden;border-radius:var(--r);color:inherit;text-decoration:none}
.cg__a img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:var(--ar);transition:transform .35s,filter .35s,opacity .35s}
.cg figcaption{padding:8px 2px 0;display:grid;gap:2px}.cg__title{font-weight:700}.cg__desc{color:var(--fsh-mid);font-size:14px}
.cg--h-zoom .cg__a:hover img{transform:scale(1.06)}.cg--h-fade .cg__a:hover img{opacity:.75}.cg--h-blur .cg__a:hover img{filter:blur(2px)}
.cg--h-slide-up .cg__a:hover img{transform:translateY(-6px)}.cg--h-overlay .cg__a::after{content:'';position:absolute;inset:0;background:rgba(8,34,47,0);transition:background .3s}.cg--h-overlay .cg__a:hover::after{background:rgba(8,34,47,.35)}
.cg__a:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:3px}
.cg--grid,.cg--story,.cg--captions{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap)}
.cg--grid .cg__a img,.cg--story .cg__a img,.cg--captions .cg__a img{aspect-ratio:var(--ar)}
.cg--grid,.cg--story,.cg--captions{--ar2:1}.cg--grid .cg__a img[style],.cg .cg__a img{min-height:0}
.cg--masonry{columns:var(--cols);column-gap:var(--gap)}.cg--masonry .cg__t{break-inside:avoid;margin-bottom:var(--gap)}.cg--masonry .cg__a img{aspect-ratio:auto;height:auto}
.cg--bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;grid-auto-flow:dense;gap:var(--gap)}
.cg--bento .cg__t--first{grid-column:span 2;grid-row:span 2}.cg--bento .cg__t:nth-child(n+6):nth-child(3n){grid-column:span 2}
.cg--bento .cg__a,.cg--bento-tall .cg__a{height:100%}.cg--bento .cg__a img,.cg--bento-tall .cg__a img{aspect-ratio:auto}
.cg--bento-tall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:var(--gap)}.cg--bento-tall .cg__t--first{grid-row:span 2}
.cg--carousel,.cg--slider{position:relative}
.cg__track{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.cg__track::-webkit-scrollbar{display:none}
.cg__track>.cg__t{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));scroll-snap-align:start}
.cg--slider .cg__track{gap:0}.cg--slider .cg__track>.cg__t{flex-basis:100%}.cg--slider .cg__a img{aspect-ratio:16/8;max-height:620px}
.cg__arrows{display:flex;gap:10px;justify-content:flex-end;margin:12px 0 0}.cg__arrows button,.cg__dots button{border:1px solid var(--fsh-line);background:#fff;border-radius:999px;cursor:pointer}
.cg__arrows button{width:44px;height:44px;font-size:24px;line-height:1;color:var(--fsh-ink)}.cg__arrows button:hover{background:var(--fsh-paper)}
.cg__dots{display:flex;gap:8px;justify-content:center;margin:10px 0 0}.cg__dots button{width:12px;height:12px;padding:0;background:var(--fsh-line)}.cg__dots button[aria-current="true"]{background:var(--fsh-teal);border-color:var(--fsh-teal);width:28px}.cg__dots button{transition:width .25s,background .25s}
.cg--thumbs-below,.cg--thumbs-side{display:grid;gap:var(--gap)}.cg--thumbs-side{grid-template-columns:minmax(0,1fr) 120px}
.cg__main{display:grid}.cg__main>figure{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .35s}.cg__main img{display:block;width:100%;aspect-ratio:16/10;max-height:72vh;object-fit:cover;border-radius:var(--r)}
.cg__main figcaption{padding:10px 2px 0;color:var(--fsh-mid)}
.cg__thumbs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin}.cg--thumbs-side .cg__thumbs{flex-direction:column;overflow-y:auto;max-height:min(70vw,560px)}
.cg__thumbs label{flex:0 0 96px;cursor:pointer;border-radius:10px;overflow:hidden}.cg--thumbs-side .cg__thumbs label{flex-basis:auto}
.cg__thumbs img{display:block;width:100%;height:72px;object-fit:cover}.cg__thumbs label:hover img{opacity:.85}
.cg--captions .cg__cap{position:absolute;inset:auto 10px 10px 10px;background:rgba(255,255,255,.94);color:var(--fsh-ink);border-radius:12px;padding:10px 12px;font-weight:700;display:grid;gap:2px;opacity:0;transform:translateY(14px);transition:opacity .4s,transform .4s;box-shadow:0 10px 24px -12px rgba(0,0,0,.4)}
.cg--captions .cg__cap small{font-weight:400;color:var(--fsh-mid)}
.cg--captions .cg__t.is-in .cg__cap,.cg--captions .cg__a:hover .cg__cap,.cg--captions .cg__a:focus-visible .cg__cap{opacity:1;transform:none}
.fsh-box__words{max-width:min(760px,100%);display:grid;gap:6px;color:#e5f0f4;text-align:center;justify-items:center}.fsh-box__words p{margin:0}.fsh-box__cap{font-weight:700;color:#fff}
.fsh-box__credit a{color:#86c9dc}.fsh-box__meta{opacity:.8;font-size:14px}
.fsh-box--story:target{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);grid-template-rows:100%;align-content:stretch;align-items:stretch;padding:0;gap:0}
.fsh-box--story img{max-height:100vh;width:100%;height:100%;object-fit:contain;border-radius:0;background:#000}
.fsh-box--story .fsh-box__words{max-width:none;background:#fff;color:var(--fsh-ink);text-align:left;justify-items:start;align-content:center;padding:40px 32px;animation:fsh-drawer .35s ease-out}
.fsh-box--story .fsh-box__words h3{margin:0;font-size:26px}.fsh-box--story .fsh-box__cap{color:var(--fsh-ink)}.fsh-box--story .fsh-box__words p{color:#334155}.fsh-box--story .fsh-box__words .fsh-box__cap{color:var(--fsh-ink)}.fsh-box--story .fsh-box__meta{opacity:1;color:var(--fsh-mid)}.fsh-box--story .fsh-box__credit a{color:var(--fsh-teal)}
@keyframes fsh-drawer{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:1100px){.cg--grid,.cg--story,.cg--captions{grid-template-columns:repeat(var(--cols-t),minmax(0,1fr))}.cg--masonry{columns:var(--cols-t)}.cg__track>.cg__t{flex-basis:calc((100% - (var(--cols-t) - 1) * var(--gap)) / var(--cols-t))}}
@media (max-width:640px){.cg--grid,.cg--story,.cg--captions{grid-template-columns:repeat(var(--cols-m),minmax(0,1fr))}.cg--masonry{columns:var(--cols-m)}.cg__track>.cg__t{flex-basis:calc((100% - (var(--cols-m) - 1) * var(--gap)) / var(--cols-m))}
  .cg--bento,.cg--bento-tall{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.cg--thumbs-side{grid-template-columns:minmax(0,1fr)}.cg--thumbs-side .cg__thumbs{flex-direction:row;max-height:none}
  .fsh-box--story:target{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-content:start;overflow-y:auto}.fsh-box--story img{height:auto;max-height:60vh}.fsh-album__lock{grid-template-columns:minmax(0,1fr)}}
@media (hover:none){.cg--captions .cg__cap{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cg__a img,.cg__main>figure,.cg--captions .cg__cap{transition:none}.fsh-box--story .fsh-box__words{animation:none}}
.fsh-box--story .fsh-box__x{z-index:2;color:var(--fsh-ink);text-shadow:none}
@media (max-width:640px){.fsh-box--story{background:#fff}.fsh-box--story .fsh-box__x{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}}
/* 29 Oct 2026, Downloads: a download's own picture, its Featured label, a password box, a name box and a consent tick */
.fsh-files__pic{width:64px;height:64px;object-fit:cover;border-radius:14px;flex:none;box-shadow:0 8px 20px -12px rgba(8,34,47,.45)}
.fsh-files__star{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:700;vertical-align:2px}
.fsh-files li > div .fsh-rich, .fsh-files li > div p{margin:2px 0 0}
.fsh-files__consent{flex-basis:100%;display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--fsh-mid);margin-top:6px;text-align:left}
.fsh-files__consent input{margin-top:2px;accent-color:var(--fsh-teal)}
.fsh-files li:target{outline:3px solid var(--fsh-cta);outline-offset:4px}
.fsh-files__consent input{flex:none;width:auto;border:0;padding:0}
/* 29 Oct 2026, Notices: a notice's button and a × that hides it for the visit */
.fsh-notices p{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fsh-notices__words{flex:1 1 280px;min-width:0}
.fsh-notices__go{color:#7c2d12;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.fsh-notices__go:hover{color:#c2410c}
.fsh-notices__x{border:0;background:none;color:#9a3412;font-size:22px;line-height:1;width:32px;height:32px;border-radius:999px;cursor:pointer;flex:none}
.fsh-notices__x:hover,.fsh-notices__x:focus-visible{background:#fed7aa;outline:none}
.fsh-notices [hidden],.fsh-notices[hidden]{display:none}
/* The mega footer — Flowbite's "Advanced mega footer" layout (29 Oct 2026, index.tsx Footer), on the demo's own dark
   green ground and colours as before it (Duncan: "where's all the styling gone?" — the layout was asked for, not a
   white footer). The Mediatopia credit band follows it, unchanged. */
.fsh-ft.fsh-mft{background:#041c27;color:#b7d3dd;padding:0}
.fsh-mft a{display:inline;padding:0;color:#b7d3dd;text-decoration:none}
.fsh-mft a:hover{color:#fff}
.fsh-mft__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.fsh-mft__news{display:flex;flex-wrap:wrap;gap:12px;flex:1 1 360px;max-width:560px;align-items:center}
.fsh-mft__news input{flex:1 1 220px;min-width:0;padding:13px 16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;font:inherit;color:#fff;background:rgba(255,255,255,.06)}
.fsh-mft__news input::placeholder{color:#8fb6c4}
.fsh-mft__news input:focus{outline:2px solid var(--fsh-cta);outline-offset:1px}
.fsh-mft__news button{padding:13px 24px;border:0;border-radius:14px;background:var(--fsh-cta);color:#0f172a;font:700 15px 'Source Sans 3',sans-serif;cursor:pointer;transition:transform .15s,box-shadow .15s}
.fsh-mft__news button:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(242,107,29,.7)}
.fsh-mft__said{margin:0;font-weight:600;color:#fff}.fsh-mft__bad{flex-basis:100%;color:#fca5a5;font-size:14px}
.fsh-mft__social{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.fsh-mft__social a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:14px;font-weight:600}
.fsh-mft__social a.is-icon{width:42px;padding:0}.fsh-mft__social svg{width:20px;height:20px}
.fsh-mft__social a:hover{border-color:var(--fsh-cta);color:var(--fsh-cta)}
.fsh-mft__cols{display:grid;grid-template-columns:1fr;gap:32px;padding-top:48px;padding-bottom:20px}
.fsh-mft__grps{columns:4 150px;column-gap:32px;column-rule:1px solid rgba(255,255,255,.08)}
.fsh-mft__cols.is-halves{grid-template-columns:1fr 1fr;gap:0}
.fsh-mft__cols.is-halves .fsh-mft__grps{columns:2 150px}
.fsh-mft__cols.is-halves .fsh-mft__half:first-child{padding-right:32px}
.fsh-mft__cols.is-halves .fsh-mft__half+.fsh-mft__half{padding-left:32px;border-left:1px solid rgba(255,255,255,.08)}
.fsh-mft__head{display:flex;align-items:center;gap:12px;margin:0 0 24px;font:800 20px Archivo,sans-serif;color:#fff}
.fsh-mft__head::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.12)}
@media (max-width:760px){.fsh-mft__cols.is-halves{grid-template-columns:1fr}
  .fsh-mft__cols.is-halves .fsh-mft__half:first-child{padding-right:0}
  .fsh-mft__cols.is-halves .fsh-mft__half+.fsh-mft__half{padding-left:0;border-left:0;padding-top:28px;border-top:1px solid rgba(255,255,255,.08)}}
.fsh-mft__grp{break-inside:avoid;margin:0 0 30px}
.fsh-mft__grp h4{margin:0 0 14px;font:700 13px 'Source Sans 3',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.fsh-mft__t{display:none}
.fsh-mft__links>a{display:block;padding:5px 0;font-size:15px}
.fsh-mft__pay{background:#03161f;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.fsh-mft__pay p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin:0 auto;padding-top:22px;padding-bottom:22px}
.fsh-mft__pay span{font-size:14px;color:#8fb6c4}.fsh-mft__pay b{padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:14px}
.fsh-mft__more{margin:0 auto;padding-top:24px;padding-bottom:20px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.1)}
.fsh-mft__more a{text-decoration:underline;color:#fff}.fsh-mft__demo{color:#7fabba}
.fsh-mft__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:20px;padding-bottom:24px;font-size:13px;margin:0 auto;border:0}
.fsh-mft__legal{display:flex;flex-wrap:wrap;gap:6px 20px}.fsh-mft__legal a{color:#fff;font-weight:500}
/* The demo on a phone, part 1 (30 Oct 2026, docs/MOBILE-PLAN.md). The menu: the header's blur makes the header the box a
   position:fixed panel measures from, so the fixed panel opened 40px tall and looked dead. As the standard phone menu
   (sites/README.md, Morris & Perry's): in the header's flow, rows at least 62px, the page behind hidden, burger to a cross. */
@media (max-width:1100px){
 .fsh-hd__g{flex-wrap:wrap;gap:10px;min-height:0;padding-top:17px;padding-bottom:17px}
 .fsh-logo{min-width:0}
 .fsh-burger{flex:none;touch-action:manipulation}
 .fsh-nav{position:static;order:9;flex:0 0 100%;display:none;margin:0;padding:0 0 24px;gap:0;opacity:1;transform:none;visibility:visible;pointer-events:auto;max-height:calc(100vh - 141px);max-height:calc(100svh - 141px);overflow:auto;overscroll-behavior:contain}
 .fsh-nav-t:checked~.fsh-nav{display:flex}
 .fsh-nav a{display:flex;align-items:center;min-height:62px;padding:0 6px;border-radius:0;border-bottom:1px solid var(--fsh-line);font-size:20px;touch-action:manipulation}
 .fsh-nav .fsh-nav__extra{display:flex!important}
 .fsh-nav .fsh-nav__extra:first-of-type{margin-top:0;padding-top:0;border-top:0}
 .fsh-nav .fsh-nav__extra--cta{justify-content:center;margin-top:16px;min-height:56px;border-bottom:0;border-radius:999px}
 .fsh-nav-t:checked+.fsh-burger span{background:transparent}
 .fsh-nav-t:checked+.fsh-burger span::before{top:0;transform:rotate(45deg)}
 .fsh-nav-t:checked+.fsh-burger span::after{top:0;transform:rotate(-45deg)}
 html:has(.fsh-nav-t:checked){overflow:hidden}
 div:has(>.fsh-hd .fsh-nav-t:checked)>:not(.fsh-hd):not(.fsh-demo){visibility:hidden}
}
@media (max-width:480px){
 /* The cart: icon and number, so the logo, cart and burger fit one row. */
 .fsh-cart__w,.fsh-cart__chev{display:none}
 .fsh-cart__btn{padding:9px 6px}
 /* Downloads: name, email and button, one under another (they were squeezed to "Your n", "Your e"). */
 .fsh-files__form>input{flex:1 1 100%}
 .fsh-files__form .fsh-btn{width:100%}
}
/* The footer on a phone: each group a row that opens, one column. */
@media (max-width:760px){
 .fsh-mft__news input{flex:1 1 140px}
 .fsh-mft__cols{padding-top:32px}
 .fsh-mft__cols .fsh-mft__grps,.fsh-mft__cols.is-halves .fsh-mft__grps{columns:1;column-rule:none}
 .fsh-mft__head{margin-bottom:6px}
 .fsh-mft__grp{position:relative;margin:0;border-bottom:1px solid rgba(255,255,255,.1)}
 .fsh-mft__t{display:block;position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;margin:0}
 .fsh-mft__grp h4{margin:0}
 .fsh-mft__grp h4 label{display:flex;align-items:center;justify-content:space-between;min-height:54px;cursor:pointer;touch-action:manipulation}
 .fsh-mft__grp h4 label::after{content:"";width:9px;height:9px;margin-right:4px;border-right:2px solid #8fb6c4;border-bottom:2px solid #8fb6c4;transform:rotate(45deg);transition:transform .2s}
 .fsh-mft__t:checked~h4 label::after{transform:rotate(-135deg)}
 .fsh-mft__t:focus-visible~h4 label{outline:2px solid var(--fsh-cta);outline-offset:2px}
 .fsh-mft__links{display:none;padding:0 0 12px}
 .fsh-mft__t:checked~.fsh-mft__links{display:block}
 .fsh-mft__links>a{padding:11px 0}
 .fsh-mft__cols.is-halves .fsh-mft__half+.fsh-mft__half{border-top:0;padding-top:30px}
 .fsh-mft__grp:last-child{border-bottom:0}
}
/* The sites a business is reviewed on (Reviews → Review sites in the CMS) */
.fsh-rsites{margin:18px 0 26px}.fsh-rsites h3{margin:0 0 12px;font:700 20px/1.2 Archivo,sans-serif;color:var(--fsh-ink)}.fsh-rsites div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.fsh-rsites a{display:block;padding:18px;border-radius:18px;background:var(--fsh-paper,#f2f6f7);color:var(--fsh-ink);text-decoration:none;transition:transform .2s}.fsh-rsites a:hover{transform:translateY(-2px)}.fsh-rsites b{display:block;font:700 17px/1.2 Archivo,sans-serif}.fsh-rsites small{display:block;margin-top:4px;font-weight:600;font-size:13px;color:var(--fsh-teal)}

/* ── The fishing shop's own sections (7 Nov 2026) ───────────────────────────────────────────────────────────────────── */
.fsh-ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* About the shop: two overlapping pictures, the owner's words, the promises as glass cards. */
.fsh-about{background:#fff;overflow:hidden}
.fsh-about__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:center}
.fsh-about__pics{position:relative;min-height:460px}
.fsh-about__pics img{position:absolute;object-fit:cover;border-radius:var(--fsh-r);box-shadow:var(--fsh-shadow)}
.fsh-about__p1{inset:0 18% 14% 0;width:82%;height:86%}
.fsh-about__p2{right:0;bottom:0;width:52%;height:52%;border:6px solid #fff}
.fsh-about__copy .fsh-head{margin-bottom:18px}
.fsh-about__copy .rich,.fsh-about__copy>div>p{font-size:18px;line-height:1.65;color:var(--fsh-mid)}
.fsh-about__pts{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fsh-about__pts li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;align-items:start;padding:16px 18px;border-radius:20px;background:linear-gradient(160deg,#f2f6f7,#fff);border:1px solid var(--fsh-line);box-shadow:0 18px 40px -30px rgba(8,34,47,.5)}
.fsh-about__pts span{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--fsh-deep);color:#86c9dc}
.fsh-about__pts b{font-size:16px;color:var(--fsh-ink)}.fsh-about__pts small{font-size:14px;line-height:1.45;color:var(--fsh-mid)}
/* How delivery works: a deep band, a line that draws itself, the steps lighting in turn. */
.fsh-steps{background:radial-gradient(120% 140% at 85% 0%,#0d3446 0%,#08222f 55%,#061a24 100%);color:#fff;position:relative;overflow:hidden}
.fsh-steps__l{list-style:none;padding:0;margin:8px 0 0;position:relative;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:22px}
.fsh-steps__line{position:absolute;left:4%;right:4%;top:28px;width:92%;height:12px;overflow:visible}
.fsh-steps__line path{fill:none;stroke:#67d4ee;stroke-width:2.5;stroke-dasharray:1100;stroke-dashoffset:1100;opacity:.6;vector-effect:non-scaling-stroke}
.fsh-steps__l.is-in .fsh-steps__line path{transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1);stroke-dashoffset:0}
.fsh-steps__l li{position:relative;padding:86px 22px 24px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);opacity:.35;transform:translateY(14px);transition:opacity .5s,transform .5s,background .2s;transition-delay:calc(.35s * var(--i))}
.fsh-steps__l.is-in li{opacity:1;transform:none}
.fsh-steps__l li:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.fsh-steps__dot{position:absolute;top:8px;left:22px;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--fsh-cta);color:#1c1917;box-shadow:0 14px 30px -14px rgba(242,107,29,.9)}
.fsh-steps__l small{display:block;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#67d4ee}
.fsh-steps__l b{display:block;font:700 20px/1.2 Archivo,sans-serif;margin:6px 0 8px}
.fsh-steps__l p{margin:0;color:#cde2ea;line-height:1.55}
.fsh-steps__go{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:34px 0 0}.fsh-steps__go span{color:#cde2ea}
@media (max-width:900px){.fsh-about__g{grid-template-columns:minmax(0,1fr)}.fsh-about__pics{min-height:340px}.fsh-steps__l{grid-template-columns:repeat(2,minmax(0,1fr))}.fsh-steps__line{display:none}}
@media (max-width:560px){.fsh-about__pts,.fsh-steps__l{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.fsh-steps__l li{transition:none;opacity:1;transform:none}.fsh-steps__line path{stroke-dashoffset:0;transition:none}}
/* A shelf of one department on the deep ground (the spotlight), and the closing band's buttons. */
.fsh-shelf--deep{background:radial-gradient(90% 120% at 10% 0%,#0d3446 0%,#08222f 60%)}
.fsh-shelf--deep .fsh-link{color:#67d4ee}
.fsh-visit__go{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 8px}
/* A long list a page at a time (components/shop-pager.tsx, 7 Nov 2026): the bar above, the page numbers below. */
.fsh-sp-bar{display:grid;gap:14px;margin:0 0 24px;padding:18px 20px;border-radius:20px;background:#fff;border:1px solid var(--fsh-line);box-shadow:0 18px 40px -32px rgba(8,34,47,.5)}
.fsh-sp-bar__n{margin:0;color:var(--fsh-mid)}.fsh-sp-bar__n b{color:var(--fsh-ink);font:700 20px/1 Archivo,sans-serif}
.fsh-sp-bar__ranges{display:flex;flex-wrap:wrap;gap:8px}
.fsh-sp-bar__ranges a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:12px;background:var(--fsh-paper);color:var(--fsh-ink);text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--fsh-line)}
.fsh-sp-bar__ranges a small{color:var(--fsh-mid);font-weight:500}.fsh-sp-bar__ranges a[aria-current]{background:var(--fsh-deep);color:#fff;border-color:transparent}.fsh-sp-bar__ranges a[aria-current] small{color:#b7d3dd}
.fsh-sp-bar__f{display:flex;flex-wrap:wrap;align-items:end;gap:10px}
.fsh-sp-bar__f label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--fsh-mid);text-transform:uppercase;letter-spacing:.06em}
.fsh-sp-bar__f select,.fsh-sp-bar__f input{min-height:44px;border:1px solid var(--fsh-line);border-radius:12px;padding:0 12px;font:inherit;font-size:15px;text-transform:none;letter-spacing:0;color:var(--fsh-ink);background:#fff}
.fsh-sp-bar__f input{width:96px}
.fsh-sp-bar__f button{min-height:44px;padding:0 20px;border-radius:999px;border:0;background:var(--fsh-cta);color:#1c1917;font-weight:700;cursor:pointer}
.fsh-sp-bar__f a{align-self:center;color:var(--fsh-teal);font-weight:700}
.fsh-sp-pages{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:32px 0 0}
.fsh-sp-pages>a,.fsh-sp-pages>span:not(.fsh-sp-pages__n){min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;border:1.5px solid var(--fsh-line);color:var(--fsh-ink);text-decoration:none;font-weight:700}
/* A disabled Previous/Next (8 Nov 2026): grey, not see-through, and never the page numbers (they were at 40% too). */
.fsh-sp-pages>span:not(.fsh-sp-pages__n){color:var(--fsh-mid);border-style:dashed}
.fsh-sp-pages__n{display:flex;gap:6px;flex-wrap:wrap}.fsh-sp-pages__n a{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--fsh-line);color:var(--fsh-ink);text-decoration:none;font-weight:700}
.fsh-sp-pages__n a[aria-current]{background:var(--fsh-deep);color:#fff;border-color:transparent}.fsh-sp-pages__n i{align-self:center;color:var(--fsh-mid)}
.fsh-sp-bar a:focus-visible,.fsh-sp-pages a:focus-visible,.fsh-sp-bar__f button:focus-visible{outline:3px solid var(--fsh-cta);outline-offset:2px}
/* "Arrives within a week" beside the price boxes (7 Nov 2026): a big tick, not a pill. */
.fsh-sp-bar__f label.fsh-sp-bar__tick{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--fsh-line);border-radius:12px;background:#fff;color:var(--fsh-ink);font-size:15px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer}
.fsh-sp-bar__f label.fsh-sp-bar__tick input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--fsh-teal)}
.fsh-sp-bar__f label.fsh-sp-bar__tick:has(input:checked){border-color:var(--fsh-teal);background:#eff6f9}