/* Fenwick Strength: concept design by Consult Optio.
   Art direction: chalk and bumper plates. Wide rounded Unbounded, a highly
   legible body face, plate colours as the colour code, and a first-hour dial. */
@font-face{font-family:Unbounded;src:url(../fonts/unbounded-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Atkinson;src:url(../fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Atkinson;src:url(../fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --chalk:#f2f1ec;--white:#fff;--rubber:#18191b;--rubber-2:#232427;--mid:#5c5d61;--line:#dcdad2;
  --red:#d42f27;--blue:#1d5bd0;--yellow:#f2c230;--green:#2f9e5b;
  --disp:Unbounded,"Arial Black",sans-serif;--sans:Atkinson,system-ui,sans-serif;--wrap:1220px;--gut:40px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--chalk);color:var(--rubber);font:400 18px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}

.ph{position:relative;overflow:hidden;margin:0}
.ph img{color:transparent;width:100%;height:100%;object-fit:cover}
.ph.nophoto img{visibility:hidden}
.tag{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:var(--rubber);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px;white-space:nowrap}

.concept{background:var(--rubber);color:#c9c9c4;font-size:12px;text-align:center;padding:6px 16px}

/* nav */
.nav .wrap{display:flex;align-items:center;gap:28px;height:84px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo svg{flex:none}
.logo b{font:700 19px/1 var(--disp);letter-spacing:-.02em}
.links{display:flex;gap:4px;margin-left:auto}
.links a{text-decoration:none;font-weight:700;font-size:16px;padding:10px 14px;border-radius:99px}
.links a:hover,.links a[aria-current]{background:var(--white)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:99px;background:var(--red);color:#fff;text-decoration:none;font:700 15px/1 var(--disp);letter-spacing:-.01em;border:0;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:#b9241d;transform:translateY(-2px)}
.btn.dark{background:var(--rubber)}
.btn.dark:hover{background:#000}
.btn.line{background:transparent;color:var(--rubber);box-shadow:inset 0 0 0 2px var(--rubber)}
.btn.line:hover{background:var(--rubber);color:#fff}

/* hero */
.hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;padding-top:24px;padding-bottom:80px;align-items:center}
.where{font-weight:700;font-size:16px;color:var(--mid);margin-bottom:20px}
.h1{font:700 58px/1.02 var(--disp);letter-spacing:-.045em;margin-bottom:26px}
.h1 span{display:block;color:var(--red)}
.lede{font-size:20px;color:var(--mid);max-width:30em;margin-bottom:32px}
.lede b{color:var(--rubber)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.nums{display:grid;grid-template-columns:repeat(3,auto);gap:30px;margin-top:40px;justify-content:start}
.nums b{display:block;font:700 34px/1 var(--disp);letter-spacing:-.04em}
.nums span{font-size:15px;color:var(--mid)}
.plate{position:relative;aspect-ratio:1;border-radius:50%;padding:28px;background:var(--red);box-shadow:inset 0 0 0 10px rgba(0,0,0,.12),0 40px 80px rgba(24,25,27,.25)}
.plate::before{content:"";position:absolute;inset:12px;border-radius:50%;border:2px solid rgba(255,255,255,.25);pointer-events:none;z-index:2}
.plate .ph{border-radius:50%;width:100%;height:100%}
.plate .ph::after{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px;border-radius:50%;background:var(--chalk);box-shadow:0 0 0 10px #c9c8c1,inset 0 4px 10px rgba(0,0,0,.3)}
.plate .tag{bottom:16%}
.sticker{position:absolute;right:-6px;top:6%;width:150px;height:150px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;text-align:center;font:700 15px/1.15 var(--disp);letter-spacing:-.02em;transform:rotate(10deg);z-index:3;box-shadow:0 14px 30px rgba(24,25,27,.25);padding:14px}
.sticker small{display:block;font:700 12px/1.2 var(--sans);margin-top:4px;letter-spacing:0}
.kg{position:absolute;left:50%;top:9%;transform:translateX(-50%);z-index:3;color:#fff;font:700 13px/1 var(--disp);letter-spacing:.08em;opacity:.85}

/* strip */
.strip{background:var(--rubber);color:#fff}
.strip ul{display:flex;flex-wrap:wrap;gap:12px 36px;justify-content:center;padding-top:22px;padding-bottom:22px;font-weight:700}
.strip li{display:flex;align-items:center;gap:12px}
.strip li::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--c,var(--yellow));box-shadow:inset 0 0 0 4px rgba(0,0,0,.25)}
.strip li.s{border:1.5px dashed #6a6b6f;border-radius:99px;padding:6px 14px;color:#c9c9c4;font-weight:400}
.strip li.s::before{display:none}

/* sections */
.sec{padding:110px 0}
.sec.white{background:var(--white)}
.sec.dark{background:var(--rubber);color:#fff}
.h2{font:700 50px/1.02 var(--disp);letter-spacing:-.045em;margin-bottom:18px}
.intro{font-size:19px;color:var(--mid);max-width:34em}
.dark .intro{color:#c9c9c4}
.head{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:end;margin-bottom:52px}

/* the signature: the first hour dial */
.hour{display:grid;grid-template-columns:440px 1fr;gap:72px;align-items:center}
.dial{position:relative;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--c,var(--yellow)) calc(var(--p,0)*1%),#2f3034 0);display:grid;place-items:center;transition:background .2s}
.dial::before{content:"";position:absolute;inset:26px;border-radius:50%;background:var(--rubber)}
.dial .ticks{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -1deg,rgba(24,25,27,.9) 0 2deg,transparent 2deg 30deg)}
.dial .in{position:relative;text-align:center}
.dial .min{display:block;font:700 96px/1 var(--disp);letter-spacing:-.06em}
.dial .lab{font-size:16px;color:#c9c9c4}
.phase small{display:block;font-weight:700;font-size:15px;color:var(--c,var(--yellow));margin-bottom:10px}
.phase h3{font:700 40px/1.05 var(--disp);letter-spacing:-.04em;margin-bottom:14px}
.phase p{font-size:19px;color:#d9d9d4;max-width:30em;min-height:90px}
.scrub{margin-top:34px}
.scrub input{width:100%;accent-color:var(--yellow);height:44px;cursor:pointer}
.marks{display:flex;justify-content:space-between;font-size:14px;color:#9a9b9f;margin-top:4px}
.marks button{background:none;border:0;color:inherit;cursor:pointer;padding:8px 4px;min-height:44px;font-weight:700}
.marks button[aria-pressed="true"]{color:#fff}

/* prices as plates */
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pc{background:var(--white);border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--line);position:relative;overflow:hidden}
.pc::before{content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 16px rgba(0,0,0,.12)}
.pc::after{content:"";position:absolute;right:15px;top:15px;width:20px;height:20px;border-radius:50%;background:var(--white)}
.pc small{font-weight:700;font-size:15px;color:var(--mid)}
.pc h3{font:700 28px/1.05 var(--disp);letter-spacing:-.04em;max-width:7em}
.pc .pr{font:700 52px/1 var(--disp);letter-spacing:-.05em}
.pc .pr span{display:block;font:400 15px/1.3 var(--sans);color:var(--mid);letter-spacing:0;margin-top:6px}
.pc ul{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:16px;font-size:16px}
.pc li{padding-left:22px;position:relative}
.pc li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;background:var(--c)}
.pc .btn{margin-top:auto}
.pc.pop{background:var(--rubber);color:#fff;border-color:var(--rubber)}
.pc.pop small,.pc.pop .pr span{color:#c9c9c4}
.pc.pop ul{border-color:#3a3b3f}
.pc.pop::after{background:var(--rubber)}
.pc.pop .btn{background:#fff;color:var(--rubber)}
.fine{margin-top:22px;font-size:16px;color:var(--mid)}

/* space */
.space{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}
.space .ph{border-radius:24px}
.space .ph:first-child{grid-row:span 2}
.space .ph:nth-child(4){grid-column:span 2}

/* results: sample slots only */
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.res div{border:2px dashed #b9b8b0;border-radius:24px;padding:28px;min-height:220px;display:flex;flex-direction:column;gap:12px;background:var(--chalk)}
.res b{font:700 20px/1.15 var(--disp);letter-spacing:-.03em}
.res p{color:var(--mid);font-size:16px}
.res small{margin-top:auto;font-size:14px;color:var(--mid)}
.res .g{width:48px;height:48px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 7px rgba(0,0,0,.15)}

/* small print and find us */
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rules li{background:var(--white);border-radius:24px;padding:26px}
.rules b{display:block;font:700 19px/1.15 var(--disp);letter-spacing:-.03em;margin-bottom:8px}
.rules p{color:var(--mid);font-size:16px}
.find{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:12px 0;border-bottom:1px solid #3a3b3f}
.hours td:last-child{text-align:right;font-weight:700}
.addr{font:700 34px/1.05 var(--disp);letter-spacing:-.04em;margin-bottom:14px}

.foot{background:var(--rubber);color:#a9aaa5;font-size:15px;padding:0 0 100px}
.foot .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;border-top:1px solid #333438;padding-top:48px}
.foot b{display:block;color:#fff;font:700 17px/1 var(--disp);letter-spacing:-.02em;margin-bottom:12px}
.foot a{color:#fff}
.foot .sl{display:inline-block;margin-top:12px;border:1px dashed #6a6b6f;padding:5px 10px;border-radius:99px}
.foot .fn{grid-column:1/-1;border-top:1px solid #333438;padding-top:20px}
.bar{display:none}

/* inner */
.phero .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;padding-top:30px;padding-bottom:80px;align-items:center}
.phero .ph{border-radius:28px;aspect-ratio:4/3}
.crumb{font-size:15px;color:var(--mid);margin-bottom:16px}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.list{display:grid;gap:12px;margin-top:22px}
.list li{display:grid;grid-template-columns:22px 1fr;gap:12px}
.list li::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:inset 0 0 0 4px rgba(0,0,0,.18);margin-top:6px}
.qa{display:grid;gap:10px}
.qa details{background:var(--white);border-radius:18px;padding:0 22px}
.qa summary{cursor:pointer;font-weight:700;padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.qa summary::after{content:"+";font:700 22px/1 var(--disp);color:var(--red)}
.qa details[open] summary::after{content:"\2212"}
.qa details p{padding:0 0 18px;color:var(--mid)}
.table{width:100%;border-collapse:collapse;background:var(--white);border-radius:24px;overflow:hidden}
.table th,.table td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line)}
.table th{font-size:14px;color:var(--mid)}
.table td:last-child,.table th:last-child{text-align:right}
.table td b{display:block}
.table td span{font-size:15px;color:var(--mid)}
.table td em{font:700 24px/1 var(--disp);font-style:normal;letter-spacing:-.03em;white-space:nowrap}

@media (max-width:1100px){
  .h1{font-size:54px}
  .hour{grid-template-columns:340px 1fr;gap:48px}
}
@media (max-width:900px){
  :root{--gut:20px}
  body{font-size:17px}
  .concept{font-size:11px}
  .nav .wrap{height:64px;gap:10px}
  .links{display:none}
  .logo b{font-size:15px}
  .nav .btn{margin-left:auto;min-height:44px;padding:0 16px;font-size:12px}
  .hero .wrap,.phero .wrap{grid-template-columns:1fr;gap:26px;padding-top:12px;padding-bottom:56px}
  .hero .art{order:-1;width:56%;margin:0 auto}
  .btn .n,.nav .btn .x{display:none}
  .actions{display:grid;grid-template-columns:1fr auto}
  .actions .btn{white-space:nowrap}
  .where{font-size:14px;margin-bottom:12px}
  .h1{font-size:34px;margin-bottom:16px}
  .lede{font-size:17px;margin-bottom:22px}
  .actions .btn{flex:1;padding:0 14px}
  .nums{gap:18px;margin-top:28px}
  .nums b{font-size:24px}
  .nums span{font-size:13px}
  .plate{padding:16px}
  .plate .ph::after{width:40px;height:40px;margin:-20px;box-shadow:0 0 0 6px #c9c8c1}
  .sticker{width:92px;height:92px;font-size:10px;right:-40px;top:-6px;padding:8px}
  .kg{display:none}
  .sticker small{font-size:10px}
  .strip ul{justify-content:flex-start;gap:10px 22px;font-size:15px}
  .sec{padding:72px 0}
  .h2{font-size:32px}
  .head,.hour,.twocol,.find{grid-template-columns:minmax(0,1fr);gap:28px}
  .head{margin-bottom:30px}
  .dial{width:250px;margin:0 auto}
  .dial::before{inset:18px}
  .dial .min{font-size:64px}
  .phase h3{font-size:28px}
  .phase p{font-size:17px;min-height:0}
  .plates,.res,.rules{grid-template-columns:1fr}
  .space{grid-template-columns:1fr 1fr;grid-template-rows:200px 160px 160px}
  .space .ph:first-child{grid-column:span 2;grid-row:auto}
  .space .ph:nth-child(4){grid-column:span 1}
  .addr{font-size:26px}
  .foot{padding-bottom:30px}
  .foot .wrap{grid-template-columns:1fr;gap:24px}
  .table th,.table td{padding:14px}
  .bar{display:grid;grid-template-columns:1fr auto;gap:8px;position:sticky;bottom:0;z-index:20;background:var(--chalk);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
