@charset "UTF-8";
:root {
  --ink:#183d35;
  --muted:#63716c;
  --paper:#fafaf5;
  --line:#dde3d9;
  --green:#246752;
  --lime:#e6f4b6;
  --radius:20px;
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:auto;
  scroll-padding-top:105px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-size:15px;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button,input,summary {
  font:inherit
}
a,summary {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,summary:focus-visible {
  outline:3px solid #328466;
  outline-offset:5px;
  border-radius:3px
}
img {
  max-width:100%;
  display:block
}
p {
  line-height:1.85
}
h1,h2,h3,h4,p {
  margin:0
}
h1,h2,h3,h4 {
  font-weight:600
}
h2 {
  font-size:34px;
  line-height:1.5;
  letter-spacing:-1.3px
}
section[id] {
  scroll-margin-top:18px
}
.shell {
  width:min(1200px,calc(100% - 96px));
  margin-inline:auto
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  top:8px;
  left:8px;
  z-index:100;
  background:var(--ink);
  color:white;
  padding:12px 18px;
  transform:translateY(-160%)
}
.skip-link:focus {
  transform:translateY(0)
}
.preview-bar {
  background:#eaf0e5;
  border-bottom:1px solid #dfe6d8;
  color:#536647;
  font-size:11px
}
.preview-bar .shell {
  min-height:34px;
  display:flex;
  align-items:center;
  gap:13px
}
.preview-tag {
  font-size:9px;
  font-weight:700;
  letter-spacing:1px;
  border:1px solid #b8c9a4;
  border-radius:3px;
  padding:2px 6px;
  white-space:nowrap
}
.site-header {
  position:sticky;
  top:0;
  background:rgba(250,250,245,.96);
  backdrop-filter:blur(14px);
  z-index:30;
  border-bottom:1px solid rgba(221,227,217,.75)
}
.header-inner {
  height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px
}
.brand {
  display:inline-flex;
  gap:9px;
  align-items:center;
  font-size:29px;
  font-weight:650;
  letter-spacing:-1.5px
}
.brand-mark {
  width:31px;
  height:31px;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round
}
.brand-dot {
  color:var(--green)
}
.desktop-nav {
  display:flex;
  gap:38px;
  margin-left:auto;
  margin-right:34px;
  font-size:13px
}
.desktop-nav a,.footer-links a {
  transition:color .15s
}
.desktop-nav a:hover,.footer-links a:hover {
  color:#448168
}
.header-actions {
  display:flex;
  align-items:center;
  gap:20px
}
.language {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:500;
  border-left:1px solid var(--line);
  padding-left:27px;
  min-height:30px
}
.language span {
  font-size:19px
}
.mobile-menu {
  display:none
}
.hero {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:62px;
  align-items:center;
  padding-top:80px;
  padding-bottom:88px;
  min-height:660px
}
.eyebrow {
  font-size:10px;
  letter-spacing:2px;
  font-weight:600;
  line-height:1.6;
  display:flex;
  align-items:center;
  gap:9px
}
.eyebrow>span {
  height:6px;
  width:6px;
  border-radius:50%;
  background:#62926f
}
.hero h1 {
  font-size:53px;
  line-height:1.4;
  letter-spacing:-2.8px;
  margin-top:23px;
  font-weight:650
}
.hero h1 span {
  color:#39745e
}
.hero-description {
  font-size:15px;
  max-width:420px;
  color:var(--muted);
  margin-top:25px;
  line-height:1.95
}
.hero-actions {
  display:flex;
  gap:25px;
  align-items:center;
  margin-top:31px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  padding:16px 23px;
  min-height:54px;
  border-radius:6px;
  font-size:13px;
  font-weight:550
}
.primary {
  background:var(--ink);
  color:#fff;
  transition:background .2s,transform .2s
}
.primary:hover {
  background:#2a5f4e;
  transform:translateY(-2px)
}
.button span {
  font-size:21px;
  line-height:1
}
.quiet-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:12px;
  min-height:44px
}
.quiet-link:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
.hero-note {
  font-size:10px;
  color:#778478;
  margin-top:41px;
  letter-spacing:.3px;
  display:flex;
  gap:9px;
  align-items:center
}
.hero-note span {
  font-size:18px;
  color:#6a816d
}
.toolkit {
  position:relative;
  border:1px solid #d9e3d3;
  border-radius:22px;
  background:#f0f3e8;
  transform:rotate(-2deg);
  padding:23px 23px 0;
  box-shadow:0 16px 40px -30px #38583f44
}
.toolkit-heading {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  font-weight:550
}
.tiny-squares {
  font-size:18px
}
.toolkit-number {
  margin-left:auto;
  font-size:9px;
  letter-spacing:1px;
  color:#718069
}
.toolkit-stage {
  height:345px;
  position:relative;
  margin-top:4px
}
.orbit {
  position:absolute;
  border:1px solid #d6dfcb;
  border-radius:50%;
  height:280px;
  width:280px;
  top:29px;
  left:75px;
  transform:rotate(-20deg)
}
.orbit-two {
  height:220px;
  width:355px;
  top:65px;
  left:25px;
  transform:rotate(25deg)
}
.tool-tile {
  position:absolute;
  border-radius:15px;
  box-shadow:0 14px 26px -20px #294d3b70;
  border:1px solid #e4e6d9;
  background:#fffef7
}
.tool-tile>span {
  font-size:10px;
  font-weight:500;
  display:block
}
.tile-pdf {
  top:20px;
  left:17px;
  width:166px;
  height:215px;
  padding:19px;
  transform:rotate(-6deg)
}
.tile-pdf img {
  border-radius:13px;
  margin-bottom:11px;
  width:43px;
  height:43px
}
.mini-doc {
  height:90px;
  background:#f4e9ce;
  border-radius:5px;
  margin-top:13px;
  padding:13px;
  position:relative;
  overflow:hidden
}
.mini-doc div {
  width:26px;
  height:22px;
  background:#ddc498;
  border-radius:3px;
  margin-bottom:8px
}
.mini-doc i {
  display:block;
  height:3px;
  width:70px;
  background:#d1b784;
  margin:5px 0
}
.mini-doc i:nth-of-type(2) {
  width:50px
}
.mini-doc b {
  position:absolute;
  right:7px;
  bottom:9px;
  font-size:10px;
  background:#fffdf5;
  padding:4px 7px;
  border-radius:4px;
  color:#98794c
}
.tile-hours {
  top:145px;
  left:171px;
  z-index:4;
  width:218px;
  height:161px;
  padding:17px;
  background:#164f43;
  color:#f5ffe8;
  transform:rotate(5deg);
  border-color:#164f43
}
.tile-hours img {
  position:absolute;
  top:14px;
  right:16px;
  width:31px;
  height:31px;
  border-radius:8px
}
.tile-hours>span {
  padding-right:28px
}
.tile-hours>strong {
  display:block;
  font-size:22px;
  margin-top:23px;
  letter-spacing:-1px
}
.tile-hours small {
  font-size:14px;
  font-weight:400;
  padding:0 7px;
  color:#a8c0a9
}
.mini-bars {
  display:flex;
  gap:7px;
  align-items:end;
  height:36px;
  margin-top:9px
}
.mini-bars i {
  display:block;
  flex:1;
  height:50%;
  border-radius:2px 2px 0 0;
  background:#cae2a0
}
.mini-bars i:nth-child(2) {
  height:74%
}
.mini-bars i:nth-child(3) {
  height:60%
}
.mini-bars i:nth-child(4) {
  height:100%
}
.mini-bars i:nth-child(5) {
  height:85%
}
.mini-bars i:nth-child(6) {
  height:45%
}
.mini-bars i:nth-child(7) {
  height:30%;
  opacity:.45
}
.tile-wheel {
  top:13px;
  right:2px;
  width:149px;
  height:159px;
  text-align:center;
  padding:12px;
  transform:rotate(9deg)
}
.mini-wheel {
  width:94px;
  height:94px;
  border-radius:50%;
  background:conic-gradient(#e8b879 0 60deg,#cbdab1 60deg 120deg,#5a8771 120deg 180deg,#eddab2 180deg 240deg,#bed1c0 240deg 300deg,#628b78 300deg);
  display:grid;
  place-items:center;
  box-shadow:inset 0 0 0 5px #fffcf3,0 0 0 1px #e5e3d5
}
.mini-wheel span {
  border:3px solid #fffcf3;
  border-radius:50%;
  background:#224d3d;
  color:#fff;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  font-size:17px
}
.tile-wheel .mini-wheel {
  margin:0 auto 13px
}
.toolkit-plus {
  position:absolute;
  color:#a7b79e;
  font-size:22px;
  font-weight:300
}
.plus-one {
  top:49px;
  left:205px
}
.plus-two {
  bottom:33px;
  left:46px
}
.toolkit-spark {
  position:absolute;
  right:5px;
  bottom:19px;
  font-size:30px;
  color:#66896a
}
.toolkit-footer {
  border-top:1px solid #d6dfcb;
  height:53px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  color:#64745c;
  letter-spacing:.3px
}
.toolkit-footer>span:last-child {
  font-size:22px
}
.illustration-note {
  position:absolute;
  font-size:9px;
  bottom:-26px;
  right:12px;
  color:#7b8773;
  letter-spacing:.2px;
  transform:rotate(2deg)
}
.company-strip {
  border-block:1px solid var(--line)
}
.company-strip .shell {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  height:73px;
  font-size:12px;
  color:#708070
}
.company-strip span:first-child {
  font-size:9px;
  letter-spacing:2px
}
.company-strip .strip-star {
  font-size:26px;
  color:#7c9b6c
}
.products-section {
  padding-block:93px 91px
}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:50px;
  margin-bottom:36px
}
.section-heading h2 {
  margin-top:12px
}
.section-heading>p {
  max-width:335px;
  font-size:12px;
  color:var(--muted);
  line-height:1.9;
  padding-bottom:5px
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:23px
}
.product-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fffef9;
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s,transform .2s
}
.product-card:hover {
  box-shadow:0 18px 30px -25px #214d3f66;
  transform:translateY(-3px)
}
.product-art {
  height:207px;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid #e5e6db;
  background:#f0eadc
}
.art-index {
  position:absolute;
  top:18px;
  left:21px;
  font-size:8px;
  letter-spacing:1.3px;
  color:#8d7958;
  z-index:2
}
.paper {
  position:absolute;
  width:122px;
  height:145px;
  left:calc(50% - 61px);
  border-radius:7px;
  border:1px solid #d8c5a8;
  background:#faf7e9;
  top:53px
}
.paper-back {
  transform:rotate(-16deg) translateX(-22px);
  background:#e8d8b9
}
.paper-front {
  transform:rotate(9deg) translateX(13px);
  padding:20px;
  box-shadow:0 9px 30px -18px #644c30aa
}
.paper-front b {
  font-size:25px;
  color:#937443;
  font-weight:500
}
.paper-front span {
  display:block;
  height:4px;
  background:#ddcfaf;
  margin-top:9px;
  width:75px
}
.paper-front span:nth-of-type(2) {
  width:50px
}
.paper-front em {
  position:absolute;
  bottom:14px;
  right:17px;
  font-style:normal;
  font-size:25px;
  color:#a18858
}
.hours .product-art {
  background:#e1e9de
}
.hours .art-index {
  color:#627858
}
.hours-art {
  width:220px;
  position:absolute;
  top:53px;
  left:calc(50% - 110px);
  padding:17px 20px 22px;
  transform:rotate(-5deg);
  background:#215141;
  color:#edf7d6;
  border-radius:10px;
  box-shadow:0 14px 20px -15px #2a443b77
}
.hours-art>span {
  font-size:7px;
  letter-spacing:2px
}
.hours-art>strong {
  display:flex;
  gap:19px;
  font-size:27px;
  letter-spacing:-1px;
  margin-top:12px;
  align-items:center;
  font-weight:500
}
.hours-art strong span {
  font-size:15px;
  color:#91ac8f
}
.hours-art .mini-bars {
  height:36px;
  gap:9px;
  margin-top:12px
}
.wheel .product-art {
  background:#ecebe1
}
.wheel .art-index {
  color:#737c65
}
.wheel-art {
  position:absolute;
  top:53px;
  left:calc(50% - 70px);
  transform:rotate(-12deg)
}
.wheel-art .mini-wheel {
  width:140px;
  height:140px;
  box-shadow:inset 0 0 0 8px #fffef4,0 8px 22px -8px #697e5977
}
.wheel-art .mini-wheel span {
  width:39px;
  height:39px;
  font-size:23px
}
.wheel-art>i {
  position:absolute;
  top:-4px;
  left:59px;
  border:10px solid transparent;
  border-top:20px solid #264f3d
}
.product-body {
  padding:25px 24px 24px;
  display:flex;
  flex-direction:column;
  flex:1
}
.product-name {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:22px
}
.product-name img {
  border-radius:11px;
  border:1px solid #e8eadf
}
.product-name span {
  font-size:9px;
  color:#7b8779;
  letter-spacing:1px;
  display:block;
  margin-bottom:4px
}
.product-name h3 {
  font-size:17px;
  letter-spacing:-.5px
}
.product-body h4 {
  font-size:14px;
  line-height:1.8;
  letter-spacing:-.1px;
  margin-bottom:9px
}
.product-body>p {
  font-size:12px;
  color:var(--muted);
  line-height:1.9
}
.tags {
  display:flex;
  gap:6px;
  margin-top:19px;
  flex-wrap:wrap
}
.tags span {
  font-size:9px;
  border:1px solid #e4e8db;
  border-radius:4px;
  padding:4px 7px;
  color:#718068;
  background:#f8f9f2
}
.text-link {
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:550;
  min-height:44px
}
.product-body>.text-link {
  margin-top:23px;
  border-top:1px solid #eaecdf;
  padding-top:16px;
  justify-content:space-between
}
.text-link:hover {
  color:#418567
}
.text-link>span[aria-hidden] {
  font-size:20px
}
.section-note {
  font-size:10px;
  color:#788475;
  margin-top:20px;
  display:flex;
  justify-content:space-between;
  gap:20px
}
.about-section {
  background:#153f36;
  color:#f5f7e9;
  padding-block:86px 66px
}
.about-main {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px
}
.about-section .eyebrow {
  color:#b8cea5
}
.about-main h2 {
  font-size:40px;
  line-height:1.5;
  margin-top:24px;
  letter-spacing:-1.8px
}
.about-copy>p {
  font-size:14px;
  color:#ccdbcf;
  line-height:2
}
.about-copy dl {
  margin-top:28px;
  margin-bottom:0;
  font-size:11px
}
.about-copy dl>div {
  border-top:1px solid #ffffff20;
  padding:14px 0;
  display:grid;
  grid-template-columns:100px 1fr;
  gap:10px
}
.about-copy dt {
  color:#97b5a4
}
.about-copy dd {
  margin:0
}
.values {
  border-top:1px solid #ffffff20;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px;
  padding-top:40px;
  margin-top:50px
}
.values>div>span {
  font-size:10px;
  color:#a9c484;
  letter-spacing:1px
}
.values h3 {
  font-size:15px;
  margin-top:14px;
  margin-bottom:9px
}
.values p {
  font-size:11px;
  color:#abc3b3;
  line-height:1.9
}
.support-section {
  padding-block:91px 85px
}
.support-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.support-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px 32px;
  background:#f6f7ee;
  position:relative
}
.support-icon {
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  border:1px solid #c9d5be;
  background:#eef3e3;
  border-radius:10px;
  font-size:22px;
  margin-bottom:21px
}
.support-card h3 {
  font-size:19px;
  margin-bottom:15px
}
.support-card p {
  font-size:12px;
  color:var(--muted);
  max-width:440px;
  line-height:1.95
}
.support-card>.text-link {
  margin-top:19px
}
.contact-card {
  background:#f0f3e6
}
.contact-label {
  font-size:10px;
  color:#75806f;
  margin:17px 0 9px
}
.pending {
  display:inline-block;
  font-size:12px;
  border:1px dashed #adb99b;
  border-radius:5px;
  color:#63734e;
  padding:6px 10px;
  background:#f8f9ef;
  margin-bottom:14px
}
.contact-email {
  display:block;
  font-size:18px;
  margin-bottom:15px;
  overflow-wrap:anywhere
}
.faq {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:60px;
  margin-top:60px
}
.faq>h3 {
  font-size:19px;
  padding-top:16px
}
.faq details {
  border-bottom:1px solid var(--line)
}
.faq details:first-child {
  border-top:1px solid var(--line)
}
.faq summary {
  list-style:none;
  padding:22px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  cursor:pointer;
  font-size:12px;
  font-weight:500
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary span {
  font-size:23px;
  font-weight:300;
  color:#6f8067;
  line-height:1
}
.faq details[open] summary span {
  transform:rotate(45deg)
}
.faq details>p {
  font-size:12px;
  color:var(--muted);
  padding:0 35px 23px 0;
  line-height:1.9
}
footer {
  border-top:1px solid var(--line);
  padding-top:44px;
  background:#f1f3e9
}
.footer-top {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding-bottom:35px
}
.footer-brand {
  font-size:25px
}
.footer-brand .brand-mark {
  width:27px;
  height:27px
}
.footer-top p {
  font-size:11px;
  color:#778270;
  margin-top:10px
}
.footer-links {
  display:flex;
  gap:26px;
  font-size:11px
}
.footer-bottom {
  border-top:1px solid #dce2d3;
  padding-block:22px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  color:#7d8776
}
.privacy-main {
  padding-block:48px 90px
}
.privacy-article {
  max-width:760px;
  margin:34px auto 0
}
.privacy-article h1 {
  font-size:44px;
  letter-spacing:-1.5px;
  margin-top:18px
}
.privacy-intro {
  margin-top:20px;
  color:#61735f;
  font-size:16px;
  line-height:1.8
}
.updated {
  font-size:11px;
  color:#7d8975;
  margin:18px 0 48px
}
.privacy-article section {
  border-top:1px solid var(--line);
  padding:27px 0 31px
}
.privacy-article section h2 {
  font-size:19px;
  letter-spacing:-.5px;
  display:flex;
  gap:18px;
  align-items:center
}
.privacy-article section h2>span {
  font-size:10px;
  color:#8a9e7a;
  letter-spacing:1px
}
.privacy-article section p {
  font-size:14px;
  color:var(--muted);
  line-height:2;
  margin-top:15px
}
html[lang=en] .hero h1 {
  font-size:53px;
  line-height:1.2;
  letter-spacing:-2.6px
}
html[lang=en] .hero-description {
  font-size:15px
}
html[lang=en] h2 {
  line-height:1.2;
  letter-spacing:-1px
}
html[lang=en] .product-body h4 {
  line-height:1.5;
  font-size:17px;
  min-height:52px
}
html[lang=en] .product-body>p {
  min-height:70px
}
html[lang=en] .product-name h3 {
  font-size:16px
}
html[lang=en] .section-heading>p {
  font-size:13px
}
html[lang=en] .about-main h2 {
  line-height:1.25
}
html[lang=en] .about-copy dl>div {
  grid-template-columns:125px 1fr
}
html[lang=en] .support-card p {
  font-size:13px
}
html[lang=en] .preview-tag {
  font-size:8px
}
@media(min-width:1450px) {
  .hero {
    gap:88px
  }
  .hero h1 {
    font-size:57px
  }
  .toolkit-stage {
    height:365px
  }
  .tile-pdf {
    left:26px
  }
  .tile-hours {
    left:184px;
    top:158px
  }
  .tile-wheel {
    right:12px;
    top:26px
  }
}
@media(max-width:1100px) {
  .shell {
    width:calc(100% - 64px)
  }
  .hero {
    gap:32px;
    padding-top:64px;
    padding-bottom:74px;
    min-height:610px
  }
  .hero h1 {
    font-size:44px;
    letter-spacing:-2px
  }
  .hero-description {
    font-size:14px
  }
  .toolkit {
    padding:20px 16px 0
  }
  .toolkit-stage {
    height:320px
  }
  .tile-pdf {
    width:143px;
    height:205px;
    left:0;
    padding:15px
  }
  .tile-hours {
    width:190px;
    left:auto;
    right:4px;
    top:149px
  }
  .tile-hours>strong {
    font-size:19px
  }
  .tile-wheel {
    width:128px;
    right:-2px;
    height:151px
  }
  .orbit {
    left:10px
  }
  .orbit-two {
    width:280px;
    left:5px
  }
  .toolkit-plus.plus-one {
    left:155px
  }
  .product-grid {
    gap:16px
  }
  .product-body {
    padding:22px 20px
  }
  .product-name h3 {
    font-size:15px
  }
  .product-name {
    gap:9px
  }
  .product-name img {
    width:40px;
    height:40px
  }
  .about-main {
    gap:65px
  }
  .footer-links {
    gap:20px
  }
  html[lang=en] .hero h1 {
    font-size:43px
  }
  html[lang=en] .hero-actions {
    gap:18px
  }
  html[lang=en] .button {
    gap:18px
  }
  html[lang=en] .product-name h3 {
    font-size:14px
  }
}
@media(max-width:800px) {
  .shell {
    width:calc(100% - 44px)
  }
  .header-inner {
    height:72px;
    gap:18px
  }
  .desktop-nav {
    gap:20px;
    margin-right:0
  }
  .brand {
    font-size:26px
  }
  .brand-mark {
    width:27px
  }
  .language {
    padding-left:16px
  }
  .hero {
    gap:34px;
    grid-template-columns:1fr;
    padding-block:54px 66px
  }
  .hero-copy {
    max-width:620px
  }
  .hero h1 {
    font-size:48px
  }
  .hero-description {
    max-width:520px
  }
  .hero-note {
    margin-top:27px
  }
  .toolkit {
    width:440px;
    max-width:100%;
    justify-self:center;
    margin-top:8px
  }
  .toolkit-stage {
    height:320px
  }
  .tile-pdf {
    left:21px;
    top:18px
  }
  .tile-hours {
    right:23px
  }
  .tile-wheel {
    right:8px
  }
  .orbit {
    left:60px
  }
  .orbit-two {
    left:40px
  }
  .toolkit-plus.plus-one {
    left:200px
  }
  .company-strip .shell {
    height:63px;
    font-size:11px
  }
  .company-strip span:first-child {
    letter-spacing:1px;
    font-size:8px
  }
  .section-heading {
    gap:25px;
    align-items:start;
    flex-direction:column
  }
  .section-heading>p {
    max-width:510px
  }
  .section-heading h2 {
    font-size:30px
  }
  .products-section {
    padding-block:65px
  }
  .product-grid {
    gap:18px;
    grid-template-columns:1fr
  }
  .product-card {
    display:grid;
    grid-template-columns:.9fr 1.3fr
  }
  .product-art {
    height:auto;
    border-bottom:0;
    border-right:1px solid #e5e6db;
    min-height:290px
  }
  .art-index {
    font-size:8px;
    left:18px
  }
  .paper {
    top:100px
  }
  .hours-art {
    top:110px;
    width:190px;
    left:calc(50% - 95px)
  }
  .hours-art>strong {
    font-size:23px;
    gap:14px
  }
  .wheel-art {
    top:95px
  }
  .product-name {
    margin-bottom:18px
  }
  .product-body>.text-link {
    margin-top:18px
  }
  .product-body>p {
    min-height:0
  }
  .product-body h4 {
    font-size:14px
  }
  .section-note {
    flex-direction:column;
    gap:3px
  }
  .about-section {
    padding-block:64px 49px
  }
  .about-main {
    gap:38px;
    grid-template-columns:1fr
  }
  .about-main h2 {
    font-size:35px;
    margin-top:18px
  }
  .about-copy>p {
    max-width:600px
  }
  .values {
    gap:27px;
    margin-top:32px;
    padding-top:30px
  }
  .support-section {
    padding-block:65px
  }
  .support-grid {
    gap:18px
  }
  .support-card {
    padding:25px 23px
  }
  .faq {
    gap:35px;
    grid-template-columns:1fr 2fr;
    margin-top:42px
  }
  .footer-top {
    align-items:start
  }
  .footer-links {
    max-width:300px;
    flex-wrap:wrap;
    gap:16px 22px
  }
  html[lang=en] .hero h1 {
    font-size:49px
  }
  html[lang=en] .product-body h4 {
    font-size:17px;
    min-height:0
  }
  html[lang=en] .product-body>p {
    min-height:0
  }
}
@media(max-width:540px) {
  html {
    scroll-padding-top:84px
  }
  .shell {
    width:calc(100% - 40px)
  }
  .preview-bar .shell {
    min-height:39px;
    gap:8px;
    font-size:9px;
    line-height:1.5;
    padding-block:6px
  }
  .preview-tag {
    font-size:8px;
    letter-spacing:0;
    padding:2px 5px
  }
  .header-inner {
    height:69px
  }
  .desktop-nav {
    display:none
  }
  .brand {
    font-size:25px;
    gap:7px
  }
  .brand-mark {
    width:27px;
    height:27px
  }
  .header-actions {
    gap:19px
  }
  .language {
    border:0;
    padding-left:0;
    font-size:11px;
    gap:5px
  }
  .mobile-menu {
    display:block
  }
  .mobile-menu summary {
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:13px 2px;
    cursor:pointer;
    width:26px;
    min-height:44px;
    justify-content:center
  }
  .mobile-menu summary::-webkit-details-marker {
    display:none
  }
  .mobile-menu summary span {
    display:block;
    height:1.5px;
    width:23px;
    background:var(--ink)
  }
  .mobile-menu nav {
    position:absolute;
    top:68px;
    right:0;
    left:0;
    background:var(--paper);
    padding:12px 20px 20px;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 16px -18px #183d35
  }
  .mobile-menu nav a {
    display:block;
    padding:14px;
    font-size:14px;
    border-bottom:1px solid #e6e9df
  }
  .hero {
    padding-block:44px 58px;
    gap:31px
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:1.6px
  }
  .hero h1 {
    font-size:38px;
    line-height:1.5;
    margin-top:18px;
    letter-spacing:-1.9px
  }
  .hero-description {
    font-size:13px;
    line-height:2;
    margin-top:19px;
    max-width:360px
  }
  .hero-actions {
    gap:20px;
    margin-top:25px
  }
  .button {
    padding:14px 18px;
    gap:24px;
    font-size:12px;
    min-height:50px
  }
  .quiet-link {
    font-size:11px;
    gap:9px
  }
  .hero-note {
    font-size:9px;
    margin-top:24px;
    letter-spacing:0
  }
  .toolkit {
    margin-top:6px;
    border-radius:17px;
    padding:16px 14px 0;
    width:340px;
    transform:rotate(-1.5deg)
  }
  .toolkit-heading {
    font-size:10px
  }
  .toolkit-number {
    font-size:8px
  }
  .toolkit-stage {
    height:280px
  }
  .toolkit-footer {
    height:45px;
    font-size:10px
  }
  .tile-pdf {
    top:20px;
    left:3px;
    width:132px;
    height:182px;
    padding:13px
  }
  .tile-pdf img {
    width:36px;
    height:36px;
    margin-bottom:9px
  }
  .tool-tile>span {
    font-size:9px
  }
  .mini-doc {
    height:76px;
    padding:9px;
    margin-top:11px
  }
  .mini-doc i {
    width:57px
  }
  .mini-doc div {
    height:17px
  }
  .mini-doc b {
    font-size:8px;
    right:6px;
    bottom:7px
  }
  .tile-hours {
    width:177px;
    right:1px;
    top:137px;
    height:137px;
    padding:14px
  }
  .tile-hours img {
    width:27px;
    height:27px;
    top:12px;
    right:12px
  }
  .tile-hours>strong {
    font-size:18px;
    margin-top:21px
  }
  .tile-hours .mini-bars {
    height:27px
  }
  .tile-wheel {
    width:117px;
    height:131px;
    right:0;
    top:10px;
    padding:9px
  }
  .tile-wheel .mini-wheel {
    width:79px;
    height:79px;
    margin-bottom:10px
  }
  .orbit {
    width:230px;
    height:230px;
    left:20px;
    top:30px
  }
  .orbit-two {
    width:270px;
    height:170px;
    left:7px;
    top:64px
  }
  .toolkit-plus.plus-one {
    left:144px;
    font-size:18px;
    top:37px
  }
  .plus-two {
    left:24px;
    bottom:25px
  }
  .toolkit-spark {
    font-size:23px;
    bottom:5px;
    right:0
  }
  .illustration-note {
    font-size:8px;
    bottom:-22px
  }
  .company-strip .shell {
    height:61px;
    gap:8px;
    flex-wrap:wrap;
    align-content:center;
    justify-content:start;
    position:relative;
    padding-right:20px
  }
  .company-strip span:first-child {
    width:100%;
    font-size:7px;
    line-height:1.5;
    letter-spacing:1px
  }
  .company-strip span:nth-child(2) {
    font-size:10px
  }
  .company-strip .strip-star {
    position:absolute;
    right:0;
    font-size:22px
  }
  .products-section {
    padding-block:53px 48px
  }
  .section-heading {
    gap:14px;
    margin-bottom:25px
  }
  .section-heading h2 {
    font-size:25px;
    letter-spacing:-1px;
    margin-top:11px;
    line-height:1.6
  }
  .section-heading>p {
    font-size:12px;
    line-height:1.95
  }
  .product-grid {
    gap:23px
  }
  .product-card {
    display:flex;
    border-radius:17px
  }
  .product-art {
    height:191px;
    min-height:191px;
    border-right:0;
    border-bottom:1px solid #e5e6db
  }
  .art-index {
    top:16px;
    left:20px
  }
  .paper {
    top:46px
  }
  .hours-art {
    top:44px;
    width:218px;
    left:calc(50% - 109px)
  }
  .hours-art>strong {
    font-size:27px;
    gap:18px
  }
  .wheel-art {
    top:42px
  }
  .product-body {
    padding:22px
  }
  .product-name {
    margin-bottom:21px
  }
  .product-name h3 {
    font-size:17px
  }
  .product-name img {
    width:44px;
    height:44px
  }
  .product-body h4 {
    font-size:14px;
    margin-bottom:8px
  }
  .product-body>p {
    font-size:12px;
    line-height:2
  }
  .tags {
    margin-top:16px
  }
  .product-body>.text-link {
    margin-top:20px;
    padding-top:14px
  }
  .section-note {
    font-size:9px;
    margin-top:18px
  }
  .about-section {
    padding-block:49px 40px
  }
  .about-main {
    gap:28px
  }
  .about-main h2 {
    font-size:32px;
    line-height:1.6;
    letter-spacing:-1.2px;
    margin-top:18px
  }
  .about-copy>p {
    font-size:13px;
    line-height:2.1
  }
  .about-copy dl {
    font-size:10px;
    margin-top:25px
  }
  .about-copy dl>div {
    grid-template-columns:75px 1fr;
    padding:13px 0;
    gap:10px
  }
  .values {
    grid-template-columns:1fr;
    gap:25px;
    padding-top:28px;
    margin-top:31px
  }
  .values>div {
    display:grid;
    grid-template-columns:30px 1fr;
    gap:0 10px
  }
  .values>div>span {
    padding-top:4px
  }
  .values h3 {
    margin:0 0 7px;
    font-size:14px
  }
  .values p {
    grid-column:2;
    font-size:11px;
    max-width:290px
  }
  .support-section {
    padding-block:51px 44px
  }
  .support-grid {
    grid-template-columns:1fr;
    gap:16px
  }
  .support-card {
    border-radius:17px;
    padding:26px
  }
  .support-icon {
    margin-bottom:18px
  }
  .support-card h3 {
    font-size:18px
  }
  .support-card p {
    font-size:12px
  }
  .faq {
    grid-template-columns:1fr;
    gap:20px;
    margin-top:39px
  }
  .faq>h3 {
    font-size:18px;
    padding-top:0
  }
  .faq summary {
    font-size:12px;
    padding-block:19px;
    gap:12px;
    line-height:1.7
  }
  .faq details>p {
    font-size:12px;
    padding-right:15px
  }
  footer {
    padding-top:32px
  }
  .footer-top {
    display:block;
    padding-bottom:29px
  }
  .footer-top p {
    font-size:10px;
    margin-top:8px
  }
  .footer-brand {
    font-size:24px
  }
  .footer-links {
    margin-top:27px;
    max-width:none;
    gap:16px 24px;
    font-size:10px
  }
  .footer-bottom {
    font-size:8px;
    padding-block:19px;
    display:block;
    line-height:1.8
  }
  .footer-bottom>span {
    display:block
  }
  .privacy-main {
    padding-block:28px 45px
  }
  .privacy-article {
    margin-top:25px
  }
  .privacy-article h1 {
    font-size:32px;
    letter-spacing:-1px;
    line-height:1.3
  }
  .privacy-intro {
    font-size:14px;
    margin-top:17px
  }
  .updated {
    margin-bottom:29px;
    font-size:10px;
    line-height:1.8
  }
  .privacy-article section {
    padding-block:24px
  }
  .privacy-article section h2 {
    font-size:17px;
    gap:12px;
    line-height:1.6
  }
  .privacy-article section p {
    font-size:13px;
    line-height:2
  }
  html[lang=en] .hero h1 {
    font-size:39px;
    line-height:1.18;
    letter-spacing:-1.8px
  }
  html[lang=en] .hero-description {
    font-size:14px;
    line-height:1.85
  }
  html[lang=en] .hero-actions {
    gap:17px
  }
  html[lang=en] .button {
    font-size:11px;
    gap:17px;
    padding:14px 16px
  }
  html[lang=en] .hero-note {
    font-size:8px
  }
  html[lang=en] .section-heading h2 {
    font-size:30px;
    line-height:1.25
  }
  html[lang=en] .product-name h3 {
    font-size:17px
  }
  html[lang=en] .about-main h2 {
    font-size:34px
  }
  html[lang=en] .about-copy dl>div {
    grid-template-columns:105px 1fr
  }
  html[lang=en] .preview-tag {
    font-size:6px;
    letter-spacing:.4px
  }
  html[lang=en] .preview-bar .shell {
    font-size:8px
  }
  html[lang=en] .values p {
    font-size:12px
  }
  html[lang=en] .support-card p {
    font-size:13px
  }
  html[lang=en] .privacy-article h1 {
    font-size:34px
  }
}
@media(max-width:360px) {
  .shell {
    width:calc(100% - 32px)
  }
  .hero h1 {
    font-size:34px
  }
  .hero-actions {
    gap:14px
  }
  .button {
    gap:17px
  }
  .toolkit {
    width:290px;
    padding-inline:11px
  }
  .toolkit-stage {
    height:264px
  }
  .tile-pdf {
    width:120px;
    left:0;
    padding:11px;
    height:177px
  }
  .tile-hours {
    width:162px;
    right:-1px;
    top:133px;
    height:127px;
    padding:12px
  }
  .tile-hours>strong {
    font-size:17px
  }
  .tile-hours small {
    padding-inline:4px
  }
  .tile-wheel {
    width:106px;
    right:0;
    height:126px
  }
  .tile-wheel .mini-wheel {
    width:73px;
    height:73px
  }
  .orbit {
    left:8px;
    width:218px;
    height:218px
  }
  .orbit-two {
    width:246px;
    left:0
  }
  .toolkit-plus.plus-one {
    left:128px
  }
  .hero-note {
    font-size:8px
  }
  html[lang=en] .hero h1 {
    font-size:35px
  }
  html[lang=en] .hero-actions {
    gap:12px
  }
  html[lang=en] .button {
    gap:10px;
    padding-inline:13px
  }
  html[lang=en] .hero-note {
    font-size:7px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}
@media print {
  .preview-bar,.site-header,.hero-actions,.mobile-menu,.footer-links,.toolkit {
    display:none
  }
  .shell {
    width:100%
  }
  .hero {
    min-height:0;
    padding:30px 0;
    display:block
  }
  .hero h1 {
    font-size:32px
  }
  .product-grid {
    display:block
  }
  .product-card {
    break-inside:avoid;
    margin:20px 0
  }
  .product-art {
    display:none
  }
  .about-section {
    color:#183d35;
    background:white
  }
  .about-copy>p,.values p {
    color:#63716c
  }
  .support-section,.products-section {
    padding-block:30px
  }
  .about-section {
    padding-block:30px
  }
  .faq details>p {
    display:block
  }
  .footer-bottom {
    color:#63716c
  }
}
/* Keep product actions aligned across the desktop grid. */
@media(min-width:801px) {
  .product-body .tags {
    margin-bottom:23px
  }
  .product-body>.text-link {
    margin-top:auto
  }
}
/* Allow the illustrated toolkit to shrink on 320px screens. */
.hero-copy,.toolkit {
  min-width:0
}
.toolkit-stage {
  overflow:hidden
}
@media(max-width:800px) {
  .hero {
    grid-template-columns:minmax(0,1fr)
  }
}
/* Overseas product collection */
.product-name h3 { font-size:16px; line-height:1.45; }
.product-name { min-height:66px; align-items:flex-start; }
.product-name img { flex-shrink:0; }
.product-name span { letter-spacing:.2px; }
.estimate .product-art { background:#eee8d7; }
.estimate .paper-front b { font-size:12px; letter-spacing:1px; }
.shift .product-art { background:#dfe8dc; }
.rowfolio .product-art { background:#ede5dc; }
.calendar-art { position:absolute; top:51px; left:calc(50% - 100px); width:200px; padding:19px; background:#1f5144; color:#edf7dc; border-radius:11px; transform:rotate(-5deg); }
.calendar-art>span,.craft-art>span { font-size:8px; letter-spacing:1.7px; }
.calendar-dots { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:16px 0 13px; }
.calendar-dots i { font-style:normal; font-size:10px; text-align:center; }
.calendar-dots i:nth-child(n+6) { padding:7px 0; border-radius:4px; background:#b8d59c; color:#214f3c; }
.calendar-dots i:nth-child(7),.calendar-dots i:nth-child(9) { background:#ffffff19; color:#d5e8c7; }
.calendar-art>b { font-size:8px; font-weight:400; }
.craft-art { position:absolute; top:48px; left:calc(50% - 95px); width:190px; padding:18px 20px; background:#fcf7ed; border:1px solid #d7cdbb; color:#667a56; border-radius:12px; transform:rotate(5deg); }
.craft-art>strong { font-size:64px; font-weight:450; letter-spacing:-4px; line-height:1.2; display:block; }
.craft-art strong span { font-size:26px; padding-left:43px; vertical-align:middle; }
.yarn-lines { font-size:31px; letter-spacing:5px; line-height:.7; color:#b2b786; padding-block:10px; }
.publisher-note { font-size:11px; line-height:1.9; color:#667561; border-left:2px solid #bbcea4; padding:3px 15px; margin-top:28px; max-width:950px; }
.product-resources { display:flex; gap:18px; border-top:1px solid #eaecdf; margin-top:10px; padding-top:7px; }
.product-resources .text-link { font-size:10px; gap:7px; font-weight:400; }
.product-resources .text-link>span[aria-hidden] { font-size:14px; }
.more-products { border-top:1px solid var(--line); margin-top:34px; padding-top:12px; }
.more-products>summary { cursor:pointer; list-style:none; padding:18px 0; font-size:14px; display:flex; align-items:center; justify-content:space-between; }
.more-products>summary::-webkit-details-marker { display:none; }
.more-products>summary>span { font-size:22px; font-weight:300; }
.more-products[open]>summary>span { transform:rotate(45deg); }
.more-products>p { color:var(--muted); font-size:12px; margin:0 0 20px; }
.domestic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.domestic-grid article { border:1px solid var(--line); border-radius:12px; padding:22px; }
.domestic-grid img { border-radius:10px; margin-bottom:15px; }
.domestic-grid h3 { font-size:15px; }
.domestic-grid p { font-size:12px; color:var(--muted); margin-top:12px; }
.hero-tool { padding:18px; }
.hero-tool img { width:44px; height:44px; border-radius:11px; margin-bottom:12px; }
.hero-tool>span { font-size:10px; line-height:1.5; }
.tool-detail { font-size:15px; margin-top:22px; padding-top:14px; border-top:1px solid #d9dfcd; letter-spacing:-.5px; }
.hero-tool-0 { top:23px; left:5px; width:175px; height:202px; transform:rotate(-7deg); }
.hero-tool-1 { top:151px; left:171px; width:225px; height:161px; z-index:3; transform:rotate(5deg); background:#194e41; color:#eff8de; border-color:#194e41; }
.hero-tool-1 img { float:right; margin:0 0 10px 8px; width:35px; height:35px; }
.hero-tool-1 .tool-detail { clear:both; font-size:15px; border-color:#ffffff30; color:#d6ecb3; margin-top:27px; }
.hero-tool-2 { top:9px; right:5px; width:151px; height:157px; transform:rotate(8deg); }
.hero-tool-2 .tool-detail { font-size:24px; padding-top:7px; margin-top:8px; }
.hero-tool-2 small { font-size:10px; letter-spacing:0; }
.support-page-heading { margin-bottom:40px; max-width:700px; }
.support-page-heading h1 { font-size:42px; line-height:1.25; letter-spacing:-1.6px; margin-top:18px; }
.support-page-heading>p:last-child { color:var(--muted); font-size:15px; margin-top:20px; }
.support-product-list { margin-top:44px; }
.support-product-list article { display:flex; align-items:center; gap:19px; padding:25px 0; border-bottom:1px solid var(--line); }
.support-product-list img { border-radius:12px; }
.support-product-list h2 { font-size:19px; letter-spacing:-.5px; }
.support-product-list p { font-size:11px; color:var(--muted); margin-top:5px; }
.support-product-links { margin-left:auto; display:flex; gap:25px; }
.support-product-links .text-link { font-size:11px; gap:7px; }
.company-info { margin-top:42px; border:1px solid var(--line); border-radius:14px; padding:26px; }
.company-info h2 { font-size:20px; }
.company-info p { font-size:12px; color:var(--muted); margin-top:10px; }
@media(min-width:801px) { .product-body>p { min-height:92px; } .product-body h4 { min-height:54px; } .product-body .tags { margin-bottom:23px; } .product-body>.text-link { margin-top:auto; } }
@media(max-width:1100px) { .hero-tool-0 { width:150px; left:0; } .hero-tool-1 { left:auto; right:0; width:190px; } .hero-tool-2 { right:0; width:133px; } .hero-tool>span { font-size:9px; } .hero-tool { padding:14px; } .support-product-links { gap:14px; } }
@media(max-width:800px) { .hero-tool-0 { left:17px; } .hero-tool-1 { right:20px; } .hero-tool-2 { right:8px; } .support-product-list article { flex-wrap:wrap; } .support-product-links { width:100%; margin-left:71px; } .domestic-grid { grid-template-columns:1fr; } }
@media(max-width:540px) { .product-name h3,html[lang=en] .product-name h3 { font-size:17px; } .product-name { min-height:0; } .hero-tool-0 { left:0; top:20px; width:132px; height:183px; } .hero-tool-1 { right:0; top:139px; width:175px; height:138px; } .hero-tool-2 { right:0; width:120px; height:137px; } .hero-tool { padding:13px; } .hero-tool img { width:34px; height:34px; margin-bottom:9px; } .hero-tool-1 img { width:29px; height:29px; } .hero-tool>span { font-size:8px; } .tool-detail { font-size:12px; margin-top:18px; } .hero-tool-1 .tool-detail { font-size:11px; margin-top:24px; padding-top:13px; } .hero-tool-2 .tool-detail { font-size:21px; margin-top:5px; } .publisher-note { font-size:10px; padding-left:12px; } .support-page-heading h1 { font-size:33px; } .support-product-links { margin-left:0; gap:19px; flex-wrap:wrap; } .support-product-list h2 { font-size:16px; } .support-product-list article>div:nth-child(2) { width:calc(100% - 73px); } .support-product-list img { flex-shrink:0; } .support-card { padding:24px; } .contact-email { font-size:16px; } }
@media(max-width:360px) { .hero-tool-0 { width:119px; } .hero-tool-1 { width:161px; top:132px; height:129px; } .hero-tool-2 { width:107px; height:128px; } .hero-tool-1 .tool-detail { font-size:10px; } }
