/* Plus Jakarta Sans, stored in the theme so nothing loads from another site. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-display:swap;font-weight:200 800;src:url(../fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-display:swap;font-weight:200 800;src:url(../fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html{color-scheme:light}
body{margin:0;background:#f5f7f0}

/* Soft paper page, dark type, brand green for actions; copy left, animated phone right. */
.hsm{
  --green:#234c03;      /* brand */
  --green-deep:#173302; /* hover, depth */
  --ink:#14210b;        /* text */
  --bg:#f5f7f0;         /* page, green-tinted paper */
  --chip:#e7eedb;       /* eyebrow pill */
  --mark:#cfe5b0;       /* highlighter under the key word */
  --muted:rgba(20,33,11,.72);
  --line:rgba(35,76,3,.12); /* hairlines */
  --sys:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font:"Plus Jakarta Sans",var(--sys);
  background:var(--bg);color:var(--ink);font-family:var(--font);
  font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
.hsm *,.hsm *::before,.hsm *::after{box-sizing:border-box}
.hsm h1,.hsm h2,.hsm h3,.hsm p,.hsm ul,.hsm ol,.hsm figure{margin:0;padding:0}
.hsm ul,.hsm ol{list-style:none}
.hsm a{color:inherit;text-decoration:none}
.hsm a:focus-visible,.hsm button:focus-visible{outline:3px solid #8fbf4d;outline-offset:3px;border-radius:999px}
.hsm .hsm-wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* Header */
.hsm .hsm-head{position:sticky;top:0;z-index:10;background:rgba(245,247,240,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hsm .hsm-head .hsm-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.hsm .hsm-logo{display:flex;align-items:center;color:var(--green)}
.hsm .hsm-logo svg{display:block;height:32px;width:auto;margin-top:6px}
.hsm .hsm-nav{display:flex;align-items:center;gap:34px;font-weight:500;font-size:16px}
.hsm .hsm-nav a:not(.hsm-btn){opacity:.78;transition:opacity .15s}
.hsm .hsm-nav a:not(.hsm-btn):hover{opacity:1}

/* Buttons */
.hsm .hsm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;white-space:nowrap;transition:transform .15s,background-color .15s,border-color .15s}
.hsm .hsm-btn:hover{transform:translateY(-1px)}
.hsm .hsm-btn--main{background:var(--green);color:#fff}
.hsm .hsm-btn svg{width:17px;height:17px;flex:none}
.hsm .hsm-nav .hsm-btn{gap:7px;padding:0 19px 0 23px}
.hsm .hsm-btn--main:hover{background:var(--green-deep)}
/* Official store badges, both drawn at the same height */
.hsm .hsm-store{display:block;height:clamp(44px,13vw,56px);border-radius:9px;transition:transform .15s}
.hsm .hsm-store:hover{transform:translateY(-1px)}
.hsm .hsm-store svg,.hsm .hsm-store img{display:block;height:100%;width:auto}
.hsm .hsm-store svg{aspect-ratio:119.664/40}
.hsm .hsm-store svg.hsm-gp{aspect-ratio:239.17/70.87}
.hsm a.hsm-store:focus-visible{border-radius:9px}

/* Hero */
.hsm .hsm-hero{overflow:hidden;padding:0 0 40px}
.hsm .hsm-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px}
.hsm .hsm-copy{padding:48px 0 64px;max-width:570px}
.hsm .hsm-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--chip);font-size:14.5px;font-weight:500;letter-spacing:.01em}
.hsm .hsm-eyebrow svg{width:26px;height:26px;border-radius:7px;display:block}
.hsm h1{margin-top:26px;font-size:clamp(38px,5.1vw,68px);line-height:1.05;letter-spacing:-.028em;font-weight:700;text-wrap:balance}
.hsm h1 em{font-style:normal;background:linear-gradient(transparent 64%,var(--mark) 64%,var(--mark) 94%,transparent 94%)}
.hsm .hsm-sub{margin-top:22px;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--muted);max-width:30em}
.hsm .hsm-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px}
.hsm .hsm-trust{display:flex;align-items:center;gap:14px;margin-top:34px;font-size:16px;font-weight:600;line-height:1.3}
.hsm .hsm-faces{display:flex;flex:none;padding-left:10px}
.hsm .hsm-faces span{width:42px;height:42px;margin-left:-10px;border-radius:50%;border:3px solid var(--bg);overflow:hidden;background:var(--chip)}
.hsm .hsm-faces svg,.hsm .hsm-faces img{display:block;width:100%;height:100%;object-fit:cover}

/* Animated phone (Lottie). The box keeps its shape before the animation arrives, so nothing jumps. */
.hsm .hsm-stage{display:flex;justify-content:center;align-self:center}
.hsm .hsm-lottie{position:relative;width:min(100%,400px);aspect-ratio:9/16;margin:6px 0 14px}
.hsm .hsm-lottie svg{display:block}


/* Section header, shared by every section after the hero */
.hsm .hsm-sec{padding:72px 0;scroll-margin-top:64px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.hsm .hsm-sec-head{max-width:640px;margin:0 auto 48px;text-align:center}
.hsm .hsm-kicker{font-size:14.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.hsm h2{margin-top:12px;font-size:clamp(30px,3.8vw,48px);line-height:1.08;letter-spacing:-.026em;font-weight:700;text-wrap:balance}
.hsm .hsm-sec-head p:last-child{margin-top:16px;font-size:clamp(16.5px,1.4vw,19px);color:var(--muted)}
.hsm h3{font-size:25px;line-height:1.15;letter-spacing:-.02em;font-weight:700}
.hsm img,.hsm video{display:block;max-width:100%;height:auto}
.hsm .hsm-num{font-size:13.5px;font-weight:700;letter-spacing:.06em;color:var(--green);font-variant-numeric:tabular-nums}

/* Shared parts: the shelf photo with a scan frame, and a plain phone body */
.hsm .hsm-shot{position:relative;overflow:hidden;border-radius:28px;background:#dfe6d3}
.hsm .hsm-shot img{width:100%;height:100%;object-fit:cover}
.hsm .hsm-shot::after{content:"";position:absolute;inset:17% 13% 15%;
  background:
    linear-gradient(#fff,#fff) 0 0/34px 4px,linear-gradient(#fff,#fff) 0 0/4px 34px,
    linear-gradient(#fff,#fff) 100% 0/34px 4px,linear-gradient(#fff,#fff) 100% 0/4px 34px,
    linear-gradient(#fff,#fff) 0 100%/34px 4px,linear-gradient(#fff,#fff) 0 100%/4px 34px,
    linear-gradient(#fff,#fff) 100% 100%/34px 4px,linear-gradient(#fff,#fff) 100% 100%/4px 34px;
  background-repeat:no-repeat;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.hsm .hsm-shot i{position:absolute;left:16%;right:16%;top:22%;height:2px;border-radius:2px;background:#d8f5a8;box-shadow:0 0 16px 3px rgba(190,240,120,.8);animation:hsm-sweep 2.6s ease-in-out infinite alternate}
@keyframes hsm-sweep{to{top:78%}}
.hsm .hsm-tag{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:8px;padding:7px 13px 7px 11px;border-radius:999px;background:rgba(16,25,10,.72);color:#fff;font-size:13.5px;font-weight:600;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hsm .hsm-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:#b9ec7a}
.hsm .hsm-phone{padding:8px;border-radius:42px;background:#11160d;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 34px 60px -28px rgba(20,33,11,.55)}
.hsm .hsm-screen{position:relative;overflow:hidden;border-radius:34px;background:#fff}
/* The app screen is one tall screenshot that scrolls by itself, with the alternatives row sliding sideways at the end.
   It is plain images moved with CSS, so it plays on every phone without relying on video autoplay. */
.hsm .hsm-screen{aspect-ratio:1180/2376}
.hsm .hsm-reel{position:absolute;left:0;top:0;width:100%;aspect-ratio:1180/7668;will-change:transform;animation:hsm-reel 13s infinite}
.hsm .hsm-reel>img{width:100%;height:100%}
.hsm .hsm-row{position:absolute;left:0;top:83.686%;width:100%;height:9.129%;overflow:hidden;background:#fff}
.hsm .hsm-row img{width:169.153%;max-width:none;height:100%;will-change:transform;animation:hsm-row 13s infinite}
.hsm .is-paused .hsm-reel,.hsm .is-paused .hsm-row img{animation-play-state:paused}
@keyframes hsm-reel{
  0%{transform:translateY(0);opacity:0}
  2.5%{opacity:1}
  7%{transform:translateY(0);animation-timing-function:cubic-bezier(.5,0,.2,1)}
  22%,26%{transform:translateY(-21%);animation-timing-function:cubic-bezier(.5,0,.2,1)}
  42%,46%{transform:translateY(-46%);animation-timing-function:cubic-bezier(.5,0,.2,1)}
  61%{transform:translateY(-69.014%)}
  96.5%{transform:translateY(-69.014%);opacity:1}
  99.5%{transform:translateY(-69.014%);opacity:0}
  100%{transform:translateY(0);opacity:0}
}
@keyframes hsm-row{
  0%,65%{transform:translateX(0);animation-timing-function:cubic-bezier(.4,0,.2,1)}
  72%,75%{transform:translateX(-26%);animation-timing-function:cubic-bezier(.4,0,.2,1)}
  82%,99.6%{transform:translateX(-40.882%)}
  100%{transform:translateX(0)}
}
.hsm .hsm-list li{padding:20px 0}
.hsm .hsm-list li+li{border-top:1px solid var(--line)}
.hsm .hsm-list h3{margin-top:4px}
.hsm .hsm-list p{margin-top:6px;font-size:16.5px;color:var(--muted)}

/* How it works: shelf photo, live recording in a phone, steps beside it */
.hsm .hsm-live{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:0 44px}
.hsm .hsm-live .hsm-shot{justify-self:end;width:min(100%,340px);aspect-ratio:3/4;transform:rotate(-3deg);margin-right:-84px}
.hsm .hsm-live .hsm-phone{position:relative;z-index:1;width:284px}
.hsm .hsm-live .hsm-list{max-width:360px}

@media (max-width:960px){
  .hsm .hsm-sec{padding:56px 0}
  .hsm .hsm-live{grid-template-columns:auto auto;justify-content:center;gap:28px 0}
  .hsm .hsm-live .hsm-shot{width:260px;margin-right:-56px}
  .hsm .hsm-live .hsm-phone{width:250px}
  .hsm .hsm-live .hsm-list{grid-column:1/-1;justify-self:center;max-width:560px;width:100%}
}
@media (max-width:700px){
  .hsm .hsm-sec{padding:44px 0}
  .hsm .hsm-sec-head{margin-bottom:30px}
  .hsm h3{font-size:23px}
  .hsm .hsm-live .hsm-shot{width:46vw;max-width:220px;margin-right:-12vw;border-radius:22px}
  .hsm .hsm-live .hsm-phone{width:52vw;max-width:240px;padding:6px;border-radius:34px}
  .hsm .hsm-live .hsm-screen{border-radius:28px}
  .hsm .hsm-tag{left:10px;bottom:10px;font-size:12px;padding:5px 10px 5px 9px}
}
@media (max-width:960px){
  .hsm .hsm-panel{grid-template-columns:1fr;gap:0}
  .hsm .hsm-copy{padding:36px 0 28px;max-width:none;display:flex;flex-direction:column;align-items:center;text-align:center}
  .hsm .hsm-eyebrow{text-align:left}
  .hsm .hsm-cta{justify-content:center}
  .hsm .hsm-lottie{width:min(100%,380px);margin:0 0 12px}
}
@media (max-width:640px){
  .hsm .hsm-wrap{padding:0 18px}
  .hsm .hsm-head .hsm-wrap{height:62px}
  .hsm .hsm-logo svg{height:29px;margin-top:5px}
  .hsm .hsm-nav a:not(.hsm-btn){display:none}
  .hsm .hsm-nav .hsm-btn{min-height:38px;padding:0 13px 0 16px;font-size:14.5px;gap:6px}
  .hsm .hsm-nav .hsm-btn svg{width:15px;height:15px}
  .hsm .hsm-copy{padding-top:22px}
  .hsm .hsm-eyebrow{font-size:13px;gap:8px;padding-right:12px}
  .hsm .hsm-trust{flex-direction:column;gap:10px;margin-top:28px}
}
/* --- Top rated picks --- */
.hsm [hidden]{display:none!important}
.hsm button{font:inherit;color:inherit}
.hsm .hsm-seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--chip)}
.hsm .hsm-seg button{appearance:none;border:0;cursor:pointer;min-width:104px;padding:10px 22px;border-radius:999px;background:transparent;font-weight:700;font-size:15.5px;color:var(--muted);transition:background-color .2s,color .2s}
.hsm .hsm-seg button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(20,33,11,.14)}
.hsm .hsm-tscreen{aspect-ratio:1180/2376}
.hsm .hsm-tall{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;will-change:transform}
.hsm .hsm-tbar{position:absolute;left:0;bottom:0;width:100%;height:auto;z-index:2}

/* One phone you steer with a Food/Beauty switch and category chips */
.hsm .hsm-top-a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:72px;max-width:1000px;margin:0 auto}
.hsm .hsm-top-a .hsm-phone{width:290px}
.hsm .hsm-top-a .hsm-tall{transition:transform .9s cubic-bezier(.4,0,.2,1)}
.hsm .hsm-hint{margin:26px 0 12px;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hsm .hsm-chips{display:flex;flex-wrap:wrap;gap:8px}
.hsm .hsm-chip{appearance:none;cursor:pointer;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:15px;font-weight:600;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.hsm .hsm-chip:hover{border-color:var(--green)}
.hsm .hsm-chip[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}

@media (max-width:960px){
  .hsm .hsm-top-a{gap:40px}
  .hsm .hsm-top-a .hsm-phone{width:250px}
}
@media (max-width:700px){
  .hsm .hsm-top-a{grid-template-columns:minmax(0,1fr);gap:22px;text-align:center}
  .hsm .hsm-top-a .hsm-phone{justify-self:center;width:min(66vw,270px)}
  .hsm .hsm-hint{display:none}
  .hsm .hsm-chips{flex-wrap:nowrap;overflow-x:auto;margin:18px -18px 0;padding:2px 18px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hsm .hsm-chips::-webkit-scrollbar{display:none}
}

/* --- What we check: green panel, pick a marker to read about it --- */
.hsm .hsm-dark{padding:64px 56px 56px;border-radius:36px;background:var(--green);color:#fff;text-align:center}
.hsm .hsm-dark .hsm-kicker{color:#cfe6b0}
.hsm .hsm-dark .hsm-sec-head{margin-bottom:34px}
.hsm .hsm-dark .hsm-sec-head p:last-child{color:rgba(255,255,255,.8)}
.hsm .hsm-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:860px;margin:0 auto}
.hsm .hsm-pill{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 17px 10px 13px;border-radius:999px;border:1.5px solid rgba(255,255,255,.32);background:transparent;color:#fff;font-size:15.5px;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}
.hsm .hsm-pill svg{width:19px;height:19px;flex:none}
.hsm .hsm-pill:hover{border-color:#fff}
.hsm .hsm-dark .hsm-seg{margin-bottom:22px;background:rgba(255,255,255,.14)}
.hsm .hsm-dark .hsm-seg button{color:rgba(255,255,255,.82)}
.hsm .hsm-dark .hsm-seg button[aria-selected="true"]{color:var(--green)}
.hsm .hsm-dark .hsm-seg button:focus-visible{outline-color:#cfe6b0}
.hsm .hsm-eg{font-size:14px}
.hsm .hsm-pill[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--green)}
.hsm .hsm-pill:focus-visible{outline:3px solid #cfe6b0;outline-offset:3px}
.hsm .hsm-read{max-width:560px;min-height:132px;margin:38px auto 0;padding-top:30px;border-top:1px solid rgba(255,255,255,.2)}
.hsm .hsm-read h3{font-size:28px}
.hsm .hsm-read p{margin-top:10px;font-size:18px;color:rgba(255,255,255,.82)}
.hsm .hsm-read .hsm-eg{margin-top:10px;font-size:15px;color:rgba(255,255,255,.7)}
.hsm .hsm-read .hsm-eg b{color:#fff}

@media (max-width:960px){
  .hsm .hsm-dark{padding:52px 32px 44px}
}
@media (max-width:700px){
  .hsm .hsm-dark{padding:36px 18px 26px;border-radius:26px}
  .hsm .hsm-dark .hsm-sec-head{margin-bottom:22px}
  .hsm .hsm-dark .hsm-seg{margin-bottom:16px}
  /* Pills sit in three rows that swipe sideways, so the panel stays short */
  .hsm .hsm-pills{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,auto);justify-content:start;gap:8px;max-width:none;margin:0 -18px;padding:2px 18px 6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}
  .hsm .hsm-pills::-webkit-scrollbar{display:none}
  .hsm .hsm-pill{white-space:nowrap;justify-content:flex-start}
  .hsm .hsm-pill{padding:8px 13px 8px 10px;font-size:14.5px;gap:6px}
  .hsm .hsm-pill svg{width:17px;height:17px}
  .hsm .hsm-read{min-height:158px;margin-top:20px;padding-top:22px}
  .hsm .hsm-read h3{font-size:24px}
  .hsm .hsm-read p{font-size:16.5px}
}
/* --- FAQ --- */
.hsm .hsm-faq details{border-bottom:1px solid var(--line)}
.hsm .hsm-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 2px;cursor:pointer;list-style:none;font-size:19px;font-weight:700;letter-spacing:-.012em;line-height:1.3}
.hsm .hsm-faq summary::-webkit-details-marker{display:none}
.hsm .hsm-faq summary::after{content:"";flex:none;width:16px;height:16px;color:var(--green);background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat;transition:transform .2s}
.hsm .hsm-faq details[open] summary::after{background-size:100% 2px,2px 0;transform:rotate(180deg)}
.hsm .hsm-faq summary:focus-visible{outline:3px solid #8fbf4d;outline-offset:2px;border-radius:8px}
.hsm .hsm-faq details p a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hsm .hsm-faq details p{padding:0 40px 24px 2px;font-size:17px;color:var(--muted)}

.hsm .hsm-faq-a .hsm-faq-list{max-width:760px;margin:0 auto;border-top:1px solid var(--line)}

@media (max-width:700px){
  .hsm .hsm-faq summary{padding:18px 2px;font-size:17.5px}
  .hsm .hsm-faq details p{padding:0 26px 20px 2px;font-size:16px}
}
/* --- Final call to action --- */
.hsm .hsm-end h2{margin-top:0}
.hsm .hsm-end-sub{margin-top:14px;font-size:clamp(17px,1.5vw,20px);color:var(--muted)}

/* White panel with the app peeking in */
.hsm .hsm-end-b{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;padding:0 76px;border-radius:36px;background:#fff;border:1px solid var(--line);overflow:hidden}
.hsm .hsm-end-b>div:first-child{padding:72px 0}
.hsm .hsm-end-b .hsm-phone{align-self:end;width:260px;margin:56px 0 -210px;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 22px 56px -12px rgba(20,33,11,.36),0 6px 18px -4px rgba(20,33,11,.16)}
.hsm .hsm-end-b .hsm-screen>img{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none}

.hsm .hsm-end-b h2{font-size:clamp(32px,4.2vw,54px)}
.hsm .hsm-end-b .hsm-cta{justify-content:flex-start}
.hsm .hsm-end-b h2 em{font-style:normal;background:linear-gradient(transparent 64%,var(--mark) 64%,var(--mark) 94%,transparent 94%)}

@media (max-width:960px){
  .hsm .hsm-end-b{padding:0 44px;gap:28px}
  .hsm .hsm-end-b .hsm-phone{width:220px;margin-bottom:-190px}
}
@media (max-width:700px){
  .hsm .hsm-end-b .hsm-store{height:43px}
  .hsm .hsm-end .hsm-cta{gap:10px}
  .hsm .hsm-end-b{grid-template-columns:1fr;gap:0;padding:0 20px;border-radius:26px;text-align:center}
  .hsm .hsm-end-b>div:first-child{padding:44px 0 0}
  .hsm .hsm-end-b .hsm-cta{justify-content:center}
  .hsm .hsm-end-b .hsm-phone{justify-self:center;width:210px;margin:36px 0 -250px}
}
/* --- Footer --- */
.hsm .hsm-foot{font-size:15.5px}
.hsm .hsm-links a{opacity:.8;transition:opacity .15s}
.hsm .hsm-links a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.hsm .hsm-foot-brand{display:flex;flex-direction:column;gap:14px}
.hsm .hsm-social{display:flex;flex-wrap:wrap;gap:8px}
.hsm .hsm-social a{display:block;border-radius:9px;transition:transform .15s}
.hsm .hsm-social a:hover{transform:translateY(-1px)}
.hsm .hsm-social img{width:26px;height:26px}
.hsm .hsm-foot-logo{display:inline-flex;color:var(--green)}
.hsm .hsm-foot-logo svg{display:block;height:30px;width:auto}
.hsm .hsm-links{display:flex;flex-wrap:wrap;gap:8px 26px;font-weight:500}
.hsm .hsm-copy-line{color:var(--muted);font-size:14.5px}
.hsm .hsm-fine{margin-top:22px;font-size:12.5px;line-height:1.5;color:rgba(20,33,11,.55)}

.hsm .hsm-foot-a{padding:8px 0 40px}
.hsm .hsm-foot-a .hsm-foot-row{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;padding-top:30px;border-top:1px solid var(--line)}

@media (max-width:700px){
  .hsm .hsm-foot-a .hsm-foot-row{flex-direction:column;align-items:center;text-align:center;gap:18px}
  .hsm .hsm-foot-a .hsm-links,.hsm .hsm-social{justify-content:center}
  .hsm .hsm-foot-brand{align-items:center}
  .hsm .hsm-foot-a .hsm-fine{text-align:center}
}
@media (prefers-reduced-motion:reduce){.hsm .hsm-btn,.hsm .hsm-store{transition:none}.hsm .hsm-shot i{animation:none;top:50%}.hsm .hsm-reel,.hsm .hsm-row img{animation:none}.hsm .hsm-top-a .hsm-tall,.hsm .hsm-seg button,.hsm .hsm-chip,.hsm .hsm-pill,.hsm .hsm-social a{transition:none}}

/* ===== Site-wide: everything below applies to every page, not just the home page ===== */
.hsm{display:flex;flex-direction:column;min-height:100vh}
.hsm>main{flex:1 0 auto}
.hsm .hsm-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--green);color:#fff;font-weight:600}
.hsm .hsm-skip:focus{top:12px}
/* Keep the sticky header below the WordPress admin bar when you are logged in */
.admin-bar .hsm .hsm-head{top:32px}
@media (max-width:782px){.admin-bar .hsm .hsm-head{top:46px}}
@media (max-width:600px){.admin-bar .hsm .hsm-head{top:0}}

/* Ordinary pages and posts (Privacy, Terms, Contact, blog) */
.hsm .hsm-page{padding:56px 0 80px}
.hsm .hsm-narrow{max-width:816px}
.hsm .hsm-page-title{margin:0;font-size:clamp(34px,4.6vw,54px);line-height:1.08;letter-spacing:-.028em;font-weight:700;text-wrap:balance}
.hsm .hsm-meta{margin-top:12px;font-size:15px;color:var(--muted)}
.hsm .hsm-prose{margin-top:28px;font-size:17.5px;line-height:1.65;overflow-wrap:break-word}
.hsm .hsm-prose>*:first-child{margin-top:0}
.hsm .hsm-prose p,.hsm .hsm-prose ul,.hsm .hsm-prose ol,.hsm .hsm-prose blockquote,.hsm .hsm-prose figure,.hsm .hsm-prose table,.hsm .hsm-prose pre{margin-top:1.05em}
.hsm .hsm-prose h1,.hsm .hsm-prose h2,.hsm .hsm-prose h3,.hsm .hsm-prose h4{margin-top:1.7em;line-height:1.2;letter-spacing:-.02em;font-weight:700;text-wrap:balance}
.hsm .hsm-prose h1{font-size:34px}
.hsm .hsm-prose h2{font-size:28px}
.hsm .hsm-prose h3{font-size:22px}
.hsm .hsm-prose h4{font-size:18.5px;letter-spacing:-.01em}
.hsm .hsm-prose ul,.hsm .hsm-prose ol{padding-left:1.35em}
.hsm .hsm-prose ul{list-style:disc}
.hsm .hsm-prose ol{list-style:decimal}
.hsm .hsm-prose li+li{margin-top:.4em}
.hsm .hsm-prose li>ul,.hsm .hsm-prose li>ol{margin-top:.4em}
.hsm .hsm-prose a:not(.wp-block-button__link){color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hsm .hsm-prose strong{font-weight:700}
.hsm .hsm-prose blockquote{padding:4px 0 4px 20px;border-left:3px solid var(--mark);color:var(--muted)}
.hsm .hsm-prose hr{margin:2.2em 0;border:0;border-top:1px solid var(--line)}
.hsm .hsm-prose img{border-radius:16px}
.hsm .hsm-prose figcaption{margin-top:8px;font-size:14.5px;color:var(--muted);text-align:center}
.hsm .hsm-prose table{width:100%;border-collapse:collapse;font-size:16px}
.hsm .hsm-prose th,.hsm .hsm-prose td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.hsm .hsm-prose th{background:var(--chip);font-weight:700}
.hsm .hsm-prose .wp-block-table{overflow-x:auto}
.hsm .hsm-prose code,.hsm .hsm-prose pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--chip);border-radius:8px}
.hsm .hsm-prose code{padding:2px 6px}
.hsm .hsm-prose pre{padding:16px;overflow-x:auto}
.hsm .hsm-prose pre code{padding:0;background:none}
.hsm .hsm-prose .wp-block-buttons,.hsm .hsm-prose .wp-block-columns,.hsm .hsm-prose .wp-block-group{margin-top:1.3em}
.hsm .wp-block-button__link{background:var(--green);color:#fff;border-radius:999px;font-weight:600;text-decoration:none}
.hsm .wp-block-button__link:hover{background:var(--green-deep)}

/* ----- Blog: one narrow column of rows, text left, small picture right ----- */
.hsm .hsm-blog>.hsm-wrap{max-width:936px}
.hsm .hsm-blog-head .hsm-page-title{margin-top:12px;font-size:clamp(36px,5vw,60px)}
.hsm .hsm-blog-intro{margin-top:16px;font-size:clamp(17px,1.5vw,20px);color:var(--muted)}
.hsm .hsm-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.hsm .hsm-cats a{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:15px;font-weight:600;transition:border-color .2s}
.hsm .hsm-cats a:hover{border-color:var(--green)}
.hsm .hsm-cats a[aria-current]{background:var(--green);border-color:var(--green);color:#fff}
.hsm .hsm-posts{margin-top:36px;border-top:1px solid var(--line)}
.hsm .hsm-card{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:40px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}
.hsm .hsm-thumb{order:2;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:var(--chip)}
.hsm .hsm-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.hsm .hsm-thumb svg{width:56%;color:var(--green);opacity:.22}
.hsm .hsm-card:hover .hsm-thumb img{transform:scale(1.035)}
.hsm .hsm-cat{display:inline-block;padding:4px 11px;border-radius:999px;background:var(--chip);color:var(--green);font-size:13px;font-weight:700;letter-spacing:.01em}
.hsm .hsm-card-title{margin:12px 0 0;font-size:25px;line-height:1.2;letter-spacing:-.02em;font-weight:700;text-wrap:balance}
.hsm .hsm-card-title a{background:linear-gradient(var(--mark),var(--mark)) 0 92%/0 34% no-repeat;transition:background-size .3s}
.hsm .hsm-card:hover .hsm-card-title a{background-size:100% 34%}
.hsm .hsm-card-text{margin-top:8px;font-size:16.5px;color:var(--muted)}
.hsm .hsm-card .hsm-meta{margin-top:12px;font-size:14px}

/* Single post */
.hsm .hsm-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;font-size:15px;font-weight:600;color:var(--muted)}
.hsm .hsm-back:hover{color:var(--green)}
.hsm .hsm-back svg{width:17px;height:17px}
.hsm .hsm-post .hsm-cat{display:table;margin-bottom:14px}
.hsm .hsm-post-hero{margin-top:32px}
.hsm .hsm-post-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px}
.hsm .hsm-byline{display:flex;align-items:center;gap:12px;margin-top:20px}
.hsm .hsm-avatar{width:44px;height:44px;border-radius:50%;flex:none;background:var(--chip)}
.hsm .hsm-author{font-size:15.5px;font-weight:600;line-height:1.3}
.hsm .hsm-author a:hover{color:var(--green)}
.hsm .hsm-byline .hsm-meta{margin-top:1px;font-size:14px}
.hsm .hsm-post .hsm-prose{margin-top:40px}
/* Download box at the end of an article: copy on the left, moving columns of top rated products on the right */
.hsm .hsm-pc{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:center;margin-top:56px;padding:0 24px 0 40px;border-radius:28px;background:var(--chip);overflow:hidden;scroll-margin-top:90px}
.hsm .hsm-pc-copy{padding:40px 0}
.hsm .hsm-pc-icon{width:56px;height:56px;border-radius:14px;margin-bottom:18px;box-shadow:0 10px 22px -12px rgba(20,33,11,.5)}
.hsm .hsm-pc h2{margin:0;font-size:clamp(26px,3vw,34px);line-height:1.12;letter-spacing:-.024em}
.hsm .hsm-pc-text{margin-top:12px;font-size:17px;color:var(--muted)}
.hsm .hsm-pc .hsm-cta{margin-top:24px;gap:10px;flex-wrap:nowrap;justify-content:flex-start}
.hsm .hsm-pc .hsm-store{height:48px}
.hsm .hsm-pc .hsm-trust{flex-direction:row;gap:12px;margin-top:22px;font-size:15.5px}
.hsm .hsm-pc .hsm-faces span{width:38px;height:38px;border-color:var(--chip)}
.hsm .hsm-wall{position:relative;align-self:stretch;min-height:420px;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 12%,#000 88%,#0000);mask-image:linear-gradient(#0000,#000 12%,#000 88%,#0000)}
.hsm .hsm-wall-in{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:4.2%}
.hsm .hsm-wall-col{display:flex;flex-direction:column;animation:hsm-wall 8s linear infinite;will-change:transform}
.hsm .hsm-wall-col.is-rev{animation-direction:reverse}
.hsm .hsm-wall-col img{width:100%;height:auto;max-width:none}
@keyframes hsm-wall{to{transform:translateY(-50%)}}

/* Short strip partway through an article */
.hsm .hsm-nudge{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;margin:2em 0 .4em;padding:16px 20px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.hsm .hsm-prose .hsm-nudge img{width:44px;height:44px;border-radius:11px}
.hsm .hsm-prose .hsm-nudge p{margin:0;font-size:16px;line-height:1.4}
.hsm .hsm-prose a.hsm-nudge-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;background:var(--green);color:#fff;font-size:14.5px;font-weight:600;text-decoration:none;white-space:nowrap}
.hsm .hsm-prose a.hsm-nudge-link:hover{background:var(--green-deep)}
.hsm .hsm-nudge-link svg{width:15px;height:15px}

/* Bar that slides in while reading */
.hsm .hsm-bar{position:fixed;z-index:40;left:50%;bottom:16px;transform:translate(-50%,160%);display:flex;align-items:center;gap:12px;width:min(400px,calc(100vw - 48px));padding:10px 8px 10px 12px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px -14px rgba(20,33,11,.4);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.hsm .hsm-bar.is-in{transform:translate(-50%,0)}
.hsm .hsm-bar img{width:44px;height:44px;border-radius:11px;flex:none}
.hsm .hsm-bar div{flex:1;min-width:0;line-height:1.25}
.hsm .hsm-bar b{display:block;font-size:15.5px;font-weight:700}
.hsm .hsm-bar span{display:block;font-size:13.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hsm .hsm-bar a{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px 0 15px;border-radius:999px;background:var(--green);color:#fff;font-size:14px;font-weight:700}
.hsm .hsm-bar a svg{width:13px;height:13px}
.hsm .hsm-bar a:hover{background:var(--green-deep)}
.hsm .hsm-bar button{appearance:none;border:0;background:none;cursor:pointer;width:30px;height:30px;margin-left:-8px;flex:none;border-radius:50%;color:var(--muted);font:400 22px/1 system-ui,sans-serif}
.hsm .hsm-bar button:hover{background:var(--chip)}
@media (min-width:961px){.hsm .hsm-bar{left:auto;right:24px;bottom:24px;transform:translateY(180%)}.hsm .hsm-bar.is-in{transform:none}}
.hsm .hsm-more{margin-top:80px;padding-top:56px;border-top:1px solid var(--line)}
.hsm .hsm-more>.hsm-wrap>h2{margin:0;font-size:clamp(26px,3vw,36px)}
.hsm .hsm-more .hsm-posts{margin-top:28px}
.hsm .hsm-pager{margin-top:28px;font-weight:600}
.hsm .hsm-pager .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.hsm .hsm-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#fff}
.hsm .hsm-pager .page-numbers.current{background:var(--green);border-color:var(--green);color:#fff}
.hsm .hsm-notfound{text-align:center;padding:96px 0 120px}
.hsm .hsm-notfound p{margin-top:16px;font-size:19px;color:var(--muted)}
.hsm .hsm-notfound .hsm-btn{margin-top:28px}
@media (prefers-reduced-motion:reduce){.hsm .hsm-wall-col{animation:none}.hsm .hsm-bar{transition:none}.hsm .hsm-thumb img,.hsm .hsm-card-title a,.hsm .hsm-cats a{transition:none}.hsm .hsm-card:hover .hsm-thumb img{transform:none}}
@media (max-width:700px){
  .hsm .hsm-posts{margin-top:26px}
  .hsm .hsm-card{grid-template-columns:minmax(0,1fr) 96px;gap:16px;padding:22px 0;align-items:start}
  .hsm .hsm-thumb{aspect-ratio:1;border-radius:14px}
  .hsm .hsm-card-title{font-size:19.5px;margin-top:10px}
  .hsm .hsm-card-text{display:none}
  .hsm .hsm-cats{flex-wrap:nowrap;overflow-x:auto;margin:22px -18px 0;padding:2px 18px 6px;scrollbar-width:none}
  .hsm .hsm-cats::-webkit-scrollbar{display:none}
  .hsm .hsm-cats a{white-space:nowrap}
  .hsm .hsm-post-hero{margin-top:24px}
  .hsm .hsm-post .hsm-page-title{text-wrap:wrap}
  .hsm .hsm-post-hero img{border-radius:20px}
  .hsm .hsm-post .hsm-prose{margin-top:28px}
  .hsm .hsm-pc{grid-template-columns:1fr;gap:0;margin-top:40px;padding:0 22px;border-radius:24px}
  .hsm .hsm-pc-copy{padding:28px 0 0}
  .hsm .hsm-pc .hsm-store{height:44px}
  .hsm .hsm-pc .hsm-trust{flex-direction:column;align-items:flex-start;gap:8px;font-size:14.5px}
  .hsm .hsm-wall{min-height:0;height:300px;margin-top:24px}
  /* On a phone only the badge for that phone's store is shown, larger */
  .hsm .hsm-pc[data-os] .hsm-store{display:none}
  .hsm .hsm-pc[data-os="ios"] .hsm-store[data-os="ios"],.hsm .hsm-pc[data-os="android"] .hsm-store[data-os="android"]{display:block;height:52px}
  .hsm .hsm-nudge{grid-template-columns:44px minmax(0,1fr);padding:16px}
  .hsm .hsm-prose a.hsm-nudge-link{grid-column:1/-1;justify-content:center}
  .hsm .hsm-more{margin-top:56px;padding-top:40px}
  .hsm .hsm-page{padding:36px 0 56px}
  .hsm .hsm-prose{font-size:17px}
  .hsm .hsm-prose h2{font-size:24px}
  .hsm .hsm-prose h3{font-size:20px}
}

/* ===== Popup (set up under Appearance > Customize > Popup) ===== */
dialog.hsm-pop{display:block;position:fixed;inset:0;width:auto;height:auto;max-width:none;max-height:none;min-height:0;margin:auto;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
dialog.hsm-pop{inset:auto;width:fit-content;height:fit-content;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}
dialog.hsm-pop[open]{visibility:visible;opacity:1;transform:translate(-50%,-50%);transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1)}
dialog.hsm-pop::backdrop{background:rgba(16,25,10,.52);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.hsm-pop .hsm-pop-card{position:relative;border-radius:28px;background:#fff;box-shadow:0 40px 90px -30px rgba(10,18,5,.6)}
.hsm-pop .hsm-pop-x{position:absolute;z-index:2;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:rgba(20,33,11,.06);color:var(--ink);cursor:pointer;transition:background-color .15s}
.hsm-pop .hsm-pop-x:hover{background:rgba(20,33,11,.12)}
.hsm-pop .hsm-pop-x svg{width:16px;height:16px}
.hsm-pop .hsm-pop-tag{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--chip);color:var(--green);font-size:13px;font-weight:700;letter-spacing:.02em}
.hsm-pop h2{margin:14px 0 0;font-size:clamp(25px,3.4vw,31px);line-height:1.12;letter-spacing:-.025em;font-weight:700;text-wrap:balance}
.hsm-pop .hsm-pop-text{margin-top:10px;font-size:16.5px;line-height:1.5;color:var(--muted)}
.hsm-pop .hsm-pop-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin-top:24px;padding:0 24px;border:0;border-radius:999px;background:var(--green);color:#fff;font:inherit;font-size:16.5px;font-weight:700;cursor:pointer;transition:background-color .15s}
.hsm-pop .hsm-pop-btn:hover{background:var(--green-deep)}
.hsm-pop .hsm-pop-btn svg{width:16px;height:16px}
.hsm-pop .hsm-pop-no{display:block;margin:12px auto 0;padding:6px 10px;border:0;background:none;color:var(--muted);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.hsm-pop .hsm-pop-no:hover{color:var(--ink)}
.hsm-pop :focus-visible{outline:3px solid #8fbf4d;outline-offset:2px}
.hsm-pop .hsm-pop-code{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding:8px 8px 8px 20px;border:1.5px dashed rgba(35,76,3,.35);border-radius:16px;text-align:left}
.hsm-pop .hsm-pop-code b{font-size:19px;letter-spacing:.12em;font-weight:700;overflow-wrap:anywhere}
.hsm-pop .hsm-pop-code button{flex:none;min-height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--chip);color:var(--green);font:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.hsm-pop .hsm-pop-code+.hsm-pop-btn{margin-top:14px}
.hsm-pop .hsm-pop-code+.hsm-pop-acts{margin-top:14px}
html.hsm-pop-open{overflow:hidden}
/* A */
.hsm-pop-a .hsm-pop-card{width:min(420px,calc(100vw - 32px));padding:40px 32px 24px;text-align:center}
.hsm-pop-a .hsm-pop-icon{display:block;width:60px;height:60px;margin:0 auto 18px;border-radius:15px;box-shadow:0 12px 24px -12px rgba(20,33,11,.5)}
/* B */
.hsm-pop-b .hsm-pop-card{display:grid;grid-template-columns:300px minmax(0,1fr);width:min(740px,calc(100vw - 32px));overflow:hidden}
.hsm-pop-b .hsm-pop-card.is-plain{grid-template-columns:1fr;width:min(460px,calc(100vw - 32px))}
.hsm-pop-b .hsm-pop-pic{min-height:420px}
.hsm-pop-b .hsm-pop-pic img{width:100%;height:100%;object-fit:cover}
.hsm-pop-b .hsm-pop-body{align-self:center;padding:44px 40px 30px}
.hsm-pop-b .hsm-pop-no{margin-left:0;padding-left:0}
/* C */
dialog.hsm-pop-c{top:auto;bottom:28px;transform:translate(-50%,24px)}
dialog.hsm-pop-c[open]{transform:translate(-50%,0)}
.hsm-pop-c .hsm-pop-card{width:min(560px,calc(100vw - 32px));padding:26px 28px 24px}
.hsm-pop-c .hsm-pop-grab{display:none}
.hsm-pop-c .hsm-pop-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:start;padding-right:36px}
.hsm-pop-c .hsm-pop-icon{width:52px;height:52px;border-radius:13px}
.hsm-pop-c h2{margin:0;font-size:22px}
.hsm-pop-c .hsm-pop-text{margin-top:6px;font-size:16px}
.hsm-pop-c .hsm-pop-acts{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;margin-top:20px}
.hsm-pop-c .hsm-pop-btn{margin-top:0;min-height:48px;padding:0 12px;font-size:15.5px;white-space:nowrap}
.hsm-pop .hsm-pop-card:focus{outline:none}
.hsm-pop .hsm-pop-btn.is-quiet{background:var(--chip);color:var(--green)}
.hsm-pop .hsm-pop-btn.is-quiet:hover{background:#dbe6c8}
/* D */
.hsm-pop-d .hsm-pop-card{width:min(440px,calc(100vw - 32px));padding:40px 32px 24px;background:var(--green);color:#fff;text-align:center}
.hsm-pop-d .hsm-pop-x{background:rgba(255,255,255,.14);color:#fff}
.hsm-pop-d .hsm-pop-x:hover{background:rgba(255,255,255,.24)}
.hsm-pop-d .hsm-pop-tag{background:rgba(255,255,255,.14);color:#dff0c6}
.hsm-pop-d h2{font-size:clamp(30px,4.4vw,38px)}
.hsm-pop-d .hsm-pop-text{color:rgba(255,255,255,.82)}
.hsm-pop-d .hsm-pop-code{border-color:rgba(255,255,255,.45)}
.hsm-pop-d .hsm-pop-code button{background:rgba(255,255,255,.16);color:#fff}
.hsm-pop-d .hsm-pop-code button:hover{background:rgba(255,255,255,.26)}
.hsm-pop-d .hsm-pop-btn{background:#fff;color:var(--green)}
.hsm-pop-d .hsm-pop-btn:hover{background:#eaf2de}
.hsm-pop-d .hsm-pop-no{color:rgba(255,255,255,.75)}
.hsm-pop-d .hsm-pop-no:hover{color:#fff}
@media (max-width:700px){
  .hsm-pop-a .hsm-pop-card,.hsm-pop-d .hsm-pop-card{padding:34px 24px 20px}
  .hsm-pop-b .hsm-pop-card{grid-template-columns:1fr;width:min(420px,calc(100vw - 32px))}
  .hsm-pop-b .hsm-pop-pic{min-height:0;height:170px}
  .hsm-pop-b .hsm-pop-pic img{object-position:50% 60%}
  .hsm-pop-b .hsm-pop-body{padding:24px 24px 20px}
  .hsm-pop-b .hsm-pop-x{background:rgba(255,255,255,.9)}
  /* C becomes a sheet attached to the bottom of the screen */
  dialog.hsm-pop-c{bottom:0;transform:translate(-50%,100%)}
  .hsm-pop-c .hsm-pop-card{width:100vw;padding:14px 22px calc(22px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0}
  .hsm-pop-c .hsm-pop-grab{display:block;width:40px;height:4px;margin:0 auto 18px;border-radius:4px;background:rgba(20,33,11,.18)}
  .hsm-pop-c .hsm-pop-x{top:22px}
}
@media (prefers-reduced-motion:reduce){dialog.hsm-pop,dialog.hsm-pop[open]{transition:opacity .2s}}

/* ===== Contact page: one question at a time ===== */
.hsm .hsm-form{display:grid;gap:18px}
.hsm .hsm-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hsm .hsm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Fields whose label sits inside and lifts when you type */
.hsm .hsm-fl{position:relative;min-width:0}
.hsm .hsm-fl input,.hsm .hsm-fl textarea{display:block;width:100%;height:60px;padding:24px 18px 6px;border:1.5px solid rgba(35,76,3,.15);border-radius:16px;background:#fbfcf8;color:var(--ink);font:inherit;font-size:16.5px;transition:border-color .15s,box-shadow .15s,background-color .15s;-webkit-appearance:none;appearance:none}
.hsm .hsm-fl textarea{height:auto;min-height:150px;padding-top:28px;line-height:1.5;resize:vertical}
.hsm .hsm-fl label{position:absolute;left:19px;top:19px;font-size:16.5px;color:var(--muted);pointer-events:none;transform-origin:0 0;transition:transform .16s ease}
.hsm .hsm-fl input:focus+label,.hsm .hsm-fl input:not(:placeholder-shown)+label,.hsm .hsm-fl textarea:focus+label,.hsm .hsm-fl textarea:not(:placeholder-shown)+label{transform:translateY(-10px) scale(.76);font-weight:700;color:var(--green)}
.hsm .hsm-fl input:hover,.hsm .hsm-fl textarea:hover{border-color:rgba(35,76,3,.32)}
.hsm .hsm-fl input:focus,.hsm .hsm-fl textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 4px rgba(35,76,3,.12)}
.hsm .is-bad input,.hsm .is-bad textarea{border-color:#c2473d!important}
.hsm .hsm-err{margin-top:6px;font-size:13.5px;font-weight:600;color:#b03a31;text-align:left}
/* Topic tiles */
.hsm .hsm-tiles{min-width:0;margin:0;padding:0;border:0}
.hsm .hsm-tiles legend{padding:0;margin-bottom:10px;font-size:14.5px;font-weight:700}
.hsm .hsm-tiles>div{display:grid;gap:10px}
.hsm .hsm-tiles label{position:relative;cursor:pointer}
.hsm .hsm-tiles input{position:absolute;inset:0;opacity:0;cursor:pointer}
.hsm .hsm-tiles span{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;padding:16px 8px 14px;border:1.5px solid rgba(35,76,3,.15);border-radius:16px;background:#fbfcf8;text-align:center;transition:border-color .15s,background-color .15s,color .15s,transform .15s}
.hsm .hsm-tiles svg{width:26px;height:26px;color:var(--green);transition:color .15s}
.hsm .hsm-tiles b{font-size:14.5px;font-weight:700}
.hsm .hsm-tiles small{font-size:13.5px;line-height:1.35;color:var(--muted)}
.hsm .hsm-tiles label:hover span{border-color:rgba(35,76,3,.4)}
.hsm .hsm-tiles input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.hsm .hsm-tiles input:checked+span svg{color:#fff}
.hsm .hsm-tiles input:checked+span small{color:rgba(255,255,255,.8)}
.hsm .hsm-tiles input:focus-visible+span{box-shadow:0 0 0 4px rgba(35,76,3,.22)}
.hsm .hsm-send{width:100%;min-height:56px;border:0;font:inherit;font-size:16.5px;font-weight:700;cursor:pointer}
.hsm .hsm-send[disabled]{opacity:.7;cursor:default;transform:none}
.hsm .hsm-form-note{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--muted);text-align:left}
.hsm .hsm-form-note svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--green)}
.hsm .hsm-form-note a{text-decoration:underline;text-underline-offset:2px}
.hsm .hsm-form-fail{padding:12px 16px;border-radius:14px;background:#fbe7e4;color:#8f2f27;font-size:15px;font-weight:600}
.hsm .hsm-cb-more{max-width:680px;margin:40px auto 0}
.hsm .hsm-sent{text-align:center;padding:36px 8px;animation:hsm-rise .4s cubic-bezier(.2,.7,.2,1)}
.hsm .hsm-sent:focus{outline:none}
.hsm .hsm-sent svg{width:64px;height:64px;padding:16px;border-radius:50%;background:var(--green);color:#fff}
.hsm .hsm-sent h2{margin-top:20px;font-size:30px}
.hsm .hsm-sent p{margin:10px auto 0;max-width:24em;color:var(--muted)}
.hsm .hsm-sent b{color:var(--ink);overflow-wrap:anywhere}
.hsm .hsm-again{margin-top:22px;padding:8px 4px;border:0;background:none;color:var(--green);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@keyframes hsm-rise{from{opacity:0;transform:translateY(14px)}}
/* B: one question at a time */
.hsm .hsm-cb{padding-top:56px;padding-bottom:88px}
.hsm .hsm-cb-card{max-width:680px;margin:0 auto;padding:36px 40px 40px;border-radius:32px;background:#fff;box-shadow:0 40px 80px -44px rgba(20,33,11,.4),0 0 0 1px var(--line)}
.hsm .hsm-cb-top{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 16px;min-height:28px}
.hsm .hsm-cb-count{grid-column:2;font-size:13.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hsm .hsm-cb-count b{color:var(--green)}
.hsm .hsm-cb-back{grid-column:1;justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;background:none;color:var(--muted);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.hsm .hsm-cb-back:hover{color:var(--green)}
.hsm .hsm-cb-back svg{width:16px;height:16px}
.hsm .hsm-cb-bar{grid-column:1/-1;display:block;height:4px;border-radius:4px;background:var(--chip);overflow:hidden}
.hsm .hsm-cb-bar i{display:block;height:100%;width:33.33%;border-radius:4px;background:var(--green);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.hsm .hsm-steps[data-step="2"] .hsm-cb-bar i{width:66.66%}
.hsm .hsm-steps[data-step="3"] .hsm-cb-bar i{width:100%}
.hsm .hsm-step-pane{display:grid;gap:18px;animation:hsm-rise .35s cubic-bezier(.2,.7,.2,1)}
.hsm .hsm-cb-q{margin:14px 0 6px;font-size:clamp(28px,3.6vw,40px);line-height:1.1;letter-spacing:-.028em;font-weight:700;text-wrap:balance}
.hsm .hsm-cb .hsm-tiles legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hsm .hsm-cb .hsm-tiles>div{grid-template-columns:1fr 1fr;gap:12px}
.hsm .hsm-cb .hsm-tiles span{align-items:flex-start;gap:4px;padding:20px 20px 18px;text-align:left;border-radius:20px}
.hsm .hsm-cb .hsm-tiles svg{width:30px;height:30px;margin-bottom:10px}
.hsm .hsm-cb .hsm-tiles b{font-size:18px}
.hsm .hsm-cb .hsm-tiles label:hover span{transform:translateY(-2px)}
.hsm .hsm-cb-fields{display:grid;gap:14px}
@media (max-width:700px){
  .hsm .hsm-row2{grid-template-columns:1fr}
  .hsm .hsm-cb{padding-top:28px;padding-bottom:56px}
  .hsm .hsm-cb-card{padding:22px 18px 24px;border-radius:26px}
  .hsm .hsm-cb .hsm-tiles>div{grid-template-columns:1fr}
  .hsm .hsm-cb .hsm-tiles span{flex-direction:column;padding:16px 18px}
  .hsm .hsm-cb .hsm-tiles svg{width:26px;height:26px;margin-bottom:6px}
}
@media (prefers-reduced-motion:reduce){.hsm .hsm-sent,.hsm .hsm-step-pane{animation:none}.hsm .hsm-fl label,.hsm .hsm-tiles span,.hsm .hsm-cb-bar i{transition:none}}

/* ===== Cookie banner and settings (Appearance > Customize > Cookies and tracking) ===== */
.hsm.hsm-ck{display:block;min-height:0;position:fixed;z-index:60;background:none;font-size:15px;animation:hsm-ck-in .4s cubic-bezier(.2,.7,.2,1)}
.hsm.hsm-ck[hidden]{display:none}
@keyframes hsm-ck-in{from{opacity:0;transform:translateY(16px)}}
.hsm-ck h2{margin:0;font-size:19px;line-height:1.2;letter-spacing:-.015em}
.hsm-ck p{margin-top:6px;line-height:1.45;color:var(--muted)}
.hsm-ck p a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.hsm-ck .hsm-ck-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
/* Decline and Accept look the same on purpose, so neither is pushed */
.hsm-ck .hsm-ck-btn{min-height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--green);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background-color .15s}
.hsm-ck .hsm-ck-btn:hover{background:var(--green-deep)}
.hsm-ck .hsm-ck-more{grid-column:1/-1;justify-self:center;padding:6px 10px;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hsm-ck .hsm-ck-more:hover{color:var(--ink)}
.hsm-ck :focus-visible{outline:3px solid #8fbf4d;outline-offset:2px}
/* Corner card */
.hsm.hsm-ck--card{left:20px;bottom:20px;width:min(380px,calc(100vw - 32px))}
.hsm-ck--card .hsm-ck-in{padding:22px 22px 14px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px -20px rgba(20,33,11,.45)}
/* Bottom bar */
.hsm.hsm-ck--bar{left:0;right:0;bottom:0}
.hsm-ck--bar .hsm-ck-in{display:flex;align-items:center;justify-content:space-between;gap:16px 40px;padding:18px max(28px,calc((100vw - 1144px)/2));background:#fff;border-top:1px solid var(--line);box-shadow:0 -18px 40px -24px rgba(20,33,11,.35)}
.hsm-ck--bar .hsm-ck-copy{max-width:640px}
.hsm-ck--bar .hsm-ck-acts{display:flex;align-items:center;flex:none;margin-top:0}
.hsm-ck--bar .hsm-ck-more{order:-1}
.hsm-ck--bar .hsm-ck-btn{min-width:120px}
/* Compact pill */
.hsm.hsm-ck--pill{left:50%;bottom:20px;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);animation:none}
.hsm-ck--pill .hsm-ck-in{display:flex;align-items:center;gap:18px;padding:10px 10px 10px 24px;border-radius:999px;background:var(--green);color:#fff;box-shadow:0 20px 50px -18px rgba(20,33,11,.6)}
.hsm-ck--pill h2{font-size:15.5px;display:inline}
.hsm-ck--pill p{display:inline;margin:0 0 0 6px;font-size:0}
.hsm-ck--pill p a{font-size:14.5px;color:#dff0c6}
.hsm-ck--pill .hsm-ck-acts{display:flex;align-items:center;gap:6px;margin-top:0;flex:none}
.hsm-ck--pill .hsm-ck-btn{min-height:40px;background:#fff;color:var(--green)}
.hsm-ck--pill .hsm-ck-btn:hover{background:#eaf2de}
.hsm-ck--pill .hsm-ck-more{order:-1;color:rgba(255,255,255,.8)}
.hsm-ck--pill .hsm-ck-more:hover{color:#fff}
/* Settings panel */
.hsm-ck-prefs .hsm-pop-card{text-align:left;padding:34px 30px 22px;width:min(460px,calc(100vw - 32px))}
.hsm-ck-prefs h2{margin-top:0}
.hsm-ck-rows{margin:20px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.hsm-ck-rows li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.hsm-ck-rows b{display:block;font-size:16.5px}
.hsm-ck-rows div span{display:block;margin-top:2px;font-size:14.5px;line-height:1.4;color:var(--muted)}
.hsm-ck-sw{position:relative;flex:none;width:50px;height:30px;cursor:pointer}
.hsm-ck-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.hsm-ck-sw i{position:absolute;inset:0;border-radius:999px;background:#cfd5c6;transition:background-color .2s;pointer-events:none}
.hsm-ck-sw i::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.hsm-ck-sw input:checked+i{background:var(--green)}
.hsm-ck-sw input:checked+i::after{transform:translateX(20px)}
.hsm-ck-sw input:focus-visible+i{box-shadow:0 0 0 4px rgba(35,76,3,.25)}
.hsm-ck-sw.is-locked{opacity:.5;cursor:default}
.hsm-ck-sw.is-locked input{cursor:default}
.hsm-ck-both{display:flex;justify-content:center;gap:18px}
.hsm-ck-both .hsm-pop-no{margin:12px 0 0}
/* Cookie policy page */
.hsm .hsm-ck-now{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-top:28px;padding:20px 24px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.hsm .hsm-ck-now b{display:block;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.hsm .hsm-ck-now span{display:block;margin-top:2px;font-size:17.5px;font-weight:600}
.hsm .hsm-ck-now .hsm-btn{border:0;font:inherit;font-size:15.5px;font-weight:600;cursor:pointer}
@media (max-width:700px){
  /* On phones the card is a slim strip: smaller text, and all three buttons on one row */
  .hsm.hsm-ck--card{left:10px;bottom:10px;width:calc(100vw - 20px)}
  .hsm-ck--card .hsm-ck-in{padding:14px 14px 12px;border-radius:20px}
  .hsm-ck--card h2{font-size:15.5px}
  .hsm-ck--card p{margin-top:3px;font-size:13px;line-height:1.38}
  .hsm-ck--card .hsm-ck-acts{grid-template-columns:auto 1fr 1fr;align-items:center;gap:8px;margin-top:10px}
  .hsm-ck--card .hsm-ck-btn{min-height:38px;padding:0 10px;font-size:14px}
  .hsm-ck--card .hsm-ck-more{grid-column:auto;order:-1;padding:6px 8px 6px 2px;font-size:13.5px}
  .hsm-ck--bar .hsm-ck-in{flex-direction:column;align-items:stretch;padding:18px}
  .hsm-ck--bar .hsm-ck-acts{display:grid}
  .hsm-ck--bar .hsm-ck-more{order:0}
  .hsm.hsm-ck--pill{width:calc(100vw - 24px);bottom:12px}
  .hsm-ck--pill .hsm-ck-in{flex-direction:column;align-items:stretch;gap:12px;padding:16px;border-radius:24px;text-align:center}
  .hsm-ck--pill .hsm-ck-acts{display:grid;grid-template-columns:1fr 1fr}
  .hsm-ck--pill .hsm-ck-more{order:0}
  .hsm-ck-prefs .hsm-pop-card{padding:30px 22px 18px}
  .hsm .hsm-ck-now .hsm-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.hsm.hsm-ck{animation:none}.hsm-ck-sw i,.hsm-ck-sw i::after{transition:none}}
