/* Silver Media Limited — site stylesheet */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/poppins-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/inter-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/public-sans-latin-300-normal.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
  --red:hsl(358,85%,52%);
  --grey:hsl(216,2%,43%);
  --dark:hsl(210,15%,5%);
  --light:hsl(210,9%,96%);
  --white:#fff;
  --site-gutter:4vw;
  --mobile-gutter:6vw;
  --max-w:1600px;
  --font-body:"Inter",Helvetica,Arial,sans-serif;
  --font-heading:"Poppins",Helvetica,Arial,sans-serif;
  --font-button:"Public Sans",Helvetica,Arial,sans-serif;
  /* fluid type: size = (n - 1) * --u + 1rem */
  --u:calc(.012 * min(100vh, 900px));
  --fs-small:calc(-.1 * var(--u) + 1rem);
  --logo-h:101px;
  --header-pad-y:2.3vw;
  --header-pad-x:6vw;
  --header-h:calc(var(--logo-h) + var(--header-pad-y) * 2);
}
@media (min-width:768px){
  :root{--u:min(1.2vw, 19.2px);--fs-small:min(calc(-.12vw + 1rem), .9rem);--logo-h:135px}
}
@media (min-width:800px){
  :root{--header-pad-y:.1vw;--header-pad-x:4vw}
}

/* ---------- Base ---------- */
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (min-width:992px){html{font-size:17px}}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--dark);color:#fff;
  font-family:var(--font-body);font-weight:300;font-style:normal;
  font-size:calc(.2 * var(--u) + 1rem);line-height:1.3em;letter-spacing:-.04em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-wrap:break-word;
}
img{max-width:100%;border:0}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-.05em;margin:2rem 0;color:var(--h)}
h1{font-size:calc(2.5 * var(--u) + 1rem);line-height:.99}
h2{font-size:calc(1.6 * var(--u) + 1rem);line-height:1.0296}
h3{font-size:calc(.7 * var(--u) + 1rem);line-height:1.0692}
h4{font-size:calc(.1 * var(--u) + 1rem);line-height:1.0956}
p{margin:1rem 0;line-height:1.3em}
strong,b{font-weight:700}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:1rem;z-index:100;background:var(--red);color:#fff;padding:1rem 1.3rem}
.skip-link:focus{left:1rem}

/* ---------- Section themes ---------- */
.theme-dark{--bg:var(--dark);--h:#fff;--p:#fff;--link:#fff;--pbtn-bg:var(--red);--pbtn-text:var(--red);--sbtn-bg:var(--dark);--sbtn-text:var(--red);--line:#fff;--shape-bg:#fff}
.theme-white{--bg:#fff;--h:var(--red);--p:var(--red);--link:var(--grey);--pbtn-bg:var(--dark);--pbtn-text:#fff;--sbtn-bg:var(--grey);--sbtn-text:#fff;--line:var(--red);--shape-bg:var(--light)}
.theme-white-bold{--bg:#fff;--h:var(--grey);--p:var(--red);--link:var(--grey);--pbtn-bg:var(--red);--pbtn-text:#fff;--sbtn-bg:hsla(0,0%,100%,.71);--sbtn-text:#fff;--line:var(--grey);--shape-bg:var(--light)}
.theme-light{--bg:var(--light);--h:var(--red);--p:var(--red);--link:var(--grey);--pbtn-bg:var(--dark);--pbtn-text:#fff;--sbtn-bg:var(--dark);--sbtn-text:#fff;--line:var(--red);--shape-bg:#fff}
.theme-light-bold{--bg:var(--light);--h:var(--grey);--p:var(--red);--link:var(--grey);--pbtn-bg:var(--red);--pbtn-text:var(--red);--sbtn-bg:var(--red);--sbtn-text:#fff;--line:var(--grey);--shape-bg:#fff}
.theme-bright{--bg:var(--grey);--h:#fff;--p:#fff;--link:#fff;--pbtn-bg:#fff;--pbtn-text:var(--grey);--sbtn-bg:#fff;--sbtn-text:var(--grey);--line:#fff;--shape-bg:#fff}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:10;background:#fff;color:var(--dark);padding:var(--header-pad-y) var(--header-pad-x);line-height:1}
.header-inner{display:flex;align-items:center;position:relative}
.header-logo{flex:1 1 0;min-width:0;font-size:0;line-height:0}
.header-logo a{display:inline-block;max-width:100%}
.header-logo img{display:block;height:var(--logo-h);width:auto;max-width:100%}
.header-nav{flex:1 1 0;text-align:center;display:none}
.header-nav-list{display:inline-flex;flex-wrap:wrap;justify-content:center}
.header-nav a{display:block;margin:0 .95vw;padding:.1em 0;font-size:var(--fs-small);line-height:1.3;letter-spacing:-.04em;text-decoration:none;white-space:nowrap;color:var(--dark);
  background-repeat:repeat-x;background-position:0 100%;background-size:1px 1px}
.header-nav a.active{background-image:linear-gradient(currentColor,currentColor)}
.header-nav a:hover{opacity:.7}
.header-actions{flex:1 1 0;display:none;justify-content:flex-end;align-items:center}
.header-cta{display:inline-block;font-family:var(--font-button);font-weight:300;font-size:1rem;line-height:normal;letter-spacing:-.04em;text-decoration:none;white-space:nowrap;
  padding:1rem 1.3rem;border:1px solid var(--dark);color:var(--dark);margin-left:1.5vw;text-align:center;transition:background-color .1s linear,color .1s linear}
.header-cta:hover{background:var(--dark);color:#fff}
.header-burger{display:flex;align-items:center;justify-content:center;width:47px;height:37px;padding:1px 6px;margin:0;border:0;background:none;color:var(--dark);cursor:pointer}
.burger-box{position:relative;width:35px;height:35px;display:block}
.burger-box span{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .25s ease,top .25s ease}
.burger-box span:nth-child(1){top:12px}
.burger-box span:nth-child(2){top:22px}
.menu-open .burger-box span:nth-child(1){top:17px;transform:rotate(45deg)}
.menu-open .burger-box span:nth-child(2){top:17px;transform:rotate(-45deg)}
@media (min-width:800px){
  .header-nav{display:block}
  .header-actions{display:flex}
  .header-burger{display:none}
}
.mobile-menu{position:fixed;inset:0;z-index:9;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--header-h) 6vw 6vw;background:var(--dark);color:#fff;text-align:center;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;overflow-y:auto}
.menu-open .mobile-menu{opacity:1;visibility:visible;transition:opacity .3s ease}
.mobile-menu nav{display:flex;flex-direction:column;flex:1;justify-content:center}
.mobile-menu nav a{display:block;margin:3vw 5vw;font-size:8.5vmin;line-height:1;text-decoration:none;color:#fff}
.mobile-menu .mobile-cta{display:inline-block;font-family:var(--font-button);font-size:1rem;line-height:normal;letter-spacing:-.04em;text-decoration:none;padding:1rem 1.3rem;margin:4vw 6vw 0;min-width:210px;border:1px solid #fff;color:#fff}
.mobile-menu .mobile-cta:hover{background:#fff;color:var(--red)}
.menu-open .site-header{background:transparent;color:#fff}
.menu-open .site-header .header-burger{color:#fff}
.menu-open{overflow:hidden}
@media (min-width:800px){.mobile-menu{display:none}}

/* ---------- Sections and the layout grid ---------- */
main{display:block}
.section{position:relative;display:flex;align-items:center;background:var(--bg);color:var(--p)}
.section.v-top{align-items:flex-start}
.section.v-bottom{align-items:flex-end}
.section.is-first{padding-top:var(--header-h)}
.section-inner{position:relative;display:flex;justify-content:center;width:100%;max-width:100%}
.h-small{min-height:33vh}
.h-small>.section-inner{padding:3.3vmax 0}
.h-medium{min-height:66vh}
.h-medium>.section-inner{padding:6.6vmax 0}
.h-large{min-height:100vh}
.h-large>.section-inner{padding:10vmax 0}
.fe{
  --gutter:calc(var(--mobile-gutter) - var(--gap));
  --cell:calc((var(--max-w) - var(--gap) * 7) / 8);
  display:grid;position:relative;width:100%;
  grid-template-rows:repeat(var(--rows-m),minmax(24px,auto));
  grid-template-columns:minmax(var(--gutter),1fr) repeat(8,minmax(0,var(--cell))) minmax(var(--gutter),1fr);
  row-gap:var(--gap);column-gap:var(--gap);
  overflow-x:hidden;overflow-x:clip;
}
.fe-block{grid-area:var(--ga-m);z-index:var(--z);min-width:0}
.fe-block.hide-mobile{display:none}
.blk{position:relative;display:flex;flex-direction:column;justify-content:var(--va-m,flex-start);height:100%}
@media (min-width:768px){
  .fe{
    --gutter:calc(var(--site-gutter) - var(--gap));
    --cell:calc((var(--max-w) - var(--gap) * 23) / 24);
    --cw:min(var(--max-w), calc(100vw - var(--site-gutter) * 2));
    grid-template-rows:repeat(var(--rows-d),minmax(calc(var(--cw) * var(--sf,.0215)),auto));
    grid-template-columns:minmax(var(--gutter),1fr) repeat(24,minmax(0,var(--cell))) minmax(var(--gutter),1fr);
  }
  .fe-block{grid-area:var(--ga-d);z-index:var(--z-d,var(--z))}
  .fe-block.hide-mobile{display:block}
  .fe-block.sticky-desktop{position:sticky;top:var(--header-h)}
  .blk{justify-content:var(--va-d,flex-start)}
}

/* ---------- Blocks ---------- */
.rte{overflow-wrap:break-word}
.rte>:first-child{margin-top:0}
.rte>:last-child{margin-bottom:0}
.rte a{display:inline-block;color:var(--link);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.rte a:hover{opacity:.7}
.sqsrte-text-highlight a{text-decoration:none}
.sqsrte-small{font-size:var(--fs-small);line-height:1.3em}
.sqsrte-large{font-size:calc(.5 * var(--u) + 1rem);line-height:1.3em}
.sqsrte-text-color--white{color:#fff}
.sqsrte-text-color--black{color:var(--red)}
.sqsrte-text-color--accent{color:var(--grey)}
.sqsrte-text-color--darkAccent{color:var(--dark)}
.sqsrte-text-color--lightAccent{color:var(--light)}

.blk-image .image-fill,.blk-image .image-link{position:relative;display:block;flex:1;width:100%;height:100%;overflow:hidden}
.image-fill img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.image-fill.fit-contain img{object-fit:contain;object-position:var(--ih,50%) var(--iv-m,50%)}
@media (min-width:768px){.image-fill.fit-contain img{object-position:var(--ih,50%) var(--iv-d,50%)}}

.button-wrap{display:flex}
.button-wrap.align-left{justify-content:flex-start}
.button-wrap.align-center{justify-content:center}
.button-wrap.align-right{justify-content:flex-end}
.button-wrap.stretched{flex:1;height:100%}
.btn{display:inline-block;font-family:var(--font-button);font-weight:300;font-style:normal;font-size:1rem;line-height:normal;letter-spacing:-.04em;text-align:center;text-decoration:none;
  padding:1rem 1.3rem;border:0;border-radius:0;cursor:pointer;transition:opacity .1s linear,background-color .1s linear,color .1s linear;-webkit-appearance:none;appearance:none}
.button-wrap.stretched .btn{display:flex;flex:1;height:100%;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}
.btn-primary{background:var(--pbtn-bg);color:var(--pbtn-text)}
.btn-primary:hover{opacity:.8}
.btn-secondary,.btn-tertiary{background:transparent;color:var(--sbtn-bg);border:1px solid var(--sbtn-bg)}
.btn-secondary:hover,.btn-tertiary:hover{background:var(--sbtn-bg);color:var(--sbtn-text)}

.blk-hr hr{border:0;height:1px;width:100%;margin:.5em 0;background:var(--line);overflow:hidden}
.blk-shape .shape{flex:1;width:100%;height:100%;background:var(--shape-bg)}

.product-card{text-align:center}
.product-card.align-left{text-align:left}
@media (max-width:767px){.product-card.m-align-center{text-align:center}.product-card.m-align-left{text-align:left}}
.product-card-image{display:block;position:relative;overflow:hidden;margin-bottom:1rem;line-height:0}
.product-card-image img{display:block;width:100%;height:auto;object-fit:cover}
.product-card-title{display:inline-block;max-width:100%;word-break:break-word;font-size:calc(.3 * var(--u) + 1rem);line-height:1.3;margin-bottom:.2em;text-decoration:none;color:inherit}
.product-card-title:hover{opacity:.7}
.product-card-excerpt p{margin:1rem 0;line-height:1.3em}

/* custom-code sections: the original platform zeroes the bottom margin of a card's last element */
.blk-code article>:last-child{margin-bottom:0}
.blk-code .sp-ithw-news-card .sp-ithw-learnmore{margin-bottom:0}

/* ---------- Contact form ---------- */
.contact-form{display:block;margin:0}
.contact-form fieldset{border:0;margin:0;padding:0;min-width:0}
.contact-form .form-item{margin-bottom:20px}
.contact-form .name-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;padding-top:8px}
.contact-form .name-fields label{font-size:var(--fs-small);line-height:1.3em;letter-spacing:-.04em;padding-bottom:2px}
.contact-form label{display:flex;align-items:baseline;column-gap:11px;padding-bottom:4px;color:var(--p)}
.contact-form .req{font-size:var(--fs-small);line-height:1.3em;letter-spacing:-.04em;opacity:.7}
.contact-form input,.contact-form textarea{display:block;width:100%;margin:0;padding:5px 10px;font:inherit;letter-spacing:inherit;line-height:1.3em;color:#000;
  background:hsla(0,0%,98%,.8);border:1px solid rgba(0,0,0,.55);border-radius:0;outline:0;-webkit-appearance:none;appearance:none;transition:background-color .2s ease,border-color .2s ease}
.contact-form input:hover,.contact-form textarea:hover{background:hsl(0,0%,98%)}
.contact-form input:focus,.contact-form textarea:focus{border-color:#000;background:hsl(0,0%,98%)}
.contact-form textarea{min-height:100px;resize:vertical;white-space:pre-wrap}
.contact-form .invalid{border-color:var(--red)}
.contact-form .form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form .form-button-wrapper{text-align:center}
.contact-form .form-submit{background:var(--grey);color:#fff;border:1px solid transparent}
.contact-form .form-status{margin:12px 0 0;font-size:var(--fs-small);text-align:center;min-height:0}
.contact-form .form-status:empty{display:none}

/* ---------- Store listing ---------- */
.store-section,.product-section{display:block}
.store-list{padding:2vh var(--mobile-gutter)}
.store-title{margin:0 0 10px;text-align:left}
.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:10px}
.store-item{position:relative;display:flex;flex-direction:column;justify-content:space-between}
.store-item-link{display:flex;flex-direction:column;row-gap:1vw;text-decoration:none;color:inherit}
.store-item-image{position:relative;aspect-ratio:1/1;overflow:hidden}
.store-item-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.store-item-link:hover .store-item-image img{transform:scale(1.03)}
.store-item-meta{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:16px;row-gap:4px;margin-top:.5vw;text-align:left}
.store-item-title-price{min-width:0;max-width:100%}
.store-item-title{font-family:var(--font-heading);font-weight:700;letter-spacing:-.05em;font-size:calc(.1 * var(--u) + 1rem);line-height:1.0956;word-break:break-word}
.store-item-price{font-family:var(--font-button);font-size:var(--fs-small);line-height:1.3em;letter-spacing:-.04em;margin-top:.5rem}
.store-item-button,.product-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:55px;margin-top:8px;padding:0 1.2rem;line-height:1.2}
@media (min-width:768px){
  .store-list{padding-left:var(--site-gutter);padding-right:var(--site-gutter)}
  .store-title{text-align:center}
  .store-grid{gap:2vw}
}

/* ---------- Product page ---------- */
.product-detail{padding:24px var(--mobile-gutter) 3vw}
.product-nav{display:none;align-items:center;gap:8px;margin-bottom:22px}
.product-nav a{text-decoration:none;color:inherit}
.product-nav a:hover{opacity:.7}
.product-content{display:flex;flex-direction:column;gap:22px}
.product-gallery{width:100%}
.product-gallery-slide{position:relative;aspect-ratio:3/4;overflow:hidden}
.product-gallery-slide img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.product-meta{display:flex;flex-direction:column;gap:11px;text-align:left;min-width:0}
.product-title{margin:0;font-size:calc(1.6 * var(--u) + 1rem);line-height:1.1}
.product-price{font-family:var(--font-heading);font-weight:700;letter-spacing:-.05em;font-size:calc(.1 * var(--u) + 1rem);line-height:1.0956;margin-bottom:5px}
.product-description{margin:5px 0;order:3}
.product-description p{margin:0}
.product-button{margin-top:0;min-height:48px}
@media (min-width:768px){
  .product-detail{padding:3vw var(--site-gutter)}
  .product-nav{display:flex}
  .product-content{flex-direction:row;align-items:flex-start;gap:3vw}
  .product-gallery{flex:0 0 50%;width:50%}
  .product-meta{flex:1 1 0}
  .product-description{margin:0 0 5px;order:0}
  .product-button{min-height:55px}
}

/* ---------- Fade-in on scroll (only when scripts run) ---------- */
.js .fade{opacity:0;transition:opacity 1.2s ease}
.js .fade.in,.no-fade .fade{opacity:1}
@media (prefers-reduced-motion:reduce){.js .fade{opacity:1;transition:none}}
@media print{.js .fade{opacity:1}.site-header{position:static}.section.is-first{padding-top:0}}
