/* Mason homepage 2026 (prototype v0.37.2) — generated by ux/homepage-2026-prototype-v037/wp-build/build_css.py.
   Do not edit by hand: edit the prototype CSS and rebuild. Loaded only where a Mason homepage element is used. */

/* Neutralise Flatsome/child-theme element defaults inside the Mason wrapper (same starting point as the prototype). */
.ms-hp { display: block; color: #212121; background: #f5f5f7; font-family: "Raleway", Arial, sans-serif; line-height: 1.5; text-align: start; }
.ms-hp h1, .ms-hp h2, .ms-hp h3, .ms-hp h4 { color: inherit; width: auto; margin: 0 0 .5em; text-transform: none; letter-spacing: normal; }
.ms-hp p { margin: 0 0 1em; }
.ms-hp a, .ms-hp a:where(:hover, :focus, :active) { color: inherit; text-decoration: underline; }  /* :where keeps hover weight low, so .ms-button keeps its white text */
.ms-hp ul, .ms-hp ol { margin: 0; padding: 0; }
.ms-hp li { margin: 0; }
.ms-hp figure, .ms-hp blockquote { margin: 0; padding: 0; border: 0; font-size: inherit; font-style: normal; }
.ms-hp blockquote { position: static; }
.ms-hp blockquote::before, .ms-hp blockquote::after { content: none; }
.ms-hp address { margin: 0; font-style: normal; }
.ms-hp img { vertical-align: baseline; }
/* Buttons start from the browser defaults the prototype was designed on (Flatsome styles every <button>). */
.ms-hp button { margin: 0; min-height: 0; padding: 1px 6px; border: 0; border-radius: 0; background: none; color: inherit; font: 400 13.3333px Arial; line-height: normal; letter-spacing: normal; text-transform: none; text-shadow: none; box-shadow: none; position: static; opacity: 1; vertical-align: baseline; }
/* ms-icons.css gives every class starting with "ms-icon-" its icon font (!important); these are SVG buttons. */
.ms-hp .ms-icon-button { font-family: Arial !important; }
.ms-hp label { display: block; margin: 0; color: inherit; font-size: inherit; font-weight: inherit; }
.ms-hp input[type=number] { height: auto; margin: 0; box-shadow: none; font: inherit; }
.ms-hp .section { display: block; position: static; align-items: normal; flex-flow: initial; min-height: 0; padding-left: 0; padding-right: 0; }
.ms-hp details > summary::-webkit-details-marker { display: none; }

/* --- hero-variants.css --- */
html:not(.ms-hp-off) .ms-hp .hero { padding-block:24px; gap:48px; min-height:490px; }
html:not(.ms-hp-off) .ms-hp .hero-copy { padding-right:0; }
html:not(.ms-hp-off) .ms-hp .hero-image { min-height:450px; background:#eeeae5; }
html:not(.ms-hp-off) .ms-hp .hero-image img { object-fit:cover; object-position:85% center; }
@media(max-width:980px) and (min-width:761px) {
  html:not(.ms-hp-off) .ms-hp .hero { gap:24px; }
}
@media(max-width:760px) {
  html:not(.ms-hp-off) .ms-hp .hero .actions { flex-wrap:wrap; gap:14px; }
  html:not(.ms-hp-off) .ms-hp .hero-copy h1 { font-size:32px; line-height:1.12; }
  html:not(.ms-hp-off) .ms-hp .hero-copy > p { font-size:15px; line-height:1.5; }
  html:not(.ms-hp-off) .ms-hp .hero { padding:0; gap:0; min-height:0; }
  html:not(.ms-hp-off) .ms-hp .hero-copy { padding:26px 20px 22px; }
  html:not(.ms-hp-off) .ms-hp .hero-image { height:290px; min-height:0; order:0; margin:0 16px 16px; border-radius:8px; }
  html:not(.ms-hp-off) .ms-hp .hero-image img { object-position:100% center; }
}
html:not(.ms-hp-off) .ms-hp .hero-image { background:transparent; }
html:not(.ms-hp-off) .ms-hp .hero-image img { object-fit:cover; object-position:85% center; }
@media(max-width:760px) {
  html:not(.ms-hp-off) .ms-hp .hero-image { order:-1; }
  html:not(.ms-hp-off) .ms-hp .hero-image img { object-position:100% center; }
}
@media(min-width:761px) {
  html:not(.ms-hp-off) .ms-hp .hero { padding-top:var(--ms-space-48); }
}

/* --- sections.css --- */
html .ms-hp .press .shell { min-height:88px; gap:36px; padding-block:16px; }
html .ms-hp .logo-list { overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; justify-content:flex-start; gap:var(--ms-space-24); padding:var(--ms-space-4); scrollbar-width:none; overscroll-behavior-x:contain; scroll-snap-type:x proximity; }
html .ms-hp .press-logo { opacity:1; width:110px; height:34px; flex:0 0 110px; }
html .ms-hp .section { padding-block:64px; }
html .ms-hp .section-head h2 { font-size:clamp(28px,3vw,38px); font-weight:500; letter-spacing:-.035em; line-height:1.15; }
html .ms-hp .paths { background:#f5f5f7; scroll-margin-top:20px; }
html .ms-hp .paths .section-head { display:block; text-align:center; max-width:680px; margin:0 auto 32px; }
html .ms-hp .paths .section-head h2 { margin:0 0 12px; }
html .ms-hp .paths .section-head p { font-size:16px; line-height:1.5; }
html .ms-hp .products .section-head { margin-bottom:28px; gap:20px; }
html .ms-hp .product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; overflow:visible; margin:0; padding:0; }
html .ms-hp .product-card { display:flex; flex-direction:column; min-width:0; }
html .ms-hp .product-image-link { border:1px solid var(--ms-color-border); }
html .ms-hp .product-content { padding:18px 0 0; display:flex; flex-direction:column; flex:1; }
html .ms-hp .product-content h3 { margin:0 0 12px; font-size:20px; line-height:1.2; }
html .ms-hp .tree-type { display:block; font:500 13px/1.5 var(--body); margin-top:5px; color:#5d645a; }
html .ms-hp .product-price { font-size:19px; margin:0 0 16px; }
@media(max-width:980px) and (min-width:761px) {
  html .ms-hp .product-grid { gap:16px; }
}
@media(max-width:760px) {
  html .ms-hp .press .shell { display:flex; flex-direction:column; gap:14px; padding:20px; }
  html .ms-hp .press p { text-align:center; font-size:11px; }
  html .ms-hp .logo-list { display:flex; flex-wrap:nowrap; justify-content:flex-start; width:100%; gap:var(--ms-space-24); }
  html .ms-hp .press-logo { width:96px; height:32px; flex:0 0 96px; }
  html .ms-hp .section { padding-block:38px; }
  html .ms-hp .paths .section-head { text-align:left; margin-bottom:22px; }
  html .ms-hp .paths .section-head h2 { font-size:28px; max-width:340px; }
  html .ms-hp .paths .section-head p { font-size:14px; }
  html .ms-hp .products .section-head { grid-template-columns:1fr; gap:6px; margin-bottom:20px; }
  html .ms-hp .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
  html .ms-hp .product-content { padding-top:12px; }
  html .ms-hp .product-content h3 { font-size:18px; margin-bottom:10px; }
  html .ms-hp .tree-type { font-size:12px; min-height:36px; line-height:1.4; }
  html .ms-hp .product-price { font-size:17px; margin-bottom:12px; }
}
html .ms-hp .paths { background:var(--ms-color-white); }
html .ms-hp .paths .section-head { text-align:left; max-width:none; }
.ms-hp .shopping-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ms-space-24); }
.ms-hp .shopping-card { display:flex; flex-direction:column; min-width:0; color:var(--ms-color-text); background:var(--ms-color-surface); border-radius:var(--ms-radius-card); overflow:hidden; text-decoration:none; }
.ms-hp .shopping-media { aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; }
.ms-hp .shopping-media img { width:100%; height:100%; object-fit:contain; transition:transform var(--ms-motion-standard); }
.ms-hp .shopping-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:var(--ms-space-24); }
.ms-hp .shopping-body h3 { margin:0 0 var(--ms-space-8); font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--ms-font-heading); letter-spacing:var(--ms-h3-tracking); }
.ms-hp .shopping-body .ms-tag { margin-bottom:var(--ms-space-12); }
.ms-hp .shopping-body p { margin:0 0 var(--ms-space-16); color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .shopping-cta { margin-top:auto; align-self:flex-start; max-width:100%; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .ms-hp .shopping-card:hover .shopping-media img { transform:scale(1.025); }
}
@media(max-width:760px) {
  .ms-hp .shopping-grid { grid-template-columns:1fr; gap:var(--ms-space-16); }
  .ms-hp .shopping-card { display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:center; padding:var(--ms-space-16); gap:var(--ms-space-12); }
  .ms-hp .shopping-media { grid-column:2; grid-row:1; aspect-ratio:1; border-radius:var(--ms-radius-media); }
  .ms-hp .shopping-body { grid-column:1; grid-row:1; padding:0; }
  .ms-hp .shopping-body p { margin-bottom:var(--ms-space-16); }
}
@media(max-width:359px) {
  .ms-hp .shopping-card { grid-template-columns:minmax(0,1fr) 88px; }
}
html .ms-hp .product-difference { margin:0 0 var(--ms-space-8); min-height:calc(2 * var(--ms-small-size) * var(--ms-small-line)); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); color:var(--ms-color-muted); }
.ms-hp .carousel-tools { display:none; }
.ms-hp .carousel-buttons { display:flex; gap:var(--ms-space-8); }
.ms-hp .carousel-buttons svg { width:var(--ms-control-icon); height:var(--ms-control-icon); fill:none; stroke:currentColor; stroke-width:2; }
@media(max-width:760px) {
  html .ms-hp .products .product-grid { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:72%; gap:var(--ms-space-16); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:var(--ms-space-4); margin:calc(-1 * var(--ms-space-4)); }
  html .ms-hp .products .product-card { scroll-snap-align:start; }
  html .ms-hp .products .tree-type { min-height:0; }
  html .ms-hp .products { padding-bottom:var(--ms-space-16); }
  .ms-hp .products .carousel-tools { margin-top:var(--ms-space-16); }
  .ms-hp .carousel-tools { display:flex; align-items:center; justify-content:space-between; font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); color:var(--ms-color-muted); }
}
html .ms-hp .press .shell { display:block; padding-block:var(--ms-space-12); }
.ms-hp .press-heading { margin-bottom:var(--ms-space-4); }
html .ms-hp .press p { text-align:left; }
.ms-hp .press-controls { justify-content:center; margin-top:var(--ms-space-8); }
.ms-hp .press-controls[hidden] { display:none; }
html .ms-hp .logo-list::-webkit-scrollbar { display:none; }
html .ms-hp .press-logo { scroll-snap-align:start; }
.ms-hp .logo-list:focus-visible { outline:2px solid var(--ms-color-focus); outline-offset:2px; border-radius:var(--ms-radius-field); }
html .ms-hp .logo-list { scroll-padding-inline:var(--ms-space-4); }
@media(max-width:760px) {
  .ms-hp .press-controls { margin-top:var(--ms-space-4); }
}

/* --- __inline__ --- */
.ms-hp { --forest: #284915;
      --pine: #355612;
      --ink: #212121;
      --snow: #f7f8f4;
      --white: #ffffff;
      --sage: #e7ecdf;
      --line: #d8ded2;
      --muted: #687064;
      --sale: #c92f36;
      --display: "Montserrat", Arial, sans-serif;
      --body: "Raleway", Arial, sans-serif;
      --container: 1280px;
      --page-pad: clamp(20px, 4vw, 48px);
      --radius: 10px;
      --focus: 3px solid #f0bc43; }
.ms-hp * { box-sizing: border-box; }
.ms-hp { margin: 0;
      color: var(--ink);
      background: var(--snow);
      font-family: var(--body);
      line-height: 1.5;
      text-rendering: optimizeLegibility; }
.ms-hp img { display: block; max-width: 100%; }
.ms-hp a { color: inherit; }
.ms-hp button, .ms-hp a { -webkit-tap-highlight-color: transparent; }
.ms-hp :focus-visible { outline: var(--focus); outline-offset: 4px; }
.ms-hp .shell { width: min(100%, var(--container)); margin-inline: auto; padding-inline: var(--page-pad); }
.ms-hp .hero-wrap { background: var(--white); color: var(--ink); }
.ms-hp .hero { width: min(100%, 1280px);
      margin-inline: auto;
      min-height: 480px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      padding: 24px var(--page-pad);
      gap: 32px; }
.ms-hp .hero-copy { align-self: center;
      padding: 32px 12px 32px 0; }
.ms-hp h1, .ms-hp h2, .ms-hp h3, .ms-hp p { margin-top: 0; }
.ms-hp h1 { max-width: 540px;
      margin-bottom: 20px;
      font: 500 clamp(36px, 4.2vw, 54px)/1.12 var(--display);
      letter-spacing: -.035em;
      text-wrap: balance; }
.ms-hp .hero-copy > p { max-width: 390px;
      margin-bottom: 24px;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.58; }
.ms-hp .actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ms-hp .hero-image { position: relative; min-height: 430px; overflow: hidden; background: #f1f1f3; border-radius: 8px; }
.ms-hp .hero-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.ms-hp .press { background: var(--white); border-bottom: 1px solid var(--line); }
.ms-hp .press .shell { min-height: 80px;
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: clamp(24px, 4vw, 64px); }
.ms-hp .press p { margin: 0; white-space: nowrap; color: var(--muted); font: 600 12px/1.2 var(--display); }
.ms-hp .logo-list { display: flex; align-items: center; justify-content: space-between; gap: clamp(26px, 4vw, 68px); min-width: 0; }
.ms-hp .press-logo { width: clamp(72px, 9vw, 122px);
      height: 38px;
      object-fit: contain;
      filter: grayscale(1);
      opacity: .8; }
.ms-hp .section { padding-block: clamp(64px, 8vw, 112px); }
.ms-hp .section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 500px); gap: 36px; align-items: end; margin-bottom: 40px; }
.ms-hp .section-head h2 { margin-bottom: 0;
      max-width: 740px;
      font: 600 clamp(32px, 4vw, 54px)/1.08 var(--display);
      letter-spacing: -.035em;
      text-wrap: balance; }
.ms-hp .section-head p { margin-bottom: 2px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.ms-hp .paths { background: var(--snow); }
.ms-hp .products { background: var(--white); }
.ms-hp .products .section-head { grid-template-columns: 1fr auto; }
.ms-hp .product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ms-hp .product-card { min-width: 0; }
.ms-hp .product-image-link { position: relative;
      display: block;
      overflow: hidden;
      aspect-ratio: 1;
      background: var(--snow); }
.ms-hp .product-image-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ms-hp .product-image-link:hover img, .ms-hp .product-card:focus-within .product-image-link img { transform: scale(1.025); }
.ms-hp .product-content { padding: 20px 2px 0; }
.ms-hp .product-content h3 { margin-bottom: 8px; font: 600 19px/1.25 var(--display); letter-spacing: -.02em; }
.ms-hp .product-content h3 a { text-decoration: none; }
.ms-hp .product-content h3 a:hover { color: var(--pine); text-decoration: underline; text-underline-offset: 4px; }
.ms-hp .product-price { margin-bottom: 17px; font: 700 18px/1.2 var(--display); }
@media (max-width: 980px) {
  .ms-hp .hero { grid-template-columns: 1fr 1fr; }
  .ms-hp .hero-copy { padding-inline: 0; }
  .ms-hp .logo-list { overflow-x: auto; justify-content: flex-start; padding-block: 12px; scrollbar-width: none; }
  .ms-hp .logo-list::-webkit-scrollbar { display: none; }
  .ms-hp .press-logo { flex: 0 0 105px; }
}
@media (max-width: 760px) {
  .ms-hp .hero { min-height: auto; grid-template-columns: 1fr; gap: 0; padding: 0; }
  .ms-hp .hero-copy { padding: 24px var(--page-pad) 28px; }
  .ms-hp .hero-copy h1 { font-size: 32px; max-width: 400px; margin-bottom: 12px; }
  .ms-hp .hero-copy > p { font-size: 15px; margin-bottom: 16px; max-width: 430px; }
  .ms-hp .hero-image { min-height: 0; height: 230px; order: -1; border-radius: 0; }
  .ms-hp .hero .actions { display: flex; align-items: center; gap: 16px; }
  .ms-hp .press .shell { min-height: 86px; grid-template-columns: 1fr; gap: 4px; padding-block: 12px; }
  .ms-hp .press p { white-space: normal; }
  .ms-hp .section-head, .ms-hp .products .section-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .ms-hp .section-head p { font-size: 15px; }
  .ms-hp .product-grid { display: flex;
        gap: 14px;
        margin-inline: calc(var(--page-pad) * -1);
        padding-inline: var(--page-pad);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none; }
  .ms-hp .product-grid::-webkit-scrollbar { display: none; }
  .ms-hp .product-card { flex: 0 0 min(72vw, 300px); scroll-snap-align: start; }
}
@media (max-width: 420px) {
  .ms-hp .hero-copy > p { font-size: 15px; }
  .ms-hp .actions { display: grid; }
}
@media (prefers-reduced-motion: reduce) {
  .ms-hp *, .ms-hp *::before, .ms-hp *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}

/* --- designbook/tokens.css --- */
.ms-hp { --ms-color-brand: #284915;
  --ms-color-brand-hover: #355612;
  --ms-color-brand-pressed: #1C340F;
  --ms-color-text: #212121;
  --ms-color-muted: #5D645A;
  --ms-color-white: #FFFFFF;
  --ms-color-surface: #F5F5F7;
  --ms-color-sage: #E7ECDF;
  --ms-color-seasonal-burgundy: #74132A;
  --ms-color-border: #D8DED2;
  --ms-color-control-border: #777F71;
  --ms-color-error: #B32632;
  --ms-color-focus: #245CBD;
  --ms-color-disabled-bg: #E6E8E3;
  --ms-color-disabled-text: #5D645A;
  --ms-color-inverse-hover: #FFFFFF24;
  --ms-color-inverse-pressed: #FFFFFF38;
  --ms-font-heading: "Montserrat", Arial, sans-serif;
  --ms-font-body: "Raleway", Arial, sans-serif;
  --ms-space-4: 0.25rem;
  --ms-space-8: 0.5rem;
  --ms-space-12: 0.75rem;
  --ms-space-16: 1rem;
  --ms-space-20: 1.25rem;
  --ms-space-24: 1.5rem;
  --ms-space-32: 2rem;
  --ms-space-40: 2.5rem;
  --ms-space-48: 3rem;
  --ms-space-64: 4rem;
  --ms-space-80: 5rem;
  --ms-space-96: 6rem;
  --ms-radius-button: 6px;
  --ms-radius-card: 12px;
  --ms-radius-media: 12px;
  --ms-radius-field: 8px;
  --ms-radius-badge: 4px;
  --ms-radius-filter: 999px;
  --ms-h1-size: 3.25rem;
  --ms-h1-line: 1.12;
  --ms-h1-weight: 600;
  --ms-h1-tracking: -0.035em;
  --ms-h2-size: 2.25rem;
  --ms-h2-line: 1.2;
  --ms-h2-weight: 600;
  --ms-h2-tracking: -0.025em;
  --ms-h3-size: 1.25rem;
  --ms-h3-line: 1.3;
  --ms-h3-weight: 600;
  --ms-h3-tracking: -0.015em;
  --ms-lead-size: 1.125rem;
  --ms-lead-line: 1.5;
  --ms-lead-weight: 400;
  --ms-lead-tracking: normal;
  --ms-body-size: 1rem;
  --ms-body-line: 1.5;
  --ms-body-weight: 400;
  --ms-body-tracking: normal;
  --ms-small-size: 0.875rem;
  --ms-small-line: 1.5;
  --ms-small-weight: 500;
  --ms-small-tracking: normal;
  --ms-caption-size: 0.75rem;
  --ms-caption-line: 1.5;
  --ms-caption-weight: 500;
  --ms-caption-tracking: normal;
  --ms-button-size: 0.875rem;
  --ms-button-line: 1.4;
  --ms-button-weight: 600;
  --ms-button-tracking: normal;
  --ms-price-size: 1.25rem;
  --ms-price-line: 1.3;
  --ms-price-weight: 600;
  --ms-price-tracking: normal;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-subtitle-line: 1.5;
  --ms-product-subtitle-weight: 400;
  --ms-product-subtitle-tracking: normal;
  --ms-product-price-size: 1rem;
  --ms-product-price-line: 1.4;
  --ms-product-price-weight: 600;
  --ms-product-price-tracking: normal;
  --ms-button-small-size: 0.8125rem;
  --ms-button-small-line: 1.4;
  --ms-button-small-weight: 600;
  --ms-button-small-tracking: normal;
  --ms-product-size-label-size: 0.6875rem;
  --ms-product-size-label-line: 1.5;
  --ms-product-size-label-weight: 600;
  --ms-product-size-label-tracking: normal;
  --ms-control-height: 3rem;
  --ms-control-padding-inline: 1.5rem;
  --ms-control-icon: 20px;
  --ms-control-stroke: 2px;
  --ms-control-focus-width: 3px;
  --ms-control-focus-offset: 3px;
  --ms-control-height-small: 40px;
  --ms-control-height-touch: 44px;
  --ms-motion-fast: 160ms;
  --ms-motion-standard: 240ms;
  --ms-motion-entrance: 400ms;
  --ms-motion-stagger: 60ms;
  --ms-hero-light-heading-weight: 500;
  --ms-hero-light-heading-size: 3.75rem;
  --ms-hero-light-lead-size: 1rem;
  --ms-hero-light-secondary-weight: 500;
  --ms-container: 1280px;
  --ms-gutter: 3rem;
  --ms-section-space: 4rem; }
@media (max-width: 980px) {
  .ms-hp { --ms-h1-size: 2.625rem;
  --ms-h2-size: 2rem;
  --ms-h3-size: 1.25rem;
  --ms-lead-size: 1.125rem;
  --ms-body-size: 1rem;
  --ms-small-size: 0.875rem;
  --ms-caption-size: 0.75rem;
  --ms-button-size: 0.875rem;
  --ms-price-size: 1.25rem;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-price-size: 1rem;
  --ms-button-small-size: 0.8125rem;
  --ms-product-size-label-size: 0.6875rem;
  --ms-gutter: 2rem; }
}
@media (max-width: 760px) {
  .ms-hp { --ms-h1-size: 2rem;
  --ms-h2-size: 1.75rem;
  --ms-h3-size: 1.125rem;
  --ms-lead-size: 1rem;
  --ms-body-size: 1rem;
  --ms-small-size: 0.875rem;
  --ms-caption-size: 0.75rem;
  --ms-button-size: 0.875rem;
  --ms-price-size: 1.125rem;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-price-size: 1rem;
  --ms-button-small-size: 0.8125rem;
  --ms-product-size-label-size: 0.6875rem;
  --ms-gutter: 1.25rem;
  --ms-section-space: 2.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ms-hp { --ms-motion-fast: 0ms; --ms-motion-standard: 0ms; --ms-motion-entrance: 0ms; --ms-motion-stagger: 0ms; }
}

/* --- designbook/components.css --- */
.ms-hp .ms-button { --button-bg:var(--ms-color-brand); --button-ink:var(--ms-color-white); --button-border:var(--ms-color-brand);
  display:inline-flex; align-items:center; justify-content:center; gap:var(--ms-space-8);
  box-sizing:border-box; min-height:var(--ms-control-height); padding:var(--ms-space-12) var(--ms-control-padding-inline);
  border:1px solid var(--button-border); border-radius:var(--ms-radius-button);
  font:var(--ms-button-weight) var(--ms-button-size)/var(--ms-button-line) var(--ms-font-heading);
  letter-spacing:var(--ms-button-tracking); text-align:center; text-decoration:none; white-space:normal;
  background:var(--button-bg); color:var(--button-ink); cursor:pointer;
  transition:background-color var(--ms-motion-fast),border-color var(--ms-motion-fast),color var(--ms-motion-fast); }
.ms-hp .ms-button:hover, .ms-hp .ms-button.is-hover { --button-bg:var(--ms-color-brand-hover); --button-border:var(--ms-color-brand-hover); }
.ms-hp .ms-button:active, .ms-hp .ms-button.is-pressed { --button-bg:var(--ms-color-brand-pressed); --button-border:var(--ms-color-brand-pressed); }
.ms-hp .ms-button:disabled { --button-bg:var(--ms-color-disabled-bg); --button-ink:var(--ms-color-disabled-text); --button-border:var(--ms-color-disabled-bg); cursor:not-allowed; }
.ms-hp .ms-button[aria-busy="true"] { --button-bg:var(--ms-color-brand); --button-ink:var(--ms-color-white); --button-border:var(--ms-color-brand); cursor:wait; }
.ms-hp .ms-button:focus-visible, .ms-hp .ms-button.is-focus, .ms-hp .ms-field:focus-visible, .ms-hp .ms-link:focus-visible, .ms-hp .ms-icon-button:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); box-shadow:0 0 0 3px white; }
.ms-hp .ms-link { --link-ink:var(--ms-color-brand); --link-hover-ink:var(--ms-color-brand-hover); --link-pressed-ink:var(--ms-color-brand-pressed);
  --link-hover-bg:var(--ms-color-sage); --link-pressed-bg:var(--ms-color-border);
  display:inline-flex; align-items:center; justify-content:center; min-height:var(--ms-control-height);
  color:var(--link-ink); font:var(--ms-button-weight) var(--ms-button-size)/var(--ms-button-line) var(--ms-font-heading);
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;
  transition:background-color var(--ms-motion-fast),color var(--ms-motion-fast); }
.ms-hp .ms-link:hover, .ms-hp .ms-link.is-hover { color:var(--link-hover-ink); text-decoration-thickness:2px; }
.ms-hp .ms-link:active, .ms-hp .ms-link.is-pressed { color:var(--link-pressed-ink); text-decoration-thickness:2px; }
.ms-hp .ms-link--action { box-sizing:border-box; padding:var(--ms-space-12) var(--ms-space-16); border-radius:var(--ms-radius-button); background:transparent; }
.ms-hp .ms-link--action:hover, .ms-hp .ms-link--action.is-hover { background:var(--link-hover-bg); }
.ms-hp .ms-link--action:active, .ms-hp .ms-link--action.is-pressed { background:var(--link-pressed-bg); }
.ms-hp .ms-icon-button { display:inline-grid; place-items:center; width:var(--ms-control-height); height:var(--ms-control-height); border:0; border-radius:var(--ms-radius-button); background:transparent; color:var(--ms-color-text); cursor:pointer; }
.ms-hp .ms-icon-button:hover { background:var(--ms-color-sage); }
.ms-hp .ms-icon-button:active { background:var(--ms-color-border); }
.ms-hp .ms-icon-button:disabled { color:var(--ms-color-disabled-text); background:var(--ms-color-disabled-bg); cursor:not-allowed; }
.ms-hp .ms-icon-button svg { width:var(--ms-control-icon); height:var(--ms-control-icon); fill:none; stroke:currentColor; stroke-width:2; }
@keyframes ms-spin { to { transform:rotate(360deg); } }
.ms-hp .ms-field { box-sizing:border-box; width:100%; min-height:var(--ms-control-height); padding:var(--ms-space-8) var(--ms-space-16); font:400 var(--ms-body-size)/var(--ms-body-line) var(--ms-font-body); border:1px solid var(--ms-color-control-border); border-radius:var(--ms-radius-field); background:var(--ms-color-white); color:var(--ms-color-text); }
.ms-hp .ms-field[aria-invalid="true"] { border-color:var(--ms-color-error); border-width:2px; }
.ms-hp .ms-field:disabled { background:var(--ms-color-disabled-bg); color:var(--ms-color-disabled-text); cursor:not-allowed; }
.ms-hp .ms-label { display:block; margin-bottom:var(--ms-space-8); font:600 var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .ms-error { margin:var(--ms-space-8) 0 0; font:500 var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); color:var(--ms-color-muted); }
.ms-hp .ms-error { color:var(--ms-color-error); }
.ms-hp .ms-tag { display:inline-block; border-radius:var(--ms-radius-badge); padding:var(--ms-space-4) var(--ms-space-8); background:var(--ms-color-sage); color:var(--ms-color-brand); font:600 var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); }
.ms-hp .ms-media-frame, .ms-hp .product-image-link { display:block;
  overflow:hidden;
  border-radius:var(--ms-radius-media);
  background:var(--ms-color-surface); }
.ms-hp .ms-media-frame > img, .ms-hp .product-image-link > img { display:block;
  width:100%;
  height:100%;
  border-radius:inherit; }
.ms-hp .ms-tag { width:fit-content; max-width:100%; line-height:1.5; }
.ms-hp .ms-button--compact { padding-inline:var(--ms-space-12); }
.ms-hp .ms-action-card:hover .ms-button, .ms-hp .ms-action-card:focus-visible .ms-button { --button-bg:var(--ms-color-brand-hover); --button-border:var(--ms-color-brand-hover); }
.ms-hp .ms-action-card:active .ms-button { --button-bg:var(--ms-color-brand-pressed); --button-border:var(--ms-color-brand-pressed); }
.ms-hp .ms-link--quiet { padding-inline:var(--ms-space-4); }
.ms-hp .ms-disclosure { border:1px solid var(--ms-color-border); border-radius:var(--ms-radius-card); background:var(--ms-color-surface); scroll-margin-top:var(--ms-space-24); }
.ms-hp .ms-disclosure-summary { display:flex; align-items:center; justify-content:space-between; min-height:var(--ms-control-height); gap:var(--ms-space-16); padding:var(--ms-space-16) var(--ms-space-20); list-style:none; cursor:pointer; border-radius:var(--ms-radius-card); transition:background var(--ms-motion-fast); }
.ms-hp .ms-disclosure-summary::-webkit-details-marker { display:none; }
.ms-hp .ms-disclosure-summary h3 { margin:0; font:var(--ms-button-weight) var(--ms-body-size)/var(--ms-body-line) var(--ms-font-heading); }
.ms-hp .ms-disclosure-summary svg { width:var(--ms-control-icon); height:var(--ms-control-icon); flex-shrink:0; stroke:currentColor; stroke-width:2; fill:none; }
.ms-hp .ms-disclosure-summary:hover { background:var(--ms-color-sage); }
.ms-hp .ms-disclosure-summary:active { background:var(--ms-color-border); }
.ms-hp .ms-disclosure-summary:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
.ms-hp .ms-disclosure[open] > .ms-disclosure-summary svg { transform:rotate(180deg); }
.ms-hp .ms-disclosure-body { padding:var(--ms-space-8) var(--ms-space-20) var(--ms-space-20); }
.ms-hp .ms-tag--photo { background:var(--ms-color-white); color:var(--ms-color-text); }
.ms-hp .ms-tag--promo { background:var(--ms-color-error); color:var(--ms-color-white); }
.ms-hp .ms-button--small { min-height:var(--ms-control-height-small);
  padding:var(--ms-space-8) var(--ms-space-16);
  font:var(--ms-button-small-weight) var(--ms-button-small-size)/var(--ms-button-small-line) var(--ms-font-heading); }
@media (max-width:760px), (pointer:coarse) {
  .ms-hp .ms-button--small { min-height:var(--ms-control-height-touch); }
}
.ms-hp .ms-button--subtle { --button-bg:transparent; --button-ink:var(--ms-color-brand); --button-border:var(--ms-color-border); }
.ms-hp .ms-button--subtle:hover, .ms-hp .ms-button--subtle.is-hover { --button-bg:var(--ms-color-sage); --button-border:var(--ms-color-brand-hover); }
.ms-hp .ms-button--subtle:active, .ms-hp .ms-button--subtle.is-pressed { --button-bg:var(--ms-color-border); --button-border:var(--ms-color-brand-pressed); }
.ms-hp .ms-tag--sizes { font:var(--ms-product-size-label-weight) var(--ms-product-size-label-size)/var(--ms-product-size-label-line) var(--ms-font-body); }
.ms-hp .ms-fit-check { background:var(--ms-color-white); }
.ms-hp .ms-fit-summary-copy { display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--ms-space-4) var(--ms-space-12); }
.ms-hp .ms-fit-summary-copy strong { font:var(--ms-button-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-heading); }
.ms-hp .ms-fit-summary-copy > span { font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); color:var(--ms-color-muted); }
.ms-hp .ms-fit-check .ms-fit-body { padding-top:var(--ms-space-4); }
.ms-hp .ms-fit-form { max-width:520px; margin:0; }
.ms-hp .ms-fit-form .ms-label { font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .ms-fit-controls { display:flex; align-items:stretch; gap:var(--ms-space-8); }
.ms-hp .ms-fit-input-wrap { position:relative; min-width:0; flex:1; }
.ms-hp .ms-fit-input-wrap .ms-field { padding-right:var(--ms-space-40); font-family:var(--ms-font-heading); }
.ms-hp .ms-fit-input-wrap > span { position:absolute; top:50%; right:var(--ms-space-12); transform:translateY(-50%); color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); pointer-events:none; }
.ms-hp .ms-fit-input-wrap input::-webkit-inner-spin-button { appearance:none; }
.ms-hp .ms-fit-controls .ms-button { flex-shrink:0; }
.ms-hp .ms-fit-form .ms-fit-hint, .ms-hp .ms-fit-footnote { margin:var(--ms-space-8) 0 0; font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); color:var(--ms-color-muted); }
.ms-hp .ms-fit-check .ms-fit-footnote { margin-top:var(--ms-space-16); }
.ms-hp .ms-fit-result { margin-top:var(--ms-space-16); padding-top:var(--ms-space-16); border-top:1px solid var(--ms-color-border); }
.ms-hp .ms-fit-result strong { display:block; font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--ms-font-heading); color:var(--ms-color-brand); }
.ms-hp .ms-fit-result p { margin:var(--ms-space-4) 0; font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); color:var(--ms-color-muted); }
.ms-hp .ms-fit-result .ms-link { justify-content:flex-start; }
@media(max-width:400px) {
  .ms-hp .ms-fit-summary-copy { display:block; }
  .ms-hp .ms-fit-summary-copy > span { display:block; margin-top:var(--ms-space-4); }
}
.ms-hp .ms-filter-choices { display:flex; flex-wrap:wrap; gap:var(--ms-space-8); }
.ms-hp .ms-filter-choice { display:inline-flex; align-items:center; justify-content:center; gap:var(--ms-space-8); min-width:0; min-height:var(--ms-control-height-touch); padding:var(--ms-space-8) var(--ms-space-16); border:1px solid var(--ms-color-border); border-radius:var(--ms-radius-filter); background:var(--ms-color-white); color:var(--ms-color-text); cursor:pointer; font:var(--ms-small-weight) var(--ms-button-small-size)/var(--ms-button-small-line) var(--ms-font-heading); transition:background-color var(--ms-motion-fast),border-color var(--ms-motion-fast),color var(--ms-motion-fast); }
.ms-hp .ms-filter-choice small { color:var(--ms-color-muted); font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); }
.ms-hp .ms-filter-choice:hover { background:var(--ms-color-surface); border-color:var(--ms-color-control-border); }
.ms-hp .ms-filter-choice[aria-pressed="true"] { background:var(--ms-color-sage); border-color:var(--ms-color-brand); color:var(--ms-color-brand); }
.ms-hp .ms-filter-choice:active { background:var(--ms-color-border); border-color:var(--ms-color-brand-pressed); }
.ms-hp .ms-filter-choice:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
@media(max-width:760px) {
  .ms-hp .ms-filter-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ms-hp .ms-filter-choice { flex-direction:column; gap:var(--ms-space-4); padding-inline:var(--ms-space-8); }
}
@media(prefers-reduced-motion:reduce) {
  .ms-hp .ms-filter-choice { transition:none; }
}
.ms-hp .ms-fit-check--inline { border:0; border-radius:0; background:transparent; }
.ms-hp .ms-fit-check--inline .ms-fit-summary { width:fit-content; max-width:100%; min-height:var(--ms-control-height-touch); padding:var(--ms-space-8) 0; gap:var(--ms-space-8); color:var(--ms-color-brand); border-radius:var(--ms-radius-button); }
.ms-hp .ms-fit-check--inline .ms-fit-summary strong { font-weight:var(--ms-small-weight); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.ms-hp .ms-fit-check--inline .ms-fit-summary:hover { background:transparent; color:var(--ms-color-brand-hover); }
.ms-hp .ms-fit-check--inline .ms-fit-summary:active { color:var(--ms-color-brand-pressed); }
.ms-hp .ms-fit-check--inline .ms-fit-body { max-width:520px; padding:var(--ms-space-16) 0 0; }
.ms-hp .ms-cta-reveal { gap:var(--ms-space-8); }
.ms-hp .ms-cta-label { display:inline-block; transform:translateX(var(--ms-space-12)); transition:transform var(--ms-motion-standard) ease; }
.ms-hp .ms-cta-arrow { flex:0 0 var(--ms-space-16); width:var(--ms-space-16); height:var(--ms-space-16); fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; opacity:0; transform:translateX(calc(-1 * var(--ms-space-4))); transition:opacity var(--ms-motion-standard) ease,transform var(--ms-motion-standard) ease; }
.ms-hp .ms-cta-reveal:is(:hover,:focus-visible,.is-hover,.is-focus) .ms-cta-label, .ms-hp .ms-action-card:is(:hover,:focus-visible) .ms-cta-label { transform:translateX(0); }
.ms-hp .ms-cta-reveal:is(:hover,:focus-visible,.is-hover,.is-focus) .ms-cta-arrow, .ms-hp .ms-action-card:is(:hover,:focus-visible) .ms-cta-arrow { opacity:1; transform:translateX(0); }
.ms-hp .ms-link.ms-cta-reveal { text-decoration:none; }
.ms-hp .ms-link.ms-cta-reveal .ms-cta-label { text-decoration:underline; text-underline-offset:4px; }
@media(hover:none), (pointer:coarse) {
  .ms-hp .ms-cta-reveal .ms-cta-label, .ms-hp .ms-cta-reveal .ms-cta-arrow { transform:none; }
  .ms-hp .ms-cta-reveal .ms-cta-arrow { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
  .ms-hp .ms-cta-reveal .ms-cta-label, .ms-hp .ms-cta-reveal .ms-cta-arrow { transition:none; transform:none; }
  .ms-hp .ms-cta-reveal .ms-cta-arrow { opacity:1; }
}
.ms-hp .ms-link.ms-cta-reveal .ms-cta-label { transform:none; }
.ms-hp .ms-button--media { --button-bg:color-mix(in srgb,var(--ms-color-text) 72%,transparent);
 --button-ink:var(--ms-color-white);
 --button-border:color-mix(in srgb,var(--ms-color-white) 40%,transparent); }
.ms-hp .ms-button--media:is(:hover,:focus-visible,.is-hover), .ms-hp .ms-media-trigger:is(:hover,:focus-visible) .ms-button--media { --button-bg:color-mix(in srgb,var(--ms-color-text) 85%,transparent);
 --button-border:color-mix(in srgb,var(--ms-color-white) 65%,transparent); }
.ms-hp .ms-button--media:is(:active,.is-pressed), .ms-hp .ms-media-trigger:active .ms-button--media { --button-bg:color-mix(in srgb,var(--ms-color-text) 95%,transparent);
 --button-border:var(--ms-color-white); }
.ms-hp .ms-bauble { --bauble-size:64px; --bauble-string:96px;
 --bauble-line:color-mix(in srgb,var(--ms-color-brand) 45%,transparent);
 --bauble-glint:color-mix(in srgb,var(--ms-color-brand) 16%,transparent);
 position:absolute; display:block; width:var(--bauble-size); height:var(--bauble-size);
 border:1px solid var(--bauble-line); border-radius:50%;
 background:radial-gradient(circle at 32% 30%, var(--bauble-glint) 0 9%, transparent 10%);
 transform-origin:50% calc(-1 * (var(--bauble-string) + var(--ms-space-12))); }
.ms-hp .ms-bauble::before { content:""; position:absolute; left:50%; bottom:calc(100% + var(--ms-space-12)); width:1px; height:var(--bauble-string); background:var(--bauble-line); }
.ms-hp .ms-bauble::after { content:""; position:absolute; left:50%; top:calc(-1 * var(--ms-space-12)); width:var(--ms-space-20); height:var(--ms-space-12); border:1px solid var(--bauble-line); border-bottom:0; border-radius:var(--ms-radius-badge) var(--ms-radius-badge) 0 0; transform:translateX(-50%); }
.ms-hp .ms-icon-button.ms-icon-button--carousel { width:var(--ms-control-height-small); height:var(--ms-control-height-small);
 border:1px solid var(--ms-color-control-border); border-radius:var(--ms-radius-button);
 background:transparent; color:var(--ms-color-text);
 transition:background-color var(--ms-motion-fast),border-color var(--ms-motion-fast),color var(--ms-motion-fast); }
.ms-hp .ms-icon-button.ms-icon-button--carousel svg { width:var(--ms-space-16); height:var(--ms-space-16); stroke-width:var(--ms-control-stroke); }
.ms-hp .ms-icon-button.ms-icon-button--carousel:hover { background:var(--ms-color-sage); border-color:var(--ms-color-brand-hover); color:var(--ms-color-brand); }
.ms-hp .ms-icon-button.ms-icon-button--carousel:active { background:var(--ms-color-border); border-color:var(--ms-color-brand-pressed); color:var(--ms-color-brand-pressed); }
.ms-hp .ms-icon-button.ms-icon-button--carousel:disabled { background:transparent; border-color:var(--ms-color-border); color:var(--ms-color-border); cursor:not-allowed; }
@media (max-width:760px), (pointer:coarse) {
  .ms-hp .ms-icon-button.ms-icon-button--carousel { width:var(--ms-control-height-touch); height:var(--ms-control-height-touch); }
}
@media (prefers-reduced-motion:reduce) {
  .ms-hp .ms-icon-button.ms-icon-button--carousel { transition:none; }
}

/* --- designbook/prototype.css --- */
.ms-hp { --forest:var(--ms-color-brand); --pine:var(--ms-color-brand-hover); --ink:var(--ms-color-text);
  --snow:var(--ms-color-surface); --white:var(--ms-color-white); --sage:var(--ms-color-sage);
  --line:var(--ms-color-border); --muted:var(--ms-color-muted); --sale:var(--ms-color-error);
  --display:var(--ms-font-heading); --body:var(--ms-font-body); --container:var(--ms-container);
  --page-pad:var(--ms-gutter); --radius:var(--ms-radius-card); --focus:var(--ms-control-focus-width) solid var(--ms-color-focus); }
html .ms-hp :focus-visible { outline:var(--focus); outline-offset:var(--ms-control-focus-offset); box-shadow:0 0 0 3px white; }
html:not(.ms-hp-off) .ms-hp .hero-copy h1 { font:var(--ms-h1-weight) var(--ms-h1-size)/var(--ms-h1-line) var(--display); letter-spacing:var(--ms-h1-tracking); margin-bottom:var(--ms-space-20); }
html:not(.ms-hp-off) .ms-hp .hero-copy > p { font:var(--ms-lead-weight) var(--ms-lead-size)/var(--ms-lead-line) var(--body); margin-bottom:var(--ms-space-24); }
html .ms-hp .section-head h2, html .ms-hp .paths .section-head h2 { font:var(--ms-h2-weight) var(--ms-h2-size)/var(--ms-h2-line) var(--display); letter-spacing:var(--ms-h2-tracking); }
html .ms-hp .product-content h3 { font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--display); letter-spacing:var(--ms-h3-tracking); margin-bottom:var(--ms-space-8); }
html .ms-hp .section-head p, html .ms-hp .paths .section-head p { font:var(--ms-body-weight) var(--ms-body-size)/var(--ms-body-line) var(--body); }
html .ms-hp .tree-type, html .ms-hp .press p { font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--body); }
html .ms-hp .tree-type { margin-top:var(--ms-space-4); }
html .ms-hp .product-price { font:var(--ms-price-weight) var(--ms-price-size)/var(--ms-price-line) var(--display); margin-bottom:var(--ms-space-16); }
html .ms-hp .product-card .ms-button { width:100%; margin-top:auto; }
html .ms-hp .hero .actions { gap:var(--ms-space-16); align-items:center; }
html .ms-hp .section { padding-block:var(--ms-section-space); }
html .ms-hp .section-head, html .ms-hp .products .section-head, html .ms-hp .paths .section-head { margin-bottom:var(--ms-space-32); }
html .ms-hp .product-grid { gap:var(--ms-space-24); }
html .ms-hp .product-content { padding-top:var(--ms-space-16); }
html .ms-hp .product-image-link, html:not(.ms-hp-off) .ms-hp .hero-image { border-radius:var(--ms-radius-media); }
html .ms-hp .product-image-link { border-color:var(--ms-color-border); }
html .ms-hp .product-image-link img { transition:transform var(--ms-motion-standard); }
@media(max-width:980px) and (min-width:761px) {
  html .ms-hp .product-grid { gap:var(--ms-space-16); }
}
@media(max-width:760px) {
  html:not(.ms-hp-off) .ms-hp .hero-copy { padding:var(--ms-space-24) var(--ms-gutter); }
  html:not(.ms-hp-off) .ms-hp .hero-image { margin:var(--ms-space-32) var(--ms-gutter) 0; }
  html .ms-hp .product-grid { gap:var(--ms-space-32) var(--ms-space-16); }
  html .ms-hp .tree-type { min-height:36px; }
  html .ms-hp .products .section-head { gap:var(--ms-space-8); }
  html .ms-hp .press .shell { gap:var(--ms-space-16); }
}
html:not(.ms-hp-off) .ms-hp .hero-copy h1 { font-weight:var(--ms-hero-light-heading-weight); }
html:not(.ms-hp-off) .ms-hp .hero-copy > p { font-size:var(--ms-hero-light-lead-size); max-width:420px; text-wrap:pretty; }
@media(min-width:981px) {
  html:not(.ms-hp-off) .ms-hp .hero-copy h1 { font-size:min(var(--ms-hero-light-heading-size), 4.4vw); }
}
html:not(.ms-hp-off) .ms-hp .hero .ms-link { font-weight:var(--ms-hero-light-secondary-weight); }
@media(max-width:760px) {
  html:not(.ms-hp-off) .ms-hp .hero-copy h1 { margin-bottom:var(--ms-space-12); }
  html:not(.ms-hp-off) .ms-hp .hero-copy > p { margin-bottom:var(--ms-space-16); }
  html:not(.ms-hp-off) .ms-hp .hero .actions { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:var(--ms-space-8) var(--ms-space-12); }
  html:not(.ms-hp-off) .ms-hp .hero .ms-button { width:auto; min-width:0; }
}

/* --- products.css --- */
html .ms-hp .products .section-head { display:flex; align-items:center; justify-content:space-between;
  gap:var(--ms-space-16); margin-bottom:var(--ms-space-24); }
html .ms-hp .products .section-head h2 { margin:0; }
html .ms-hp .products .section-head .ms-link { flex-shrink:0; }
html .ms-hp .products .tree-type { font:var(--ms-product-subtitle-weight) var(--ms-product-subtitle-size)/var(--ms-product-subtitle-line) var(--ms-font-heading);
  letter-spacing:var(--ms-product-subtitle-tracking); color:var(--ms-color-muted); min-height:0; }
html .ms-hp .products .product-difference { min-height:0; margin-bottom:var(--ms-space-12); }
html .ms-hp .products .product-price { margin-top:auto; margin-bottom:var(--ms-space-12); font:var(--ms-product-price-weight) var(--ms-product-price-size)/var(--ms-product-price-line) var(--ms-font-heading); }
html .ms-hp .products .product-image-link { position:relative; }
html .ms-hp .products .product-content .product-delivery-tag { margin-bottom:var(--ms-space-8); }
html .ms-hp .products .product-card .ms-button { margin-top:0; width:100%; align-self:stretch; }
.ms-hp .tree-shapes { display:flex; flex-wrap:wrap; align-items:center; gap:var(--ms-space-8) var(--ms-space-12); margin:0 0 var(--ms-space-20); }
.ms-hp .tree-shapes-label { margin:0; color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .tree-shapes .ms-filter-choice { text-decoration:none; }
.ms-hp .home-switch-label { margin:0 0 var(--ms-space-8); color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .product-help { margin-top:var(--ms-space-32); }
@media(max-width:760px) {
  html .ms-hp .products .section-head { align-items:flex-start; flex-direction:column; gap:var(--ms-space-4); margin-bottom:var(--ms-space-16); }
  html .ms-hp .products .product-grid { grid-auto-columns:76%; }
  html .ms-hp .products .carousel-tools { margin-top:var(--ms-space-12); }
  html .ms-hp .products { padding-bottom:var(--ms-space-40); }
  .ms-hp .tree-shapes { display:block; margin-bottom:var(--ms-space-16); }
  .ms-hp .tree-shapes-label { margin-bottom:var(--ms-space-8); }
  .ms-hp .product-help { margin-top:var(--ms-space-24); }
}
.ms-hp .product-size-tag { position:absolute; left:var(--ms-space-12); bottom:var(--ms-space-12); max-width:calc(100% - 2 * var(--ms-space-12)); box-sizing:border-box; white-space:normal; text-wrap:pretty; pointer-events:none; }
.ms-hp .product-media { position:relative; }
html .ms-hp .products .product-media .product-image-link img { transform:none; transition:opacity var(--ms-motion-standard) ease; }
html .ms-hp .products .product-media .product-photo-alt { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:var(--ms-color-white); opacity:0; pointer-events:none; }
.ms-hp .product-media .product-size-tag { transition:opacity var(--ms-motion-standard) ease; }
html .ms-hp .products .product-media[data-photo-state="guide"] .product-photo-alt { opacity:1; }
.ms-hp .product-media[data-photo-state="guide"] .product-size-tag { opacity:0; }
.ms-hp .product-media .ms-photo-toggle { position:absolute; right:var(--ms-space-8); top:var(--ms-space-8); width:var(--ms-control-height-touch); height:var(--ms-control-height-touch); background:var(--ms-color-white); border:1px solid var(--ms-color-border); z-index:1; }
.ms-hp .product-media .ms-photo-toggle:hover { background:var(--ms-color-sage); }
.ms-hp .product-media .ms-photo-toggle:active, .ms-hp .product-media .ms-photo-toggle[aria-pressed="true"] { background:var(--ms-color-sage); color:var(--ms-color-brand); }
.ms-hp .product-media .ms-photo-toggle[aria-busy="true"] svg { opacity:.5; }
@media(hover:hover) and (pointer:fine) {
  .ms-hp .product-media .ms-photo-toggle { opacity:0; transition:opacity var(--ms-motion-fast); }
  .ms-hp .product-media:hover .ms-photo-toggle, .ms-hp .product-media:focus-within .ms-photo-toggle { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
  html .ms-hp .products .product-media .product-image-link img, .ms-hp .product-media .product-size-tag, .ms-hp .product-media .ms-photo-toggle { transition:none; }
}
.ms-hp .product-media .ms-photo-toggle[hidden] { display:none; }
.ms-hp .kit-products-intro { margin:0 0 var(--ms-space-24); color:var(--ms-color-muted); font:var(--ms-body-weight) var(--ms-body-size)/var(--ms-body-line) var(--ms-font-body); }
html .ms-hp .products--kits .section-head { margin-bottom:var(--ms-space-12); }

/* --- products-grouped.css --- */
.ms-hp .home-switch { margin:0 0 var(--ms-space-12); }
html .ms-hp .products--grouped .product-card[hidden] { display:none; }
html .ms-hp .products--grouped .product-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc((100% - 3 * var(--ms-space-24)) / 4); overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; }
.ms-hp .products--grouped .product-card { scroll-snap-align:start; }
html .ms-hp .products--grouped .carousel-tools { display:flex; align-items:center; justify-content:space-between; margin-top:var(--ms-space-12); color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
@media(min-width:761px) {
  .ms-hp .products--grouped .carousel-tools > span { visibility:hidden; }
}
@media(max-width:980px) and (min-width:761px) {
  html .ms-hp .products--grouped .product-grid { grid-auto-columns:calc((100% - 3 * var(--ms-space-16)) / 4); }
}
@media(max-width:760px) {
  html .ms-hp .products--grouped .product-grid { grid-auto-columns:76%; }
}
.ms-hp .home-group-context { margin:0 0 var(--ms-space-24); }
.ms-hp .home-group-context p { margin:0; color:var(--ms-color-muted); font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); }
.ms-hp .home-group-context .home-group-summary:is(#home-group-summary, .home-group-summary) { margin-bottom:var(--ms-space-4); color:var(--ms-color-text); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-heading); }
html .ms-hp .products--grouped .carousel-tools[hidden], html .ms-hp .products--grouped .carousel-buttons[hidden] { display:none; }
html .ms-hp .products--grouped .product-grid::-webkit-scrollbar { display:none; }
html .ms-hp .products--grouped .product-grid { scroll-padding-inline:var(--ms-space-4); }

/* --- shopping-paths.css --- */
html .ms-hp .paths--refined { background:var(--ms-color-surface); }
html .ms-hp .paths--refined .section-head { text-align:center;
 max-width:680px;
 margin:0 auto var(--ms-space-32); }
.ms-hp .paths--refined .shopping-card { background:var(--ms-color-white); padding:0; overflow:hidden; border-radius:var(--ms-radius-card); }
.ms-hp .paths--refined .shopping-media { aspect-ratio:1; border-radius:0; background:var(--ms-color-surface); }
.ms-hp .paths--refined .shopping-media img { object-fit:contain; }
.ms-hp .paths--refined .shopping-body { padding:var(--ms-space-24); gap:var(--ms-space-24); }
.ms-hp .paths--refined .shopping-copy { flex:1; width:100%; }
.ms-hp .paths--refined .shopping-copy h3 { margin:0 0 var(--ms-space-8); }
.ms-hp .paths--refined .shopping-copy .ms-tag { margin-bottom:var(--ms-space-12); }
.ms-hp .paths--refined .shopping-copy p { margin:0; }
.ms-hp .paths--refined .shopping-cta { width:100%; margin-top:auto; }
.ms-hp .paths--refined .shopping-card:hover .ms-button, .ms-hp .paths--refined .shopping-card:focus-visible .ms-button { --button-bg:var(--ms-color-sage); --button-border:var(--ms-color-brand); --button-ink:var(--ms-color-brand); }
.ms-hp .paths--refined .shopping-card:active .ms-button { --button-bg:var(--ms-color-border); --button-border:var(--ms-color-brand-pressed); }
.ms-hp .paths--refined .shopping-card:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
@media(max-width:760px) {
  html .ms-hp .paths--refined .section-head { margin:0 auto var(--ms-space-24); text-align:center; }
  .ms-hp .paths--refined .shopping-card { grid-template-columns:104px minmax(0,1fr); align-items:start; padding:var(--ms-space-16); gap:var(--ms-space-16); }
  .ms-hp .paths--refined .shopping-media { grid-column:1; grid-row:1; align-self:start; border-radius:var(--ms-radius-media); }
  .ms-hp .paths--refined .shopping-body { display:contents; }
  .ms-hp .paths--refined .shopping-copy { grid-column:2; grid-row:1; }
  .ms-hp .paths--refined .shopping-copy h3 { font-size:var(--ms-h3-size); }
  .ms-hp .paths--refined .shopping-copy .ms-tag { margin-bottom:var(--ms-space-8); }
  .ms-hp .paths--refined .shopping-cta { grid-column:1 / -1; grid-row:2; }
}
@media(max-width:359px) {
  .ms-hp .paths--refined .shopping-card { grid-template-columns:88px minmax(0,1fr); gap:var(--ms-space-12); padding:var(--ms-space-12); }
}

/* --- homepage-colour.css --- */
.ms-hp .category-shortcuts { background:var(--ms-color-sage); padding-block:var(--ms-space-24); }
.ms-hp .category-shortcuts-grid { display:flex; justify-content:center; gap:var(--ms-space-40); }
.ms-hp .category-shortcut { display:flex; flex-direction:column; align-items:center; gap:var(--ms-space-8); width:112px; min-width:0; text-align:center; text-decoration:none; color:var(--ms-color-brand); font:var(--ms-button-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-heading); border-radius:var(--ms-radius-media); }
.ms-hp .category-shortcut-image { display:block; width:80px; height:80px; overflow:hidden; border-radius:var(--ms-radius-media); background:var(--ms-color-white); transition:box-shadow var(--ms-motion-fast); }
.ms-hp .category-shortcut img { display:block; width:100%; height:100%; object-fit:cover; }
.ms-hp .category-shortcut:hover { color:var(--ms-color-brand-hover); text-decoration:underline; text-underline-offset:4px; }
.ms-hp .category-shortcut:hover .category-shortcut-image { box-shadow:0 0 0 2px var(--ms-color-brand); }
.ms-hp .category-shortcut:active { color:var(--ms-color-brand-pressed); }
.ms-hp .category-shortcut:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
html .ms-hp .paths--refined { background:var(--ms-color-surface); }
html .ms-hp .paths--refined .section-head h2 { color:var(--ms-color-text); }
.ms-hp .paths--refined .shopping-card { background:var(--ms-color-white); }
.ms-hp .paths--refined .shopping-body .ms-tag { background:var(--ms-color-sage); }
.ms-hp .paths--refined .shopping-card:focus-visible { outline-color:var(--ms-color-focus); }
@media(max-width:760px) {
  .ms-hp .category-shortcuts { padding-block:var(--ms-space-16); }
  .ms-hp .category-shortcuts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ms-space-16); }
  .ms-hp .category-shortcut { width:auto; font:var(--ms-button-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-heading); }
  .ms-hp .category-shortcut-image { width:100%; max-width:160px; height:auto; aspect-ratio:1; }
}
@media(min-width:761px) {
  .ms-hp .category-shortcuts-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); max-width:848px; margin-inline:auto; gap:var(--ms-space-16); }
  .ms-hp .category-shortcut { width:auto; gap:var(--ms-space-12); }
  .ms-hp .category-shortcut-image { width:100%; max-width:128px; height:auto; aspect-ratio:1; }
}
.ms-hp .category-shortcut-label { font:var(--ms-button-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-heading); }
.ms-hp .category-shortcuts-action { display:flex; justify-content:center; margin-top:var(--ms-space-24); }
@media(max-width:760px) {
  .ms-hp .category-shortcuts-action { margin-top:var(--ms-space-16); }
}

/* --- showroom.css --- */
html .ms-hp .showroom-section { background:var(--ms-color-sage); scroll-margin-top:var(--ms-space-24); }
.ms-hp .showroom-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--ms-space-64); align-items:center; }
.ms-hp .showroom-copy { max-width:480px; }
.ms-hp .showroom-copy h2 { margin:0 0 var(--ms-space-16); font:var(--ms-h2-weight) var(--ms-h2-size)/var(--ms-h2-line) var(--ms-font-heading); letter-spacing:var(--ms-h2-tracking); color:var(--ms-color-text); }
.ms-hp .showroom-intro { margin:0 0 var(--ms-space-24); color:var(--ms-color-muted); font:var(--ms-body-weight) var(--ms-body-size)/var(--ms-body-line) var(--ms-font-body); }
.ms-hp .showroom-copy address { margin:0 0 var(--ms-space-16); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); color:var(--ms-color-text); }
.ms-hp .showroom-copy address strong { font-family:var(--ms-font-heading); font-weight:var(--ms-button-weight); }
.ms-hp .showroom-hours { margin:0 0 var(--ms-space-24); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); color:var(--ms-color-muted); }
.ms-hp .showroom-hours strong { color:var(--ms-color-text); font-weight:var(--ms-small-weight); }
.ms-hp .showroom-link-note { margin:var(--ms-space-8) 0 0; color:var(--ms-color-muted); font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); }
@media(max-width:980px) {
  .ms-hp .showroom-layout { gap:var(--ms-space-32); }
}
@media(max-width:760px) {
  .ms-hp .showroom-layout { grid-template-columns:1fr; gap:var(--ms-space-24); }
  .ms-hp .showroom-copy { max-width:none; }
  .ms-hp .showroom-copy h2 { margin-bottom:var(--ms-space-12); }
  .ms-hp .showroom-intro { margin-bottom:var(--ms-space-20); }
  .ms-hp .showroom-copy address { margin-bottom:var(--ms-space-12); }
  .ms-hp .showroom-hours { margin-bottom:var(--ms-space-20); }
}
html .ms-hp .showroom-section--film { padding-top:0; }
.ms-hp .showroom-film { position:relative; width:100%; aspect-ratio:16/9; background:var(--ms-color-text); }
.ms-hp .showroom-film-cover { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--ms-color-white); }
.ms-hp .showroom-film-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ms-hp .showroom-film-cover::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.16); transition:background var(--ms-motion-standard); }
.ms-hp .showroom-film-cover:hover::after { background:rgba(0,0,0,.08); }
.ms-hp .showroom-film-label { position:relative; z-index:1; pointer-events:none; }
.ms-hp .showroom-film-label svg { width:var(--ms-space-16); height:var(--ms-space-16); fill:currentColor; }
.ms-hp .showroom-film-cover:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:calc(-1 * var(--ms-control-focus-width)); z-index:2; }
.ms-hp .showroom-film-cover:focus-visible .ms-button { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
.ms-hp .showroom-film-details { padding-top:var(--ms-space-40); }
.ms-hp .showroom-section--film .showroom-layout { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; }
.ms-hp .showroom-section--film .showroom-copy { max-width:600px; }
.ms-hp .showroom-section--film .showroom-visit-info { display:grid; grid-template-columns:1fr 1fr; gap:var(--ms-space-24); padding-top:var(--ms-space-8); }
.ms-hp .showroom-visit-info address { margin:0; color:var(--ms-color-text); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .showroom-visit-info address strong { font-family:var(--ms-font-heading); font-weight:var(--ms-button-weight); }
@media(max-width:980px) {
  .ms-hp .showroom-section--film .showroom-visit-info { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .ms-hp .showroom-film-details { padding-top:var(--ms-space-24); }
  .ms-hp .showroom-section--film .showroom-layout { grid-template-columns:1fr; gap:var(--ms-space-24); }
  .ms-hp .showroom-section--film .showroom-visit-info { grid-template-columns:1fr 1fr; gap:var(--ms-space-16); padding-top:0; }
  .ms-hp .showroom-section--film .showroom-hours { margin:0; }
}
@media(prefers-reduced-motion:reduce) {
  .ms-hp .showroom-film-cover::after { transition:none; }
}
.ms-hp .showroom-film-cover, .ms-hp .showroom-film-cover:hover { text-decoration:none; }
@media(min-width:761px) {
  html .ms-hp .showroom-section--film { padding-top:var(--ms-section-space); }
  .ms-hp .showroom-stage { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,320px); align-items:center; gap:var(--ms-space-80); max-width:var(--ms-container); padding-inline:var(--ms-gutter); margin-inline:auto; }
  .ms-hp .showroom-film { grid-column:2; grid-row:1; aspect-ratio:9/16; border-radius:var(--ms-radius-media); overflow:hidden; }
  .ms-hp .showroom-film-cover img { object-fit:cover; object-position:center; }
  .ms-hp .showroom-film-label { position:absolute; bottom:var(--ms-space-24); }
  .ms-hp .showroom-film-details { grid-column:1; grid-row:1; width:100%; padding:0; }
  .ms-hp .showroom-section--film .showroom-layout { grid-template-columns:1fr; gap:var(--ms-space-32); }
  .ms-hp .showroom-section--film .showroom-copy { max-width:560px; }
  .ms-hp .showroom-section--film .showroom-visit-info { grid-template-columns:1fr 1fr; max-width:520px; gap:var(--ms-space-24); padding:0; }
  .ms-hp .showroom-section--film .showroom-hours { margin:0; }
}
@media(min-width:761px) and (max-width:1100px) {
  .ms-hp .showroom-stage { grid-template-columns:minmax(0,1fr) minmax(240px,28%); gap:var(--ms-space-40); }
}

/* --- editorial.css --- */
html:not(.ms-hp-off) .ms-hp .category-shortcuts { background:var(--ms-color-white); }
html:not(.ms-hp-off) .ms-hp .showroom-section { background:var(--ms-color-surface); }
html:not(.ms-hp-off) .ms-hp .paths--refined { background:var(--ms-color-white); }
html:not(.ms-hp-off) .ms-hp .paths--refined .shopping-card { background:var(--ms-color-surface); }
html:not(.ms-hp-off) .ms-hp .paths--refined .shopping-body .ms-tag { background:var(--ms-color-white); color:var(--ms-color-muted); }
html:not(.ms-hp-off) .ms-hp .category-shortcut { color:var(--ms-color-text); }
.ms-hp .journal-section { background:var(--ms-color-white); scroll-margin-top:var(--ms-space-24); }
.ms-hp .journal-heading { display:flex; align-items:baseline; justify-content:space-between; gap:var(--ms-space-24); }
.ms-hp .journal-heading .ms-link { flex-shrink:0; }
.ms-hp .journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ms-space-32); }
.ms-hp .journal-card { display:flex; flex-direction:column; align-items:flex-start; border-top:1px solid var(--ms-color-border); padding-top:var(--ms-space-24); text-decoration:none; color:var(--ms-color-text); min-width:0; }
.ms-hp .journal-category { color:var(--ms-color-muted); font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); margin-bottom:var(--ms-space-12); }
.ms-hp .journal-card h3 { margin:0 0 var(--ms-space-12); font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--ms-font-heading); }
.ms-hp .journal-card p { margin:0 0 var(--ms-space-12); color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .journal-card .journal-link { margin-top:auto; }
.ms-hp .journal-card:hover h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.ms-hp .journal-card:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
@media(max-width:760px) {
  .ms-hp .journal-heading { display:block; }
  .ms-hp .journal-heading h2 { margin-bottom:var(--ms-space-8); }
  .ms-hp .journal-grid { grid-template-columns:1fr; gap:var(--ms-space-20); }
  .ms-hp .journal-card { padding-top:var(--ms-space-20); }
  .ms-hp .journal-category { margin-bottom:var(--ms-space-8); }
  .ms-hp .journal-card h3 { margin-bottom:var(--ms-space-8); }
  .ms-hp .journal-card p { margin-bottom:var(--ms-space-4); }
}
.ms-hp .finishing-break { position:relative;
  overflow:hidden;
  background:linear-gradient(110deg,var(--ms-color-brand) 0%,var(--ms-color-brand) 62%,var(--ms-color-brand-pressed) 100%);
  color:var(--ms-color-white); }
.ms-hp .finishing-break .shell { position:relative;
  min-height:270px;
  display:flex;
  align-items:center; }
.ms-hp .finishing-break-copy { position:relative;
  z-index:2;
  max-width:760px;
  margin-inline:auto;
  padding-block:var(--ms-space-64);
  text-align:center; }
.ms-hp .finishing-break-kicker { margin:0 0 var(--ms-space-12);
  color:color-mix(in srgb,var(--ms-color-white) 76%,transparent);
  font:var(--ms-button-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-heading);
  letter-spacing:.14em;
  text-transform:uppercase; }
.ms-hp .finishing-break-statement { max-width:660px;
  margin:0 0 var(--ms-space-12);
  color:var(--ms-color-white);
  font:var(--ms-h2-weight) clamp(2rem,4.1vw,3.75rem)/1.08 var(--ms-font-heading);
  letter-spacing:-.035em;
  text-wrap:balance; }
.ms-hp .finishing-break-detail { max-width:520px;
  margin:0 auto;
  color:color-mix(in srgb,var(--ms-color-white) 84%,transparent);
  font:var(--ms-body-weight) var(--ms-body-size)/var(--ms-body-line) var(--ms-font-body); }
.ms-hp .finishing-break-art { position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none; }
.ms-hp .finishing-ornament { position:absolute;
  display:block;
  border:1px solid color-mix(in srgb,var(--ms-color-white) 34%,transparent);
  border-radius:50%; }
.ms-hp .finishing-ornament::before { content:"";
  position:absolute;
  left:50%;
  bottom:100%;
  width:1px;
  height:140px;
  background:color-mix(in srgb,var(--ms-color-white) 30%,transparent); }
.ms-hp .finishing-ornament::after { content:"";
  position:absolute;
  left:50%;
  top:-10px;
  width:28px;
  height:13px;
  border:1px solid color-mix(in srgb,var(--ms-color-white) 38%,transparent);
  border-bottom:0;
  transform:translateX(-50%); }
.ms-hp .finishing-ornament--large { right:clamp(-40px,4vw,70px);
  bottom:-105px;
  width:300px;
  height:300px; }
.ms-hp .finishing-ornament--small { left:clamp(-45px,3vw,48px);
  top:-55px;
  width:130px;
  height:130px; }
@media(max-width:760px) {
  .ms-hp .finishing-break .shell { min-height:230px; }
  .ms-hp .finishing-break-copy { max-width:86%; padding-block:var(--ms-space-40); }
  .ms-hp .finishing-break-statement { font-size:clamp(1.75rem,8vw,2.5rem); }
  .ms-hp .finishing-break-detail { font-size:var(--ms-small-size); }
  .ms-hp .finishing-ornament--large { right:-105px; bottom:-70px; width:230px; height:230px; }
  .ms-hp .finishing-ornament--small { display:none; }
}

/* --- christmas-at-home.css --- */
.ms-hp .home-master { margin:0; scroll-margin-top:var(--ms-space-24); background:var(--ms-color-surface); }
.ms-hp .home-master > img { display:block; width:100%; height:auto; aspect-ratio:5/2; max-height:560px; object-fit:cover; object-position:center 40%; }
.ms-hp .customer-reviews .section-head { display:block; text-align:center; margin-bottom:var(--ms-space-32); }
.ms-hp .customer-reviews .section-head h2 { margin:0; }
.ms-hp .customer-reviews .home-gallery-grid { margin-bottom:var(--ms-space-16); }
.ms-hp .customer-gallery-footer { display:flex; align-items:center; justify-content:space-between; gap:var(--ms-space-24); margin-bottom:var(--ms-space-64); }
.ms-hp .customer-gallery-caption { margin:0; color:var(--ms-color-muted); font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); }
.ms-hp .customer-gallery-link { flex:0 0 auto; }
.ms-hp .customer-reviews-subtitle { margin:0 0 var(--ms-space-24); text-align:center; color:var(--ms-color-text); font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--ms-font-heading); }
.ms-hp .home-gallery-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:var(--ms-space-12); height:clamp(520px,55vw,700px); }
.ms-hp .home-gallery-grid figure { margin:0; min-width:0; overflow:hidden; border-radius:var(--ms-radius-media); background:var(--ms-color-surface); }
.ms-hp .home-gallery-grid .home-gallery-main { grid-row:1 / 3; }
.ms-hp .home-gallery-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform var(--ms-motion-standard); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .ms-hp .home-gallery-grid figure:hover img { transform:scale(1.025); }
}
.ms-hp .customer-reviews { background:var(--ms-color-white); scroll-margin-top:var(--ms-space-24); }
.ms-hp .customer-reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ms-space-32) var(--ms-space-48); }
.ms-hp .customer-review { display:flex; flex-direction:column; min-width:0; margin:0; padding-top:var(--ms-space-24); border-top:1px solid var(--ms-color-border); }
.ms-hp .customer-review-rating { margin:0 0 var(--ms-space-16); color:var(--ms-color-brand); font-size:var(--ms-small-size); letter-spacing:2px; }
.ms-hp .customer-review blockquote { flex:1; margin:0 0 var(--ms-space-24); color:var(--ms-color-text); font:var(--ms-lead-weight) var(--ms-lead-size)/var(--ms-lead-line) var(--ms-font-heading); }
.ms-hp .customer-review figcaption { font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .customer-review figcaption strong { display:block; font-weight:600; }
.ms-hp .customer-review figcaption > span { display:block; margin-top:var(--ms-space-4); color:var(--ms-color-muted); font-size:var(--ms-caption-size); }
.ms-hp .customer-review .ms-link { justify-content:flex-start; margin-top:var(--ms-space-8); }
.ms-hp .customer-review--featured { grid-column:1 / -1; align-items:center; padding:clamp(36px,5vw,64px) clamp(24px,8vw,112px); border:0; border-radius:var(--ms-radius-card); background:linear-gradient(135deg,var(--ms-color-surface),var(--ms-color-sage)); text-align:center; }
.ms-hp .customer-review--featured blockquote { max-width:780px; margin-bottom:var(--ms-space-24); font-size:clamp(24px,3vw,38px); line-height:1.25; letter-spacing:-.025em; }
.ms-hp .customer-review--featured figcaption { display:flex; flex-direction:column; align-items:center; }
.ms-hp .customer-review--featured .ms-link { justify-content:center; }
@media(max-width:760px) {
  .ms-hp .home-master > img { aspect-ratio:4/3; object-position:38% center; }
  .ms-hp .customer-reviews .section-head { margin-bottom:var(--ms-space-24); }
  .ms-hp .customer-gallery-footer { align-items:flex-start; flex-direction:column; gap:var(--ms-space-8); margin-bottom:var(--ms-space-48); }
  .ms-hp .home-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto; gap:var(--ms-space-8); height:auto; }
  .ms-hp .home-gallery-grid .home-gallery-main { grid-column:1 / -1; grid-row:auto; }
  .ms-hp .home-gallery-main img { aspect-ratio:4/5; object-position:center; }
  .ms-hp .home-gallery-grid figure:not(.home-gallery-main) img { aspect-ratio:1; }
  .ms-hp .customer-reviews-grid { grid-template-columns:1fr; gap:var(--ms-space-24); }
  .ms-hp .customer-review { padding-top:var(--ms-space-20); }
  .ms-hp .customer-review blockquote { margin-bottom:var(--ms-space-16); font-size:var(--ms-body-size); }
  .ms-hp .customer-review--featured { grid-column:auto; padding:var(--ms-space-32) var(--ms-space-24); }
  .ms-hp .customer-review--featured blockquote { font-size:22px; line-height:1.35; }
}

/* --- finish-sections.css --- */
.ms-hp .why-mason { background:var(--ms-color-surface); scroll-margin-top:var(--ms-space-24); }
.ms-hp .why-mason .why-mason-head { display:flex; align-items:baseline; justify-content:space-between; gap:var(--ms-space-24); }
.ms-hp .why-mason-head h2 { margin:0; }
.ms-hp .why-mason-head .ms-link { flex-shrink:0; }
.ms-hp .why-mason-rail:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); border-radius:var(--ms-radius-card); }
.ms-hp .why-mason-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:var(--ms-space-24); margin:0; padding:0; list-style:none; }
.ms-hp .why-mason-item { display:grid; grid-row:span 5; grid-template-rows:subgrid; row-gap:0; min-width:0; overflow:hidden; border-radius:var(--ms-radius-card); background:var(--ms-color-white); }
.ms-hp .why-mason-item > :not(.why-mason-media) { margin-inline:var(--ms-space-24); }
.ms-hp .why-mason-media { aspect-ratio:1; border-radius:0; }
.ms-hp .why-mason-media > img { object-fit:cover; }
.ms-hp .why-mason-media--family > img { object-position:25% center; }
.ms-hp .why-mason-item .ms-tag { align-self:start; margin-top:var(--ms-space-24); margin-bottom:var(--ms-space-12); }
.ms-hp .why-mason-item h3 { margin-block:0 var(--ms-space-8); color:var(--ms-color-text); font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--ms-font-heading); letter-spacing:var(--ms-h3-tracking); }
.ms-hp .why-mason-copy { margin-block:0 var(--ms-space-16); color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .why-mason-points { display:grid; align-content:start; gap:var(--ms-space-8); margin-block:0 var(--ms-space-24); padding:var(--ms-space-16) 0 0; border-top:1px solid var(--ms-color-border); list-style:none; }
.ms-hp .why-mason-points li { position:relative; padding-left:var(--ms-space-24); color:var(--ms-color-text); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .why-mason-points li::before { content:""; position:absolute; left:var(--ms-space-4); top:var(--ms-space-4); width:var(--ms-space-12); height:calc(var(--ms-space-12) / 2); border-left:var(--ms-control-stroke) solid var(--ms-color-brand); border-bottom:var(--ms-control-stroke) solid var(--ms-color-brand); transform:rotate(-45deg); }
.ms-hp .why-mason-tools { margin-top:var(--ms-space-16); }
@media(max-width:980px) and (min-width:761px) {
  .ms-hp .why-mason-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .ms-hp .why-mason .why-mason-head { display:block; }
  .ms-hp .why-mason-head h2 { margin-bottom:var(--ms-space-4); }
  .ms-hp .why-mason-rail { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; margin:calc(-1 * var(--ms-space-4)); padding:var(--ms-space-4); }
  .ms-hp .why-mason-rail::-webkit-scrollbar { display:none; }
  .ms-hp .why-mason-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:82%; gap:var(--ms-space-16); }
  .ms-hp .why-mason-item { scroll-snap-align:start; }
  .ms-hp .why-mason-item > :not(.why-mason-media) { margin-inline:var(--ms-space-16); }
  .ms-hp .why-mason-item .ms-tag { margin-top:var(--ms-space-16); }
  .ms-hp .why-mason-points { gap:var(--ms-space-4); margin-bottom:var(--ms-space-16); padding-top:var(--ms-space-12); }
}
.ms-hp .customer-reviews .home-gallery-grid { margin-bottom:var(--ms-space-12); }
.ms-hp .home-gallery-strip { margin-bottom:var(--ms-space-16); }
.ms-hp .home-gallery-rail { overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; }
.ms-hp .home-gallery-rail::-webkit-scrollbar { display:none; }
.ms-hp .home-gallery-rail:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); border-radius:var(--ms-radius-media); }
.ms-hp .home-gallery-rail ul { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 5 * var(--ms-space-12)) / 6); gap:var(--ms-space-12); margin:0; padding:0; list-style:none; }
.ms-hp .home-gallery-rail li { min-width:0; margin:0; overflow:hidden; border-radius:var(--ms-radius-media); background:var(--ms-color-surface); scroll-snap-align:start; }
.ms-hp .home-gallery-rail img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; transition:transform var(--ms-motion-standard); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .ms-hp .home-gallery-rail li:hover img { transform:scale(1.025); }
}
@media(max-width:760px) {
  .ms-hp .customer-reviews .home-gallery-grid { margin-bottom:var(--ms-space-8); }
  .ms-hp .home-gallery-rail ul { grid-auto-columns:40%; gap:var(--ms-space-8); }
}
.ms-hp .faq-section { background:var(--ms-color-white); border-top:1px solid var(--ms-color-border); scroll-margin-top:var(--ms-space-24); }
.ms-hp .faq-section .faq-head { display:block; }
.ms-hp .faq-head h2 { margin:0; }
.ms-hp .faq-list { border-top:1px solid var(--ms-color-border); }
.ms-hp .faq-item { border-bottom:1px solid var(--ms-color-border); }
.ms-hp .faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:var(--ms-space-16); min-height:var(--ms-control-height); padding:var(--ms-space-12) var(--ms-space-4); color:var(--ms-color-text); list-style:none; cursor:pointer; transition:color var(--ms-motion-fast),background-color var(--ms-motion-fast); }
.ms-hp .faq-item summary::-webkit-details-marker { display:none; }
.ms-hp .faq-item summary h3 { margin:0; color:inherit; font:var(--ms-button-weight) var(--ms-body-size)/var(--ms-body-line) var(--ms-font-heading); }
.ms-hp .faq-item summary svg { flex:0 0 var(--ms-control-icon); width:var(--ms-control-icon); height:var(--ms-control-icon); fill:none; stroke:currentColor; stroke-width:var(--ms-control-stroke); transition:transform var(--ms-motion-standard); }
.ms-hp .faq-item[open] > summary svg { transform:rotate(180deg); }
.ms-hp .faq-item summary:hover { color:var(--ms-color-brand-hover); }
.ms-hp .faq-item summary:active { color:var(--ms-color-brand-pressed); }
.ms-hp .faq-item summary:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
.ms-hp .faq-answer { max-width:70ch; padding:0 var(--ms-space-4) var(--ms-space-20); color:var(--ms-color-muted); font:var(--ms-body-weight) var(--ms-body-size)/var(--ms-body-line) var(--ms-font-body); }
.ms-hp .faq-answer p, .ms-hp .faq-answer ul { margin:0 0 var(--ms-space-12); }
.ms-hp .faq-answer ul { padding-left:var(--ms-space-20); }
.ms-hp .faq-answer > :last-child { margin-bottom:0; }
.ms-hp .faq-answer strong { color:var(--ms-color-text); font-weight:600; }
.ms-hp .faq-answer img { display:block; width:100%; height:auto; margin:0 0 var(--ms-space-16); border-radius:var(--ms-radius-media); }
.ms-hp .faq-answer a { color:var(--ms-color-brand); font-weight:var(--ms-button-weight); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; transition:color var(--ms-motion-fast); }
.ms-hp .faq-answer a:hover { color:var(--ms-color-brand-hover); text-decoration-thickness:2px; }
.ms-hp .faq-answer a:active { color:var(--ms-color-brand-pressed); text-decoration-thickness:2px; }
.ms-hp .faq-answer a:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
.ms-hp .faq-more { margin:var(--ms-space-16) 0 0; }
@media(prefers-reduced-motion:reduce) {
  .ms-hp .faq-item summary, .ms-hp .faq-item summary svg { transition:none; }
}
@media(max-width:760px) {
  .ms-hp .faq-answer { padding-bottom:var(--ms-space-16); font-size:var(--ms-small-size); }
}
@media(prefers-reduced-motion:reduce) {
  .ms-hp .faq-answer a { transition:none; }
}
.ms-hp .customer-reviews .section-head h2 { margin-inline:auto; }
.ms-hp .showroom-gallery { margin-top:var(--ms-space-40); }
.ms-hp .showroom-gallery-rail img { aspect-ratio:1; }
@media(max-width:760px) {
  .ms-hp .showroom-gallery { margin-top:var(--ms-space-24); }
}
.ms-hp .journal-grid { margin:0; padding:0; list-style:none; }
.ms-hp .journal-grid > li { display:flex; min-width:0; }
.ms-hp .journal-card { flex:1; border-top:0; padding-top:0; }
.ms-hp .journal-media { width:100%; aspect-ratio:4/3; margin-bottom:var(--ms-space-16); }
.ms-hp .journal-media > img { object-fit:cover; transition:transform var(--ms-motion-standard); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .ms-hp .journal-card:hover .journal-media > img { transform:scale(1.025); }
}
.ms-hp .journal-rail:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); border-radius:var(--ms-radius-card); }
.ms-hp .journal-tools { margin-top:var(--ms-space-16); }
@media(max-width:760px) {
  .ms-hp .journal-rail { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; margin:calc(-1 * var(--ms-space-4)); padding:var(--ms-space-4); }
  .ms-hp .journal-rail::-webkit-scrollbar { display:none; }
  .ms-hp .journal-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:82%; gap:var(--ms-space-16); }
  .ms-hp .journal-grid > li { scroll-snap-align:start; }
  .ms-hp .journal-card { padding-top:0; }
  .ms-hp .journal-media { margin-bottom:var(--ms-space-12); }
}
.ms-hp [data-baubles].section { position:relative; }
.ms-hp .section-baubles { position:absolute; top:0; left:0; right:0; height:0; pointer-events:none; }
.ms-hp .section-baubles .ms-bauble { pointer-events:auto; }
.ms-hp .section-baubles--kits .ms-bauble--left { --bauble-size:48px; --bauble-string:32px; top:calc(32px + var(--ms-space-12)); left:calc(50% - 24px); }
.ms-hp .section-baubles--kits .ms-bauble--right { --bauble-size:64px; --bauble-string:56px; top:calc(56px + var(--ms-space-12)); left:calc(50% + 72px); }
.ms-hp .section-baubles--faq .ms-bauble--small { --bauble-size:36px; --bauble-string:16px; top:calc(16px + var(--ms-space-12)); right:calc(var(--ms-gutter) + 96px); }
.ms-hp .section-baubles--faq .ms-bauble--large { --bauble-size:56px; --bauble-string:40px; top:calc(40px + var(--ms-space-12)); right:var(--ms-gutter); }
.ms-hp .section-baubles--extras, .ms-hp .section-baubles--review { display:none; }
@media(max-width:760px) {
  .ms-hp .section-baubles--kits { display:none; }
  .ms-hp .section-baubles--faq .ms-bauble--large { display:none; }
  .ms-hp .section-baubles--faq .ms-bauble--small { --bauble-size:32px; --bauble-string:20px; top:calc(20px + var(--ms-space-12)); right:var(--ms-gutter); }
  .ms-hp .section-baubles--extras { display:block; }
  .ms-hp .section-baubles--extras .ms-bauble--a { --bauble-size:36px; --bauble-string:28px; top:calc(28px + var(--ms-space-12)); right:var(--ms-gutter); }
  .ms-hp .section-baubles--extras .ms-bauble--b { --bauble-size:20px; --bauble-string:4px; top:calc(4px + var(--ms-space-12)); right:calc(var(--ms-gutter) + 48px); }
  .ms-hp .customer-review--featured { position:relative; overflow:hidden; }
  .ms-hp .section-baubles--review { display:block; }
  .ms-hp .section-baubles--review .ms-bauble { --bauble-size:32px; --bauble-string:16px; top:calc(16px + var(--ms-space-12)); right:var(--ms-space-16); }
}
.ms-hp .finishing-break .ms-bauble { --bauble-line:color-mix(in srgb,var(--ms-color-white) 34%,transparent);
 --bauble-glint:color-mix(in srgb,var(--ms-color-white) 22%,transparent);
 pointer-events:auto; transform-origin:50% -150px; }
.ms-hp .finishing-ornament--medium { right:clamp(260px,26vw,400px); top:-20px; width:96px; height:96px; }
@media(max-width:760px) {
  .ms-hp .finishing-ornament--medium { display:none; }
}
@media(min-width:761px) {
  .ms-hp .showroom-stage { grid-template-columns:minmax(0,1fr) 225px; }
}
@media(min-width:761px) and (max-width:1100px) {
  .ms-hp .showroom-stage { grid-template-columns:minmax(0,1fr) 200px; }
}
.ms-hp .showroom-cta .showroom-link-note { margin-top:var(--ms-space-8); }
@media(max-width:359px) {
  .ms-hp .section-baubles--extras, .ms-hp .section-baubles--faq { display:none; }
}
.ms-hp .why-mason-rail, .ms-hp .journal-rail { scroll-padding-inline:var(--ms-space-4); }
.ms-hp .section-baubles--premium, .ms-hp .section-baubles--paths { display:none; }
@media(max-width:760px) {
  .ms-hp .section-baubles--premium { display:block; }
  .ms-hp .section-baubles--premium .ms-bauble--a { --bauble-size:32px; --bauble-string:24px; top:calc(24px + var(--ms-space-12)); right:var(--ms-gutter); }
  .ms-hp .section-baubles--premium .ms-bauble--b { --bauble-size:20px; --bauble-string:4px; top:calc(4px + var(--ms-space-12)); right:calc(var(--ms-gutter) + 44px); }
  .ms-hp .section-baubles--paths { display:block; }
  .ms-hp .section-baubles--paths .ms-bauble--left { --bauble-size:24px; --bauble-string:12px; top:calc(12px + var(--ms-space-12)); left:var(--ms-gutter); }
  .ms-hp .section-baubles--paths .ms-bauble--right { --bauble-size:20px; --bauble-string:28px; top:calc(28px + var(--ms-space-12)); right:var(--ms-gutter); }
}
@media(max-width:359px) {
  .ms-hp .section-baubles--premium, .ms-hp .section-baubles--paths { display:none; }
}
@media(max-width:760px) {
  .ms-hp .showroom-section--film .showroom-visit-info { grid-template-columns:1fr; gap:var(--ms-space-12); }
}
.ms-hp .services-section { background:var(--ms-color-white); scroll-margin-top:var(--ms-space-24); }
.ms-hp .services-section .services-head { display:flex; flex-direction:column; align-items:center; gap:var(--ms-space-12); max-width:720px; margin:0 auto var(--ms-space-40); text-align:center; }
.ms-hp .services-head h2, .ms-hp .services-head p { margin:0; }
.ms-hp .services-head p { color:var(--ms-color-muted); font:var(--ms-lead-weight) var(--ms-lead-size)/var(--ms-lead-line) var(--ms-font-body); }
.ms-hp .services-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ms-space-24); margin:0; padding:0; list-style:none; }
.ms-hp .services-grid > li { display:flex; min-width:0; }
.ms-hp .service-item { flex:1; display:flex; flex-direction:column; align-items:center; gap:var(--ms-space-8); padding:var(--ms-space-16); border-radius:var(--ms-radius-card); color:var(--ms-color-text); text-align:center; text-decoration:none; transition:background-color var(--ms-motion-fast); }
.ms-hp .service-icon { display:grid; place-items:center; width:var(--ms-space-64); height:var(--ms-space-64); color:var(--ms-color-brand); }
.ms-hp .service-icon svg { width:var(--ms-control-height); height:var(--ms-control-height); fill:none; stroke:currentColor; stroke-width:var(--ms-control-stroke); stroke-linecap:round; stroke-linejoin:round; }
.ms-hp .service-item .service-title { margin:0; color:var(--ms-color-text); font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--ms-font-heading); letter-spacing:var(--ms-h3-tracking); }
.ms-hp .service-copy { color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .service-item:hover { background:var(--ms-color-surface); }
.ms-hp .service-item:hover .service-title { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.ms-hp .service-item:active { background:var(--ms-color-sage); }
.ms-hp .service-item:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
@media(max-width:980px) and (min-width:761px) {
  .ms-hp .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .ms-hp .services-section .services-head { margin-bottom:var(--ms-space-24); }
  .ms-hp .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ms-space-8); }
  .ms-hp .service-item { padding:var(--ms-space-12) var(--ms-space-4); }
  .ms-hp .service-icon { width:var(--ms-space-48); height:var(--ms-space-48); }
  .ms-hp .service-icon svg { width:var(--ms-space-40); height:var(--ms-space-40); }
}
@media(prefers-reduced-motion:reduce) {
  .ms-hp .service-item { transition:none; }
}
.ms-hp .hero { position:relative; }
.ms-hp .section-baubles--hero .ms-bauble--a { --bauble-size:36px; --bauble-string:20px; top:calc(20px + var(--ms-space-12)); left:calc(50% - 232px); }
.ms-hp .section-baubles--hero .ms-bauble--b { --bauble-size:48px; --bauble-string:44px; top:calc(44px + var(--ms-space-12)); left:calc(50% - 168px); }
.ms-hp .section-baubles--hero .ms-bauble--c { --bauble-size:28px; --bauble-string:32px; top:calc(32px + var(--ms-space-12)); left:calc(50% - 96px); }
@media(max-width:760px) {
  .ms-hp .section-baubles--hero { top:calc(var(--ms-space-32) + 290px); }
  .ms-hp .section-baubles--hero .ms-bauble--a { --bauble-size:20px; --bauble-string:12px; top:calc(12px + var(--ms-space-12)); left:auto; right:calc(var(--ms-gutter) + 56px); }
  .ms-hp .section-baubles--hero .ms-bauble--b { --bauble-size:28px; --bauble-string:36px; top:calc(36px + var(--ms-space-12)); left:auto; right:calc(var(--ms-gutter) + 24px); }
  .ms-hp .section-baubles--hero .ms-bauble--c { --bauble-size:16px; --bauble-string:24px; top:calc(24px + var(--ms-space-12)); left:auto; right:var(--ms-gutter); }
}
@media(min-width:761px) and (max-width:1100px) {
  .ms-hp .section-baubles--hero .ms-bauble--a { --bauble-size:32px; --bauble-string:16px; top:calc(16px + var(--ms-space-12)); }
  .ms-hp .section-baubles--hero .ms-bauble--b { --bauble-size:40px; --bauble-string:28px; top:calc(28px + var(--ms-space-12)); }
  .ms-hp .section-baubles--hero .ms-bauble--c { --bauble-size:24px; --bauble-string:24px; top:calc(24px + var(--ms-space-12)); }
}
@media(max-width:359px) {
  .ms-hp .section-baubles--hero { display:none; }
}
@media(min-width:761px) {
  .ms-hp .press-controls { padding-top:5px; }
}
.ms-hp .press-controls { justify-content:flex-end; }
@media(min-width:761px) {
  .ms-hp .customer-review--featured { position:relative; overflow:hidden; }
  .ms-hp .section-baubles--review { display:block; }
  .ms-hp .section-baubles--review .ms-bauble { --bauble-size:48px; --bauble-string:40px; top:calc(40px + var(--ms-space-12)); right:var(--ms-space-64); }
}
.ms-hp .hero .ms-link--quiet { padding-inline:calc(var(--ms-space-4) + 3px); }
.ms-hp .press-controls .ms-icon-button.ms-icon-button--carousel:not(:disabled):not(:hover):not(:active) { border-color:var(--ms-color-border); color:var(--ms-color-muted); }
.ms-hp .category-shortcuts { padding-top:var(--ms-space-40); padding-bottom:0; }
.ms-hp .category-shortcuts + .section { padding-top:var(--ms-space-40); }
@media(max-width:760px) {
  .ms-hp .category-shortcuts { padding-top:var(--ms-space-32); }
  .ms-hp .category-shortcuts + .section { padding-top:var(--ms-space-32); }
}
.ms-hp .paths--refined .shopping-media { position:relative; }
.ms-hp .shopping-tag { position:absolute; left:var(--ms-space-12); bottom:var(--ms-space-12); max-width:calc(100% - 2 * var(--ms-space-12)); box-sizing:border-box; white-space:normal; text-wrap:pretty; pointer-events:none; }
.ms-hp .shopping-copy-tag { display:none; }
@media(max-width:760px) {
  .ms-hp .shopping-tag { display:none; }
  .ms-hp .shopping-copy-tag { display:block; }
}
.ms-hp .products--kits .product-image-link { position:relative; }
@media(min-width:761px) {
  .ms-hp .category-shortcuts-grid { max-width:1040px; }
  .ms-hp .category-shortcut-image { max-width:160px; }
}
@media(max-width:760px) {
  .ms-hp .ms-cta-reveal .ms-cta-arrow { display:none; }
  .ms-hp .ms-cta-reveal .ms-cta-label, .ms-hp .ms-action-card .ms-cta-label { transform:none; }
}
.ms-hp .section-head-cta { flex-shrink:0; padding-inline:calc(var(--ms-space-4) + 3px); font-size:var(--ms-body-size); }
.ms-hp .section-head-cta .ms-cta-label { transform:none; }
.ms-hp .section-head-cta .ms-cta-arrow { opacity:1; transform:none; }
@media(min-width:761px) {
  .ms-hp .showroom-stage { grid-template-columns:minmax(0,1fr) calc((100% - 5 * var(--ms-space-12)) / 3 + var(--ms-space-12)); gap:var(--ms-space-64); }
  .ms-hp .showroom-film { aspect-ratio:1; }
  .ms-hp .showroom-film-cover img { transform:scale(1.31); transform-origin:50% 0; }
}
@media(min-width:761px) and (max-width:1100px) {
  .ms-hp .showroom-stage { gap:var(--ms-space-40); }
}
.ms-hp .showroom-visit-info address { display:grid; grid-template-columns:var(--ms-control-icon) minmax(0,1fr); gap:var(--ms-space-8); font-size:var(--ms-body-size); line-height:var(--ms-body-line); }
.ms-hp .showroom-visit-info .showroom-hours { display:grid; grid-template-columns:var(--ms-control-icon) minmax(0,1fr); gap:var(--ms-space-8); font-size:var(--ms-body-size); line-height:var(--ms-body-line); }
.ms-hp .showroom-icon { display:block; padding-top:2px; color:var(--ms-color-brand); }
.ms-hp .showroom-icon svg { display:block; width:var(--ms-control-icon); height:var(--ms-control-icon); fill:none; stroke:currentColor; stroke-width:var(--ms-control-stroke); stroke-linecap:round; stroke-linejoin:round; }
.ms-hp .home-group-context .home-group-tip { margin-bottom:var(--ms-space-4); color:var(--ms-color-text); }
.ms-hp .hero .hero-copy > p.hero-trust { max-width:none; margin:0 0 var(--ms-space-12); color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
.ms-hp .paths--refined .section-head .paths-intro { margin:var(--ms-space-12) 0 0; color:var(--ms-color-muted); }
@media(max-width:760px) {
  .ms-hp .hero .hero-copy > p.hero-trust { max-width:calc(100% - 96px); margin-bottom:var(--ms-space-8); }
}
.ms-hp .hero .hero-copy > p.hero-trust { margin-bottom:var(--ms-space-4); font-weight:600; letter-spacing:-0.05em; line-height:1.35; }
.ms-hp .hero-trust-break { display:none; }
@media(max-width:760px) {
  .ms-hp .hero-trust-break { display:inline; }
}
.ms-hp .hero .hero-copy > p.hero-trust { font-weight:400; }
.ms-hp .hero .hero-copy > p.hero-trust strong { font-weight:600; }
.ms-hp .home-group-context p { font-size:var(--ms-small-size); line-height:var(--ms-small-line); }

/* --- motion.css --- */
@keyframes ms-rise-in { from { opacity:0; transform:translateY(var(--ms-space-12)); } to { opacity:1; transform:none; } }
@keyframes ms-rise { from { transform:translateY(var(--ms-space-12)); } to { transform:none; } }
@keyframes ms-lights-on { from { transform:scale(1.04); filter:brightness(.82) saturate(.92); } to { transform:none; filter:none; } }
@keyframes ms-glint { from { transform:translateX(-120%); } to { transform:translateX(120%); } }
html.ms-motion .ms-hp .hero-image img { animation:ms-lights-on calc(var(--ms-motion-entrance) * 2) cubic-bezier(.2,.7,.2,1) both; }
html.ms-motion .ms-hp .hero-copy > :not(h1) { animation:ms-rise var(--ms-motion-entrance) ease-out both; }
html.ms-motion .ms-hp .hero-copy > :nth-child(2) { animation-delay:calc(var(--ms-motion-stagger) * 2); }
html.ms-motion .ms-hp .hero-copy > :nth-child(3) { animation-delay:calc(var(--ms-motion-stagger) * 4); }
html.ms-motion .ms-hp [data-baubles]:not(.is-swinging) .ms-bauble { opacity:0; }
html.ms-motion .ms-hp .is-swinging .ms-bauble { animation:ms-bauble-drop calc(var(--ms-motion-entrance) * 6) cubic-bezier(.36,.07,.19,.97) both; }
html.ms-motion .ms-hp .is-swinging .ms-bauble:nth-child(2) { animation-delay:calc(var(--ms-motion-stagger) * 3); }
html.ms-motion .ms-hp .is-swinging .ms-bauble:nth-child(3) { animation-delay:calc(var(--ms-motion-stagger) * 6); }
html.ms-motion .ms-hp .is-swinging .ms-bauble.is-nudged { animation:ms-bauble-nudge calc(var(--ms-motion-entrance) * 3) ease-out both; animation-delay:0ms; }
@keyframes ms-bauble-drop { 0% { opacity:0; transform:translateY(calc(-1 * var(--ms-space-32))) rotate(0); }
  22% { opacity:1; transform:translateY(var(--ms-space-4)) rotate(6deg); }
  40% { transform:translateY(0) rotate(-4.5deg); }
  58% { transform:rotate(3deg); }
  76% { transform:rotate(-1.2deg); }
  100% { opacity:1; transform:rotate(0); } }
@keyframes ms-bauble-nudge { 0% { transform:rotate(0); }
  30% { transform:rotate(-4deg); }
  60% { transform:rotate(2deg); }
  100% { transform:rotate(0); } }
html.ms-motion .ms-hp .product-grid.is-refreshing .product-card:not([hidden]) { animation:ms-rise-in var(--ms-motion-entrance) ease-out both; animation-delay:calc(var(--i, 0) * var(--ms-motion-stagger)); }
html.ms-motion .ms-hp .ms-fit-result:not([hidden]) { animation:ms-rise-in var(--ms-motion-entrance) ease-out both; }
html.ms-motion .ms-hp .is-swinging .section-baubles--hero .ms-bauble:not(.is-nudged) { animation-delay:calc(var(--ms-motion-entrance) * 1.5); }
html.ms-motion .ms-hp .is-swinging .section-baubles--hero .ms-bauble:nth-child(2):not(.is-nudged) { animation-delay:calc(var(--ms-motion-entrance) * 1.5 + var(--ms-motion-stagger) * 4); }
html.ms-motion .ms-hp .is-swinging .section-baubles--hero .ms-bauble:nth-child(3):not(.is-nudged) { animation-delay:calc(var(--ms-motion-entrance) * 1.5 + var(--ms-motion-stagger) * 8); }
.ms-hp .ms-disclosure[open].is-closing > .ms-disclosure-summary svg { transform:none; }
.ms-hp .ms-disclosure-summary svg { transition:transform var(--ms-motion-standard) ease; }
html.ms-motion .ms-hp .hero-copy > :nth-child(3) { animation-delay:calc(var(--ms-motion-stagger) * 2); }
html.ms-motion .ms-hp .hero-copy > :nth-child(4) { animation-delay:calc(var(--ms-motion-stagger) * 4); }
html.ms-motion .ms-hp .hero-copy > p.hero-trust { animation:none; }

/* --- WordPress adapter: sibling rules across element wrappers --- */
.ms-hp:has(> .category-shortcuts) + .ms-hp > .section { padding-top:var(--ms-space-40); }
@media(max-width:760px) { .ms-hp:has(> .category-shortcuts) + .ms-hp > .section { padding-top:var(--ms-space-32); } }
