/* ==========================================================================
   Phase — location pages (web-design/<place>), starting with Muskoka
   The flow system (css/flow.css) in the poster theme (css/home.css: the
   palette, the sticker hero, the manifesto, the process cards and the
   close; js/home.js). What's particular to a location page:

   - a blue disc (lake water), so the manifesto is white on blue
   - "searched this week": local searches that each land on "You"
   - the place's jobs as colour cards, its scenery as a photo mosaic, its
     seasons as four colour cards
   - the map: the district's own outline (traced), its lakes and the towns
     that have their own pages, with a small Ontario locator for scale;
     pins and town cards light each other up (js/location.js)
   - the industries as chips (live pages link, the rest say "Soon")
   The Simcoe County towns (Barrie, Orillia, Innisfil) add: a checklist
   beside the searches, three "who we build for" cards, the county map
   (a base image + this town's municipality and the county edge inline),
   and on Innisfil two price cards.
   ========================================================================== */

body.loc-page{--hm-ground:var(--p-blue)}

/* ==========================================================================
   HERO + MANIFESTO
   ========================================================================== */
.loc-page .hm-sun{--s:clamp(230px,24vw,420px);left:71%;top:38%}
.loc-page .hm-hero h1{font-size:clamp(2.7rem,7.4vw,7.8rem);letter-spacing:-.055em}
.loc-page .hm-hero h1.loc-h1--long{font-size:clamp(2.2rem,5.6vw,6rem)}
.loc-page .hm-hero__sub{max-width:40em;color:rgba(10,10,10,.8)}
.loc-crumbs{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
  font-family:var(--fl-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--fl-faint);
}
.loc-crumbs a{color:var(--fl-dim);transition:color .2s}
.loc-crumbs a:hover{color:#0a0a0a}
.loc-crumbs [aria-current]{color:#0a0a0a}
.loc-page .hm-manifesto{
  color:#fff;
  --fl-ink:#fff;
  --fl-faint:rgba(255,255,255,.62);
  --fl-dim:rgba(255,255,255,.8);
  --fl-line-2:rgba(255,255,255,.3);
}
.loc-page .hm-manifesto .fl-lit-accent .fl-w,
.loc-page .hm-manifesto .fl-lit-accent:not(:has(.fl-w)){color:var(--p-yellow)}

/* ==========================================================================
   SEARCHED THIS WEEK
   ========================================================================== */
.loc-searches{padding:clamp(120px,13vw,190px) 0 clamp(90px,10vw,140px);background:var(--fl-bg)}
.loc-searches__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,100px);align-items:center}
.loc-searches .fl-h2{max-width:10ch}
.loc-searches__card{position:relative;padding:clamp(30px,4.6vw,66px) clamp(20px,3.6vw,54px);border-radius:40px;background:var(--p-yellow)}
.loc-searches__sticker{
  position:absolute;
  left:clamp(-30px,-2vw,-12px);
  top:clamp(-46px,-3.4vw,-24px);
  z-index:2;
  width:clamp(56px,6vw,90px);
  height:auto;
  transform:rotate(-14deg);
  filter:drop-shadow(0 16px 20px rgba(10,10,10,.22));
}
.loc-searches__board{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:clamp(16px,1.8vw,22px);
  border-radius:26px;
  color:#0a0a0a;
  background:var(--fl-surface);
  box-shadow:0 40px 70px -36px rgba(10,10,10,.6);
  transform:rotate(1.6deg);
}
.loc-searches__top{display:flex;align-items:center;justify-content:space-between;margin:2px 4px 4px;font-family:var(--fl-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(10,10,10,.6)}
.loc-searches__top em{font-style:normal;padding:4px 9px;border-radius:var(--radius-pill);border:1.5px solid currentColor}
.loc-q{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 16px;border-radius:18px;background:var(--fl-bg-2)}
.loc-q > svg{flex:none;width:18px;height:18px}
.loc-q__meta{min-width:0;font-size:.82rem;color:rgba(10,10,10,.6)}
.loc-q__meta b{display:block;overflow:hidden;font-size:clamp(.98rem,1.3vw,1.1rem);font-weight:600;color:#0a0a0a;white-space:nowrap;text-overflow:ellipsis}
.loc-q__you{
  flex:none;
  margin-left:auto;
  padding:8px 14px;
  border-radius:var(--radius-pill);
  font-weight:700;
  font-size:.86rem;
  color:#fff;
  background:var(--p-red);
  box-shadow:0 10px 18px -10px rgba(10,10,10,.6);
  transform:rotate(-6deg);
}
.loc-q:nth-of-type(even) .loc-q__you{transform:rotate(5deg)}

.loc-searches__btn{margin-top:28px}
/* a checklist on paper */
.loc-ticks{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.loc-ticks li{position:relative;max-width:46ch;padding-left:34px;font-size:1rem;line-height:1.5}
.loc-ticks li::before{
  content:"";
  position:absolute;
  left:0;
  top:.05em;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--p-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%230a0a0a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;
}

/* ==========================================================================
   A DIFFERENT JOB
   ========================================================================== */
.loc-jobs{padding:clamp(100px,11vw,160px) 0;background:var(--fl-bg-2)}
.loc-jobs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.loc-job{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:clamp(260px,24vw,330px);
  padding:clamp(26px,3vw,42px);
  border-radius:32px;
  color:var(--fg);
  background:var(--c);
  box-shadow:0 40px 70px -50px rgba(10,10,10,.55);
}
.loc-job__art{
  position:absolute;
  right:-4%;
  top:-10%;
  z-index:-1;
  width:clamp(100px,11vw,160px);
  height:auto;
  transform:rotate(var(--r,0deg));
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.18));
}
.loc-job__n{font-family:var(--fl-mono);font-size:.78rem;letter-spacing:.16em;opacity:.75}
.loc-job h3{max-width:13ch;margin-top:auto;font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:600;letter-spacing:-.04em;line-height:1.02}
.loc-job p{max-width:40ch;margin-top:14px;font-size:1rem;line-height:1.55;color:inherit;opacity:.85}

/* ==========================================================================
   THE LOOK
   ========================================================================== */
.loc-look{padding:clamp(100px,11vw,160px) 0;background:var(--fl-bg)}
.loc-look__wrap{position:relative}
.loc-look__sticker{position:absolute;z-index:3;height:auto;pointer-events:none;filter:drop-shadow(0 16px 20px rgba(10,10,10,.22))}
.loc-look__sticker--a{right:clamp(-30px,-2vw,-10px);top:clamp(-56px,-4vw,-28px);width:clamp(84px,9vw,134px);transform:rotate(12deg)}
.loc-look__sticker--b{left:clamp(-30px,-2vw,-10px);bottom:clamp(-50px,-3.6vw,-26px);width:clamp(70px,7.4vw,110px);transform:rotate(-10deg)}
.loc-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,clamp(220px,22vw,320px)));gap:clamp(12px,1.4vw,18px)}
.loc-mosaic figure{position:relative;overflow:hidden;margin:0;border-radius:28px;background:var(--fl-bg-2);box-shadow:0 30px 54px -34px rgba(10,10,10,.55)}
.loc-mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--fl-ease)}
.loc-mosaic figure:hover img{transform:scale(1.05)}
.loc-mosaic figcaption{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:8px 14px;
  border-radius:var(--radius-pill);
  font-size:.8rem;
  font-weight:600;
  color:#0a0a0a;
  background:var(--p-yellow);
  transform:rotate(-3deg);
}
.loc-mosaic figure:nth-child(2) figcaption{background:var(--p-pink);transform:rotate(2deg)}
.loc-mosaic figure:nth-child(3) figcaption{background:var(--p-green)}
.loc-mosaic figure:nth-child(4) figcaption{color:#fff;background:var(--p-blue);transform:rotate(3deg)}
.loc-mosaic figure:nth-child(5) figcaption{background:var(--p-red)}
.loc-mosaic .m1,.loc-mosaic .m4{grid-row:span 2}
.loc-mosaic .m2{grid-column:span 2}

/* four photos: a plain 2x2 */
.loc-mosaic--duo{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,clamp(300px,34vw,480px))}
.loc-mosaic--quad{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,clamp(240px,26vw,360px)))}

/* ==========================================================================
   WHO WE BUILD FOR (three cards)
   ========================================================================== */
.loc-who3{padding:clamp(100px,11vw,160px) 0;background:var(--fl-bg-2)}
.loc-who3__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.loc-who3__card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:clamp(280px,26vw,340px);
  padding:clamp(24px,2.6vw,36px);
  border-radius:30px;
  color:#0a0a0a;
  background:var(--c);
  box-shadow:0 34px 60px -46px rgba(10,10,10,.55);
}
.loc-who3__art{position:absolute;right:-6%;top:-8%;z-index:-1;width:clamp(84px,8vw,124px);height:auto;transform:rotate(var(--r,0deg));filter:drop-shadow(0 16px 20px rgba(0,0,0,.16))}
.loc-who3__n{font-family:var(--fl-mono);font-size:.78rem;letter-spacing:.16em;opacity:.75}
.loc-who3__card h3{max-width:12ch;margin-top:auto;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.loc-who3__card p{margin-top:12px;font-size:.98rem;line-height:1.55;color:inherit;opacity:.85}

/* ==========================================================================
   FOUR SEASONS
   ========================================================================== */
.loc-seasons{padding:clamp(100px,11vw,160px) 0;background:var(--fl-bg-2)}
.loc-seasons__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.loc-season{
  display:flex;
  flex-direction:column;
  padding:clamp(22px,2.4vw,32px);
  border-radius:28px;
  color:var(--fg);
  background:var(--c);
  box-shadow:0 34px 60px -46px rgba(10,10,10,.55);
}
.loc-season:nth-child(odd){transform:rotate(-1deg)}
.loc-season:nth-child(even){transform:rotate(1deg)}
.loc-season__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#0a0a0a;background:var(--fl-surface)}
.loc-season__ic svg{width:24px;height:24px}
.loc-season h3{margin-top:clamp(40px,5vw,70px);font-size:clamp(1.9rem,2.8vw,2.6rem);font-weight:600;letter-spacing:-.045em;line-height:1}
.loc-season .season__sub{margin-top:8px;font-family:var(--fl-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:inherit;opacity:.8}
.loc-season ul{display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-top:16px;border-top:2px solid color-mix(in srgb,var(--fg) 25%,transparent)}
.loc-season li{position:relative;padding-left:16px;font-size:.95rem;line-height:1.4}
.loc-season li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:currentColor}

/* ==========================================================================
   WHERE WE WORK — the map + the towns
   ========================================================================== */
.loc-where{padding:clamp(100px,11vw,160px) 0;background:var(--fl-bg)}
.loc-where__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,3vw,44px);align-items:start}
.loc-map{
  position:relative;
  margin:0;
  padding:clamp(20px,2.6vw,40px);
  border-radius:36px;
  background:var(--fl-surface);
  box-shadow:0 40px 80px -56px rgba(10,10,10,.6);
}
.loc-map__stage{position:relative;aspect-ratio:752/655}
.loc-map__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.loc-map__land{fill:var(--p-green)}
.loc-map__lakes{fill:var(--p-blue)}
.loc-map__edge{fill:none;stroke:#0a0a0a;stroke-width:3.5;stroke-linejoin:round}
.loc-lake{
  position:absolute;
  transform:translate(-50%,-50%);
  font-size:clamp(.62rem,.8vw,.76rem);
  font-style:italic;
  font-weight:600;
  white-space:nowrap;
  color:rgba(10,10,10,.78);
  pointer-events:none;
}
.loc-dot{
  position:absolute;
  display:flex;
  align-items:center;
  gap:6px;
  transform:translate(-5px,-50%);
  font-family:var(--fl-mono);
  font-size:clamp(.56rem,.7vw,.66rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  color:#0a0a0a;
  pointer-events:none;
}
.loc-dot i{width:9px;height:9px;border-radius:50%;background:#0a0a0a;box-shadow:0 0 0 2px var(--p-green)}
.loc-pin{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:6px;
  margin:-15px 0 0 -15px;
}
.loc-pin b{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  font-family:var(--fl-mono);
  font-size:.78rem;
  font-weight:500;
  color:#fff;
  background:#0a0a0a;
  box-shadow:0 0 0 3px #fff,0 8px 16px -6px rgba(10,10,10,.6);
  transition:background-color .25s,transform .35s cubic-bezier(.3,1.6,.5,1);
}
.loc-pin span{
  padding:5px 10px;
  border-radius:var(--radius-pill);
  border:2px solid #0a0a0a;
  font-size:clamp(.7rem,.9vw,.85rem);
  font-weight:600;
  white-space:nowrap;
  color:#0a0a0a;
  background:#fff;
  transition:background-color .25s;
}
.loc-pin.is-hot b,.loc-pin:hover b{background:var(--p-red);transform:scale(1.18)}
.loc-pin.is-hot span,.loc-pin:hover span{background:var(--p-yellow)}
.loc-ontario{
  position:absolute;
  left:clamp(20px,2.6vw,40px);
  top:clamp(20px,2.6vw,40px);
  width:clamp(110px,13vw,180px);
  padding:10px 10px 8px;
  border-radius:20px;
  background:var(--fl-bg-2);
}
.loc-ontario__svg{display:block;width:100%;height:auto}
.loc-ontario__land{fill:var(--p-yellow);stroke:#0a0a0a;stroke-width:1.2;stroke-linejoin:round}
.loc-ontario__water{fill:#4d97ff}
.loc-ontario__musk{fill:var(--p-red);stroke:#0a0a0a;stroke-width:1}
.loc-ontario span{display:block;margin-top:6px;font-family:var(--fl-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:rgba(10,10,10,.7)}
.loc-map__cap{margin-top:14px;font-family:var(--fl-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;text-align:right;color:var(--fl-faint)}

/* Simcoe: a base image (land, municipal lines, lakes) under this town's
   municipality and the county edge; pins are dots, this town a star */
.loc-map__base{position:absolute;inset:0;display:block;width:100%;height:100%}
.loc-map__area{fill:var(--p-yellow);stroke:#0a0a0a;stroke-width:1.6;stroke-linejoin:round}
.loc-map--pins .loc-map__edge{stroke-width:3}
.loc-map--pins .loc-pin{margin:-11px 0 0 -11px}
.loc-map--pins .loc-pin b{width:22px;height:22px;font-size:.9rem;line-height:1}
.loc-pin.is-here{z-index:3}
.loc-pin--below{flex-direction:column;align-items:flex-start;gap:4px}
/* near the right edge the label goes on the left of its dot */
.loc-pin--left span{position:absolute;right:calc(100% + 6px);top:50%;margin-top:-.95em}
/* York, Peel, Hamilton: the Ontario map's districts, this region in yellow,
   paper-coloured seams between them */
.loc-map--region .loc-map__stage{overflow:hidden;border-radius:22px}
.loc-reg__land{fill:var(--p-green);stroke:var(--fl-surface);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.loc-reg__land.is-here{fill:var(--p-yellow)}
.loc-reg__water{fill:var(--p-blue)}
.loc-map--region .loc-map__edge{stroke-width:.12}
.loc-map--region .loc-ontario{top:auto;left:clamp(14px,1.6vw,24px);bottom:clamp(44px,4.4vw,64px);width:clamp(96px,9vw,128px)}
.loc-map--region .loc-map__cap,.loc-map--muskoka .loc-map__cap{text-align:left}
.loc-map--pins .loc-pin.is-here{margin:-16px 0 0 -16px}
.loc-pin.is-here b{width:32px;height:32px;font-size:1rem;color:#0a0a0a;background:var(--p-yellow);box-shadow:0 0 0 3px #0a0a0a,0 10px 18px -6px rgba(10,10,10,.6)}
.loc-pin.is-here span{color:#fff;background:#0a0a0a}
.loc-map--simcoe .loc-ontario{top:auto;left:clamp(14px,1.6vw,24px);bottom:clamp(44px,4.4vw,64px);width:clamp(96px,9vw,128px)}
.loc-map--simcoe .loc-map__cap{text-align:left}
.loc-ontario__area{fill:var(--p-red);stroke:#0a0a0a;stroke-width:1}
.loc-town--area{align-items:center}
.loc-town--soon{border-style:dashed;border-color:rgba(10,10,10,.3);background:transparent;color:rgba(10,10,10,.55)}
.loc-town--soon:hover{background:transparent;transform:none}
.loc-town--soon .loc-town__n{background:rgba(10,10,10,.3)}
.loc-town--soon .loc-town__go{font-family:var(--fl-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}

.loc-towns{display:flex;flex-direction:column;gap:12px}
.loc-town{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 16px;
  padding:20px 22px;
  border-radius:24px;
  border:2px solid #0a0a0a;
  background:var(--fl-surface);
  transition:background-color .25s,transform .35s var(--fl-ease);
}
.loc-town.is-hot,.loc-town:hover{background:var(--p-yellow);transform:translateX(-4px) rotate(-.6deg)}
.loc-town__n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-family:var(--fl-mono);font-size:.82rem;color:#fff;background:#0a0a0a}
.loc-town h3{font-size:1.3rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.loc-town p{margin-top:6px;font-size:.92rem;line-height:1.5;color:rgba(10,10,10,.72)}
.loc-town__who{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.loc-town__who i{padding:4px 9px;border-radius:var(--radius-pill);font-family:var(--fl-mono);font-size:.64rem;font-style:normal;letter-spacing:.06em;background:rgba(10,10,10,.07)}
.loc-town__go{grid-column:2;display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:.88rem;font-weight:600}
.loc-town__go svg{width:14px;height:14px;transition:transform .35s var(--fl-ease)}
.loc-town:hover .loc-town__go svg{transform:translateX(3px)}

/* ==========================================================================
   WHO WE BUILD FOR
   ========================================================================== */
.loc-who{padding:clamp(100px,11vw,160px) 0;background:var(--fl-bg-2)}
.loc-who__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(36px,6vw,100px);align-items:center}
.loc-who .fl-h2{max-width:13ch}
.loc-chips{display:flex;flex-wrap:wrap;gap:10px}
.loc-chips a,
.loc-chips .loc-chip{display:inline-flex;align-items:center;padding:11px 18px;border-radius:var(--radius-pill);font-size:.95rem;font-weight:500;background:var(--p-yellow)}
.loc-chips li:nth-child(3n+2) .loc-chip{background:var(--p-pink)}
.loc-chips li:nth-child(3n+3) .loc-chip{background:var(--p-green)}
.loc-chips .is-soon{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 18px;
  border-radius:var(--radius-pill);
  font-size:.95rem;
  font-weight:500;
}
.loc-chips a{border:2px solid #0a0a0a;background:var(--fl-surface);transition:background-color .25s,transform .35s var(--fl-ease)}
.loc-chips a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--p-green);box-shadow:0 0 0 2px rgba(1,186,78,.25)}
.loc-chips a:hover{background:var(--p-yellow);transform:translateY(-3px) rotate(-2deg)}
.loc-chips .is-soon{border:2px dashed rgba(10,10,10,.28);color:rgba(10,10,10,.5)}
.loc-chips .is-soon em{padding:2px 7px;border-radius:var(--radius-pill);font-family:var(--fl-mono);font-size:.6rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase;background:rgba(10,10,10,.07)}

.loc-who__more{margin-top:24px}

/* ==========================================================================
   PRICING (two cards)
   ========================================================================== */
.loc-pricing{padding:clamp(100px,11vw,160px) 0;background:var(--fl-bg)}
.loc-pricing__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);max-width:860px;margin:0 auto}
.loc-price{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:clamp(26px,3vw,40px);
  border-radius:32px;
  color:var(--fg);
  background:var(--c);
  box-shadow:0 40px 70px -50px rgba(10,10,10,.55);
}
.loc-price:nth-child(1){transform:rotate(-1deg)}
.loc-price:nth-child(2){transform:rotate(1deg)}
.loc-price__badge{position:absolute;right:20px;top:-14px;padding:7px 12px;border-radius:var(--radius-pill);font-family:var(--fl-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#0a0a0a;background:var(--p-pink);transform:rotate(4deg)}
.loc-price h3{font-family:var(--fl-mono);font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.loc-price__amount{margin-top:14px;font-size:clamp(2.8rem,5vw,4rem);font-weight:600;letter-spacing:-.05em;line-height:1;color:inherit}
.loc-price__plans{margin-top:8px;font-family:var(--fl-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:inherit;opacity:.75}
.loc-price__best{margin-top:16px;font-size:.98rem;line-height:1.5;color:inherit;opacity:.88}
.loc-price ul{display:flex;flex-direction:column;gap:8px;margin:18px 0 24px;padding-top:16px;border-top:2px solid color-mix(in srgb,var(--fg) 25%,transparent)}
.loc-price li{position:relative;padding-left:16px;font-size:.95rem}
.loc-price li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:currentColor}
.loc-price__btn{margin-top:auto;align-self:flex-start;color:var(--c);background:var(--fg)}
.loc-pricing__more{margin-top:34px;text-align:center}

/* ==========================================================================
   PROCESS / WORK / QUESTIONS / CLOSE
   ========================================================================== */
.loc-page .fl-process{background:var(--fl-bg)}
.loc-page .fl-process__head .fl-actions{margin-top:26px}
.loc-work .fl-run__stage{padding-top:clamp(120px,12vw,170px)}
.loc-faq{padding:clamp(90px,10vw,150px) 0 clamp(60px,7vw,100px)}
.loc-faq .faq-list{max-width:860px;margin:0 auto}
.loc-cta .fl-cta__title{max-width:13ch}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
  .loc-seasons__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .loc-who3__grid{grid-template-columns:minmax(0,1fr)}
  .loc-who3__card{min-height:0}
  .loc-who3__card h3{margin-top:40px}
}
@media (max-width:900px){
  .loc-searches__grid,
  .loc-where__grid,
  .loc-who__grid{grid-template-columns:minmax(0,1fr)}
  .loc-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:200px}
  .loc-pricing__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .loc-page .hm-hero h1{font-size:clamp(2.3rem,11vw,3.6rem)}
  .loc-page .hm-hero h1.loc-h1--long{font-size:clamp(1.9rem,8.4vw,2.8rem)}
  .loc-page .hm-hero .fl-actions{flex-direction:column;align-items:center}
  .loc-jobs__grid{grid-template-columns:1fr}
  .loc-mosaic{grid-auto-rows:160px}
  .loc-pin{margin:-12px 0 0 -12px}
  .loc-pin b{width:24px;height:24px;font-size:.66rem}
  .loc-pin span{padding:3px 7px;border-width:1.5px}
  .loc-dot{display:none}
  .loc-lake{display:none}
  .loc-ontario{width:92px;padding:6px 6px 4px;border-radius:14px}
  .loc-ontario span{font-size:.5rem}
}
@media (max-width:560px){
  .loc-seasons__grid{grid-template-columns:1fr}
  .loc-map--pins .loc-ontario{display:none}
  .loc-map--pins .loc-pin:not(.is-here) span{display:none}
  .loc-q__you{padding:6px 10px;font-size:.78rem}
}
