/* Strathmark site, v4. Values come from tokens.css. Built by round7/site/make_pages.py; rules in Business Image/BRAND.md.
   Direction: a photographic hero (a real-looking Glasgow corner unit mid fit-out), the product itself floating over it
   (the Monday email, switchable by trade), and the reference line running underneath as a live band. Everything else
   is quiet: black ground, one green, wide Archivo headings, hairline rules. No script anywhere (CSP script-src 'none'). */

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--sm-black);color:var(--sm-text);font:400 var(--sm-body)/1.6 var(--sm-font);font-feature-settings:"tnum" 1,"lnum" 1;-webkit-font-smoothing:antialiased}
a{color:var(--sm-white);text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:rgba(255,255,255,.4)}
a:hover{text-decoration-color:var(--sm-white)}
:focus-visible{outline:2px solid var(--sm-white);outline-offset:3px}
.wrap{max-width:var(--sm-max);margin:0 auto;padding-left:var(--sm-gutter);padding-right:var(--sm-gutter-r)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0}
.lk{display:block;height:auto}
.lk .w{fill:currentColor}
.lk .d{fill:rgba(255,255,255,.6)}
h1,h2,h3{color:var(--sm-white);font-weight:600;font-stretch:var(--sm-wide);text-wrap:balance}
h1{font-size:var(--sm-h1);line-height:1.0;letter-spacing:-.025em}
h2{font-size:clamp(28px,3.2vw,46px);line-height:1.06;letter-spacing:-.022em}
h3{font-size:var(--sm-h3);line-height:1.2;letter-spacing:-.01em}

/* header: over the photo on photo pages, on black elsewhere */
.top{position:relative;z-index:5;border-bottom:1px solid var(--sm-line)}
.photo .top{position:absolute;inset:0 0 auto;border-bottom-color:rgba(255,255,255,.12)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--sm-3) var(--sm-6);flex-wrap:wrap;padding-block:22px}
.top .home{display:block;width:168px;color:var(--sm-white);text-decoration:none}
.top .home.prod{width:250px;max-width:62vw}
.top nav{display:flex;align-items:center;gap:6px 28px;font-size:15px;font-weight:500;flex-wrap:wrap}
.top nav a{text-decoration:none;color:rgba(255,255,255,.72)}
.top nav a:hover,.top nav a[aria-current]{color:var(--sm-white)}
.top nav .nav-cta{color:var(--sm-white);border:1px solid rgba(255,255,255,.4);padding:9px 14px;font-weight:600;font-size:14px}
.top nav .nav-cta:hover{border-color:var(--sm-white)}
@media (max-width:640px){.top nav .nav-cta{display:none}}

/* buttons: one solid white primary, then a text link */
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sm-3) var(--sm-6);margin-top:var(--sm-6)}
.button,.ghost{display:inline-block;text-decoration:none;font-weight:600;font-size:15px;line-height:1;padding:17px 24px;border:1px solid var(--sm-white)}
.button{background:var(--sm-white);color:var(--sm-black);transition:background .2s,border-color .2s}
.button:hover{background:var(--sm-mint);border-color:var(--sm-mint)}
.ghost{background:transparent;color:var(--sm-white);border-color:rgba(255,255,255,.35)}
.ghost:hover{border-color:var(--sm-white)}
.textlink{display:inline-block;font-weight:600;font-size:15px;line-height:1;padding-block:17px;color:var(--sm-white);text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:6px}
.textlink:hover{text-decoration-color:var(--sm-white)}
.fine{font-size:var(--sm-small);color:rgba(255,255,255,.66);margin-top:var(--sm-5);max-width:48ch}
.lede{font-size:var(--sm-lead);line-height:1.6;max-width:48ch;margin-top:var(--sm-5);color:rgba(255,255,255,.84)}

/* ---------- the photo hero ---------- */
.ph{position:relative;isolation:isolate;background:var(--sm-black) image-set(url("img/hero-1400.webp") type("image/webp") 1x,url("img/hero-2400.webp") type("image/webp") 2x,url("img/hero-1400.jpg") type("image/jpeg") 1x) 62% 40%/cover no-repeat}
@media (min-width:1500px){.ph{background-image:image-set(url("img/hero-2400.webp") type("image/webp"),url("img/hero-2400.jpg") type("image/jpeg"))}}
/* a legibility scrim: dark where the words sit, clear over the shopfront, then into the black page */
.ph::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--sm-scrim) 0%,rgba(11,13,12,.74) 30%,rgba(11,13,12,.18) 47%,rgba(11,13,12,.04) 100%),linear-gradient(0deg,var(--sm-black) 0%,rgba(11,13,12,0) 22%)}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:40px 64px;align-items:end;min-height:min(100svh,940px);padding-top:120px}
.ph-copy{align-self:center;padding-block:var(--sm-7) 112px}
.ph h1.long{font-size:clamp(38px,4vw,62px);max-width:none}
.ph h1{font-size:var(--sm-hero);font-stretch:var(--sm-xwide);font-weight:650;line-height:.95;letter-spacing:-.04em;max-width:14ch}
.ph-sample{align-self:end;position:relative;z-index:2;margin-bottom:-104px}

/* entrance: the headline settles, then the email arrives and its records land one by one */
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes land{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ph h1{animation:rise .9s .05s both cubic-bezier(.2,.7,.2,1)}
.ph .lede{animation:rise .9s .18s both cubic-bezier(.2,.7,.2,1)}
.ph .actions,.ph .fine{animation:rise .9s .3s both cubic-bezier(.2,.7,.2,1)}
.ph .sample{animation:rise 1s .45s both cubic-bezier(.2,.7,.2,1)}

/* ---------- the sample Monday email ---------- */
.tabbar{background:var(--sm-black);border:1px solid rgba(255,255,255,.1);border-bottom:0;border-radius:10px 10px 0 0;padding:14px 22px 0}
.sample-label{font-size:12.5px;color:var(--sm-grey);margin-bottom:6px}
.tabs{display:flex;gap:4px 20px;flex-wrap:wrap}
.tabs label{cursor:pointer;font-size:14px;font-weight:600;color:rgba(255,255,255,.62);padding:6px 0 11px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.tabs label:hover{color:var(--sm-white)}
#t-fitout:checked~.tabbar [for=t-fitout],#t-signs:checked~.tabbar [for=t-signs],#t-fire:checked~.tabbar [for=t-fire],
#t-insurance:checked~.tabbar [for=t-insurance],#t-epos:checked~.tabbar [for=t-epos],#t-catering:checked~.tabbar [for=t-catering]{color:var(--sm-white);border-bottom-color:var(--sm-white)}
#t-fitout:focus-visible~.tabbar [for=t-fitout],#t-signs:focus-visible~.tabbar [for=t-signs],#t-fire:focus-visible~.tabbar [for=t-fire],
#t-insurance:focus-visible~.tabbar [for=t-insurance],#t-epos:focus-visible~.tabbar [for=t-epos],#t-catering:focus-visible~.tabbar [for=t-catering]{outline:2px solid var(--sm-white);outline-offset:4px}
.issue{display:none}
#t-fitout:checked~.mail .i-fitout,#t-signs:checked~.mail .i-signs,#t-fire:checked~.mail .i-fire,
#t-insurance:checked~.mail .i-insurance,#t-epos:checked~.mail .i-epos,#t-catering:checked~.mail .i-catering{display:block}

.mail{background:var(--sm-paper);color:var(--sm-ink);border-radius:0 0 10px 10px;overflow:hidden;box-shadow:var(--sm-shade);font-size:14px;line-height:1.5}
.mail-meta{padding:16px 22px 14px;border-bottom:1px solid var(--sm-paper-line);background:var(--sm-paper-alt)}
.mm-from{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap;font-size:13px;color:var(--sm-paper-grey)}
.mm-from b{color:var(--sm-ink);font-weight:600}
.mm-from time{margin-left:auto}
.mm-subj{font-size:16px;font-weight:600;color:var(--sm-ink);margin-top:4px;letter-spacing:-.005em}
.mm-att{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--sm-paper-grey);border:1px solid var(--sm-paper-line);background:var(--sm-paper);border-radius:6px;padding:5px 10px 5px 6px}
.xls{display:inline-grid;place-items:center;width:30px;height:20px;border-radius:3px;background:var(--sm-green);color:var(--sm-white);font-size:9px;font-weight:700;letter-spacing:.04em}
.mail-body{max-height:448px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
.m-head{background:var(--sm-black);padding:14px 22px}
.m-head .lk{width:120px;color:var(--sm-white)}
.m-band{background:var(--sm-green);padding:14px 22px;display:grid;gap:2px}
.m-band b{color:var(--sm-white);font-size:19px;font-weight:600;font-stretch:var(--sm-wide);letter-spacing:-.01em}
.m-band span{color:var(--sm-mint);font-size:13px}
.m-greet{padding:14px 22px 4px;color:var(--sm-ink)}
.m-recs{list-style:none}
.m-rec{padding:12px 22px;border-bottom:1px solid var(--sm-paper-line);animation:land .6s both cubic-bezier(.2,.7,.2,1)}
.m-rec:nth-child(1){animation-delay:.75s}.m-rec:nth-child(2){animation-delay:.9s}.m-rec:nth-child(3){animation-delay:1.05s}
.m-top{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.m-top a{color:var(--sm-ink);font-weight:700;font-size:15px;text-decoration-color:#B9C2BD}
.m-top span{font-size:12.5px;color:var(--sm-paper-grey)}
.m-site{font-weight:600;margin-top:3px}
.m-prop{color:var(--sm-paper-grey);margin-top:2px}
.m-tr{font-size:12.5px;color:var(--sm-paper-grey);margin-top:6px}
.m-foot{padding:12px 22px 22px;font-size:12.5px;color:var(--sm-paper-grey)}

/* ---------- the reference ticker: the reference line, moving ---------- */
.ticker{position:relative;z-index:1;background:var(--sm-green);box-shadow:inset 0 1px 0 var(--sm-green-edge);overflow:hidden;white-space:nowrap}
.tk-track{display:flex;width:max-content;animation:tick 80s linear infinite}
.ticker:hover .tk-track{animation-play-state:paused}
.tk-run{display:flex}
.tk{display:inline-flex;align-items:baseline;gap:.9em;padding:17px 22px 17px 0;margin-right:34px;font-size:15px}
.tk b{color:var(--sm-white);font-weight:600}
.tk span{color:var(--sm-mint)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sect .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px 64px;padding-block:clamp(64px,8vw,120px);border-top:1px solid var(--sm-line)}
.sect.after-ph .wrap{border-top:0;padding-top:clamp(150px,12vw,176px)}
.sect-head p{margin-top:var(--sm-4);max-width:42ch;color:var(--sm-text)}
.prose p{max-width:62ch}
.prose p+p{margin-top:14px}
@media (max-width:960px){.sect .wrap{grid-template-columns:minmax(0,1fr)}}

/* a record, large: the reference line at full size, then what each part means */
.anatomy{display:grid;gap:28px}
.rec-big{background:var(--sm-green);box-shadow:inset 0 1px 0 var(--sm-green-edge);padding:clamp(22px,3vw,36px)}
.rb-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap}
.rb-top a{color:var(--sm-white);font-weight:600;font-size:clamp(20px,2.2vw,28px);font-stretch:var(--sm-wide);text-decoration-color:rgba(255,255,255,.45)}
.rb-top span{color:var(--sm-mint);font-size:15px}
.rb-site{color:var(--sm-white);font-size:clamp(18px,1.7vw,21px);margin-top:14px}
.rb-prop{color:var(--sm-mint);font-size:clamp(17px,1.6vw,20px);margin-top:6px;max-width:44ch}
.rb-tr{color:rgba(255,255,255,.72);font-size:14px;margin-top:16px}
.parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px 28px}
.parts div{border-top:1px solid var(--sm-line);padding-top:12px}
.parts dt{color:var(--sm-white);font-weight:600;font-size:15px}
.parts dd{font-size:14px;color:var(--sm-grey);margin-top:4px}
.anatomy figcaption{font-size:13px;color:var(--sm-grey)}

/* councils: big names, a quiet note, live ones bright */
.councils{list-style:none;display:grid}
.councils li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name state" "council state";gap:2px 20px;padding:18px 0;border-bottom:1px solid var(--sm-line)}
.councils li:first-child{padding-top:0}
.c-name{grid-area:name;color:var(--sm-white);font-size:clamp(26px,3vw,40px);font-weight:600;font-stretch:var(--sm-wide);letter-spacing:-.02em;line-height:1.1}
.c-council{grid-area:council;font-size:14px;color:var(--sm-grey)}
.c-state{grid-area:state;align-self:center;font-size:14px;font-weight:600;color:var(--sm-white)}
.c-next .c-name{color:rgba(255,255,255,.4)}
.c-next .c-state{color:var(--sm-grey);font-weight:500}

/* products as rows */
.prods{display:grid}
.prod{display:grid;grid-template-columns:minmax(120px,.5fr) minmax(0,1.5fr) auto;gap:8px 32px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--sm-line);text-decoration:none;color:var(--sm-text)}
.prod:first-child{padding-top:0}
.p-name{color:var(--sm-white);font-size:clamp(24px,2.4vw,32px);font-weight:600;font-stretch:var(--sm-wide);letter-spacing:-.015em}
.p-price{color:var(--sm-white);font-weight:600;white-space:nowrap;font-size:15px}
.prod:hover .p-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media (max-width:760px){.prod{grid-template-columns:minmax(0,1fr)}}

/* who it's for */
.trades{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.trades li{color:var(--sm-white);font-size:clamp(18px,1.6vw,21px);padding:14px 0;border-bottom:1px solid var(--sm-line)}
@media (max-width:560px){.trades{grid-template-columns:minmax(0,1fr)}}

/* price */
.price .big{color:var(--sm-white);font-size:clamp(72px,9vw,136px);font-weight:650;font-stretch:var(--sm-xwide);letter-spacing:-.05em;line-height:.9}
.price .big span{display:block;font-size:clamp(18px,1.6vw,22px);font-weight:500;letter-spacing:0;font-stretch:100%;color:var(--sm-text);margin-top:14px}
.terms-list{list-style:none;display:grid}
.terms-list li{display:grid;grid-template-columns:28px minmax(0,1fr);padding:14px 0;border-bottom:1px solid var(--sm-line);max-width:62ch}
.terms-list li:first-child{padding-top:0}
.terms-list li::before{content:"";width:12px;height:2px;background:var(--sm-white);margin-top:.8em}

/* questions */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
.faq dt{color:var(--sm-white);font-weight:600;font-size:17px}
.faq dd{margin-top:6px;max-width:52ch}
@media (max-width:760px){.faq{grid-template-columns:minmax(0,1fr)}}

/* closing band */
.close{background:var(--sm-green);box-shadow:inset 0 1px 0 var(--sm-green-edge)}
.close .wrap{padding-block:clamp(64px,8vw,112px)}
.close h2{max-width:20ch}
.close p{color:var(--sm-mint);max-width:58ch;margin-top:var(--sm-5)}
.close .button{background:var(--sm-white)}
.close .button:hover{background:var(--sm-black);border-color:var(--sm-black);color:var(--sm-white)}

/* plain page head (About) */
.page-head .wrap{padding-block:clamp(56px,8vw,112px) clamp(32px,4vw,56px)}
.page-head h1{font-size:clamp(40px,5.4vw,80px);font-stretch:var(--sm-xwide);letter-spacing:-.035em;line-height:.98}
.page-head .lede{max-width:60ch}

/* ---------- kept from v3.3 for Care, legal pages and 404 ---------- */
.hero{overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:0 56px;align-items:stretch}
.hero .copy{padding-block:clamp(48px,7vw,104px)}
.hero h1{font-size:clamp(38px,4.6vw,68px);font-stretch:var(--sm-xwide);letter-spacing:-.03em}
.hero .panel{box-shadow:0 0 0 100vmax var(--sm-green);clip-path:inset(0 -100vmax 0 0);padding-block:var(--sm-6)}
@media (max-width:1040px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero .copy{padding-bottom:var(--sm-7)}.hero .panel{clip-path:inset(0 -100vmax)}}
.intro{font-size:var(--sm-lead);line-height:1.6;max-width:46ch;margin-top:var(--sm-5)}
.terms{font-size:var(--sm-small);color:var(--sm-grey);margin-top:var(--sm-4);max-width:46ch}
.panel{background:var(--sm-green);color:var(--sm-white);min-width:0}
.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sm-2) 20px;flex-wrap:wrap;padding:0 0 var(--sm-4) 40px;border-bottom:1px solid var(--sm-green-line)}
.panel-head b{font-weight:600;font-size:15px}
.panel-head span{font-size:var(--sm-small);color:var(--sm-mint)}
.fact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sm-1) 20px;align-items:baseline;padding:20px 0 20px 40px;border-bottom:1px solid var(--sm-green-line)}
.fact b{font-weight:600;font-size:28px;font-stretch:var(--sm-wide);color:var(--sm-white);letter-spacing:-.01em}
.fact span{color:rgba(255,255,255,.8)}
.panel-foot{display:flex;justify-content:space-between;gap:var(--sm-2) 20px;flex-wrap:wrap;padding:var(--sm-4) 0 0 40px;font-size:var(--sm-small);color:var(--sm-mint)}
@media (max-width:1040px){.panel-head,.fact,.panel-foot{padding-left:0}}
.block .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px 56px;padding-block:clamp(48px,6vw,80px);border-top:1px solid var(--sm-line)}
@media (max-width:860px){.block .wrap{grid-template-columns:minmax(0,1fr)}}
.block p{max-width:60ch}
.block p+p{margin-top:14px}
ol.steps{list-style:none;counter-reset:s;display:grid;gap:18px}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px}
ol.steps li::before{content:counter(s);color:var(--sm-white);font-weight:600}
.contact{display:grid}
.contact div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:12px;padding-block:14px;border-bottom:1px solid var(--sm-line)}
.contact div:first-child{padding-top:0}
.contact span{color:var(--sm-grey)}
@media (max-width:520px){.contact div{grid-template-columns:minmax(0,1fr);gap:2px}}
.legal .wrap{max-width:820px;padding-block:clamp(48px,8vw,88px)}
.legal h1{font-size:clamp(34px,4.6vw,52px);font-stretch:var(--sm-xwide);letter-spacing:-.03em}
.legal .updated{color:var(--sm-grey);margin-top:14px}
.legal h2{font-size:22px;margin-top:44px;margin-bottom:12px;font-stretch:var(--sm-wide)}
.legal p,.legal li{max-width:68ch}
.legal p+p,.legal ul+p{margin-top:12px}
.legal ul{padding-left:20px;display:grid;gap:10px}

/* ---------- footer ---------- */
footer{background:var(--sm-black-2);border-top:1px solid var(--sm-line)}
footer .wrap{padding-block:56px 48px}
.f-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px 64px}
.f-logo{display:block;width:150px;color:var(--sm-white);text-decoration:none}
.f-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;font-size:15px}
.f-cols div{display:grid;gap:8px;align-content:start}
.f-cols p{color:var(--sm-grey);font-size:13px;margin-bottom:4px}
.f-cols a{color:var(--sm-text);text-decoration:none;overflow-wrap:anywhere}
.f-cols a:hover{color:var(--sm-white)}
.f-legal{margin-top:48px;padding-top:20px;border-top:1px solid var(--sm-line);display:grid;gap:6px;font-size:13px;color:var(--sm-grey)}
@media (max-width:760px){.f-top{grid-template-columns:minmax(0,1fr)}.f-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- small screens: the photo becomes a portrait crop, the email sits under the words ---------- */
@media (max-width:960px){
  .ph{background-image:image-set(url("img/hero-portrait-900.webp") type("image/webp"),url("img/hero-portrait-900.jpg") type("image/jpeg"));background-size:100% auto;background-position:center top}
  .ph::before{background:linear-gradient(180deg,rgba(11,13,12,.38) 0%,rgba(11,13,12,.7) 34%,rgba(11,13,12,.9) 56%,var(--sm-black) 74%)}
  .ph-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:96px}
  .ph-copy{padding-block:var(--sm-7) var(--sm-5)}
  .ph-sample{margin-bottom:var(--sm-7)}
  .tabbar{padding-inline:16px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px 18px}
  .tabs::-webkit-scrollbar{display:none}
  .mail-body{max-height:580px}
  .sect.after-ph .wrap{padding-top:clamp(64px,8vw,96px)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .ticker{overflow-x:auto}
}
