/* Company pages only: Cup S retains its own visual system. */
.site-header { border-radius:16px; }
.company-page-nav { gap:2px; }
.company-page-nav > a { padding:12px 11px; font-size:.82rem; white-space:nowrap; }
.company-page-nav > a:last-child { padding-inline:15px; }
.company-page-nav > a[aria-current="page"],.company-page-header .mobile-nav a[aria-current="page"] { color:#ffac62; background:#f5822018; box-shadow:inset 0 -2px #f58220; }
.company-page-header .mobile-nav a { color:#e4e0d7; min-height:44px; }
.company-page-nav .brands-menu > button { padding:12px 11px; font-size:.82rem; }
.brands-dropdown { width:320px; padding:14px; background:#1c1f18; border-color:#ffffff26; }
.brands-dropdown > a { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:68px; padding:14px 12px; border-radius:6px; color:#e4e0d7; background:transparent; }
.brands-dropdown > a + a { border-top:1px solid #ffffff14; }
.brands-dropdown b { flex:0 0 auto; color:#f2eee7; font-size:1rem; }
.brands-dropdown small { display:flex; align-items:center; gap:6px; color:#d5d0c6; font-size:.68rem; letter-spacing:0; white-space:nowrap; }
.brands-dropdown small span { color:#ff9b43; font-size:.9rem; }
.brands-dropdown > a:hover,.brands-dropdown > a:focus-visible { background:#ffffff0e; color:#ffac62; }
.brands-dropdown > a[aria-current="page"] { color:#ffac62; background:#f5822018; }
.mobile-brands summary { padding:15px 14px; min-height:44px; border-radius:10px; color:#e4e0d7; font-size:.9rem; font-weight:700; cursor:pointer; }
.mobile-brands[open] summary { color:#ffac62; }
.mobile-brands > div { padding-left:12px; margin:0 10px 8px; border-left:1px solid #f5822060; }
.mobile-brands > div > a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:50px; color:#d0cbc1; }
.mobile-brands > div > a b { color:#f2eee7; font-size:.88rem; }
.mobile-brands > div > a small { color:#aaa69e; font-size:.61rem; text-transform:uppercase; }
.mobile-brands > div > a small span { color:#ff9b43; }
.button { border-radius:10px; }
.button-primary { color:#17120b; background:linear-gradient(120deg,#ffa34d,#f58220); font-weight:800; }
.eyebrow { color:#bbb4a9; }
.hero-intro,.about-copy p,.section-heading > p:last-child { color:#b9b7ae; }
.js .reveal { opacity:1; transform:none; }
.js .reveal.is-visible { animation:editorial-enter .65s ease both; }
@keyframes editorial-enter { from { transform:translateY(15px); } to { transform:translateY(0); } }
.hero { height:auto; min-height:0; max-height:none; }
.hero-layout { min-height:640px; padding-block:140px 70px; gap:35px; }
.hero h1 { font-size:4.8rem; line-height:1.02; letter-spacing:-.05em; }
.hero-visual { width:100%; max-width:470px; justify-self:end; }
.hero .visual-label { display:inline-flex; align-items:center; gap:9px; min-height:40px; padding:9px 12px; border-color:#ffffff35; background:#20221ee8; color:#f5f2eb; font-size:.7rem; letter-spacing:0; text-transform:none; box-shadow:0 8px 24px #0005; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.hero .visual-label span { color:#ff9b43; font-size:.9rem; line-height:1; }
.hero .visual-label:hover,.hero .visual-label:focus-visible { background:#343830; border-color:#ff9b43; transform:translateY(-3px); }
.hero .visual-label:focus-visible,.hero-mobile-links a:focus-visible { outline:2px solid #ff9b43; outline-offset:3px; }
.hero-mobile-links { display:none; }
.scroll-cue { display:none; }
.section { padding-block:72px; }
.section-heading h2 { max-width:900px; }
.solutions .division-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.solutions .division-card { width:100%; min-height:400px; }
.about .section-heading h2,.why-us .section-heading h2 { font-size:clamp(2.15rem,3vw,3.25rem); line-height:1.1; letter-spacing:0; }
.about-grid .section-heading .eyebrow,.why-us .section-heading .eyebrow { margin-bottom:16px; }
.about .section-heading > .section-intro,.why-us .section-heading > .section-intro { max-width:520px; margin:18px 0 0; color:#e4e0d6; font-size:clamp(1.15rem,1.35vw,1.3rem); line-height:1.5; }
.about-grid { grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:clamp(36px,5vw,72px); align-items:start; }
.about-copy { padding-top:0; }
.about-copy .about-lead { max-width:760px; margin:0 0 24px; font-size:clamp(1.08rem,1.25vw,1.2rem); line-height:1.55; letter-spacing:0; }
.about-details { columns:2 260px; column-gap:32px; }
.about-details p { break-inside:avoid; margin:0 0 18px; font-size:.91rem; line-height:1.62; }
.solutions .section-heading { grid-template-columns:1.8fr 1fr; }
.why-us { position:relative; overflow:hidden; border-top:1px solid #ffffff12; background:radial-gradient(circle at 12% 15%,#f5822018,transparent 34%),#11130f; }
.why-us-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(45px,7vw,110px); align-items:start; }
.why-us .section-heading { display:block; position:sticky; top:96px; }
.why-us .section-heading > p:last-child { max-width:520px; margin:12px 0 0; font-size:.96rem; }
.why-us-list { display:grid; margin:0; padding:0; list-style:none; border-top:1px solid #ffffff1a; }
.why-us-list li { display:grid; grid-template-columns:46px minmax(0,1fr); gap:16px; align-items:center; min-height:78px; padding:15px 4px; border-bottom:1px solid #ffffff1a; }
.why-us-list span { color:#f58220; font-size:.63rem; font-weight:900; letter-spacing:.14em; }
.why-us-list p { margin:0; color:#efede6; font-size:clamp(1rem,1.6vw,1.35rem); font-weight:720; line-height:1.35; letter-spacing:-.02em; }
.division-card { border-radius:18px; background:linear-gradient(135deg,#262720,#171914); }
.division-card:hover { border-color:#f5822070; transform:translateY(-6px); }
.division-card-featured { background:radial-gradient(ellipse at top right,#f582202b,transparent 65%),#1e1e18; }
.card-link { color:#d0cbc0; }
.holding-main,.holding-main.has-sections { display:block; min-height:0; padding:115px 0 72px; }
.holding-main .holding-content,.holding-main.has-sections .holding-content { width:min(1180px,calc(100% - 48px)); margin-inline:auto; text-align:left; padding-top:35px; }
.holding-content .eyebrow,.holding-content .hero-actions { justify-content:flex-start; }
.holding-main .holding-content h1,.holding-main.has-sections .holding-content h1 { max-width:100%; margin:0; font-size:clamp(3rem,6vw,6rem); line-height:1.02; }
.holding-content > p:not(.eyebrow) { max-width:740px; margin:24px 0 0; color:#b9b7ae; }
.holding-orb { opacity:.12; right:-12%; left:auto; top:130px; transform:none; pointer-events:none; }
.holding-areas { margin-top:42px; gap:22px; }
.robotics-project { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:clamp(28px,5vw,75px); margin-top:60px; padding-top:45px; border-top:1px solid #ffffff26; }
.robotics-project img { display:block; width:100%; aspect-ratio:16/11; object-fit:cover; object-position:center 55%; }
.robotics-project-copy h2 { margin:0; color:#f2eee7; font-size:clamp(2.2rem,3vw,3.2rem); line-height:1.1; }
.robotics-project-copy > p:not(.eyebrow) { max-width:440px; color:#c0bcb3; font-size:1rem; line-height:1.65; }
.robotics-project-copy .button { margin-top:10px; }
.holding-areas article { border-radius:18px; min-height:250px; background:linear-gradient(135deg,#282a22,#191b17); transition:transform .25s,border-color .25s; }
.holding-areas article:hover { transform:translateY(-4px); border-color:#f5822080; }
.holding-areas p,.managed-service-card p { color:#c0bcb3; }
.holding-tags { justify-content:flex-start; margin-top:32px; }
.holding-content > .managed-content-region { margin-top:0; }
.managed-services { width:100%; margin-top:48px; }
.managed-service-card { border-radius:18px; }

/* The slideshow is the first content below the navigation. */
.masthead-media { width:min(1240px,calc(100% - 40px)); margin:104px auto 0; padding:0; }
.holding-main > .masthead-media { margin-top:0; }
.masthead-media .managed-slider { width:100%; margin:0; position:relative; }
.masthead-media .managed-slider-head { position:absolute; z-index:4; right:18px; bottom:15px; margin:0; }
.masthead-media .managed-slider-head > div:first-child { display:none; }
.masthead-media .managed-slider-controls { gap:5px; }
.masthead-media .managed-slider-controls button { width:44px; height:44px; background:#111c; backdrop-filter:blur(12px); }
.masthead-media .managed-slider-window { border-radius:18px; background:radial-gradient(ellipse at right,#805426,#24241c 70%); border-color:#ffffff1c; }
.masthead-media .managed-slide { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; min-height:330px; }
.masthead-media .managed-slide img,.masthead-media .managed-slide video { grid-column:2; grid-row:1; height:330px; width:100%; object-fit:contain; background:#10110f; }
.masthead-media .managed-slide-copy { grid-column:1; grid-row:1; padding:35px 45px 55px; }
.masthead-media .managed-slide-copy h3 { font-size:clamp(2rem,4vw,3.7rem); line-height:1.04; letter-spacing:-.055em; }
.masthead-media .managed-slide-copy p { color:#e0d5c4; font-size:.95rem; line-height:1.55; margin-top:15px; }
.masthead-media .managed-slide:not(:has(.managed-slide-copy)) { grid-template-columns:1fr; }
.masthead-media .managed-slide:not(:has(.managed-slide-copy)) > :is(img,video) { grid-column:1; }
.masthead-media .managed-slider-dots { position:absolute; bottom:13px; left:25px; margin:0; z-index:3; }
.masthead-media .managed-slide:has(video) { padding-bottom:58px; }
.masthead-media + .hero .hero-layout { min-height:460px; padding-block:60px; }
.masthead-media[hidden] + .hero .hero-layout { min-height:640px; padding-block:140px 70px; }
.masthead-media + .hero .hero-visual { max-width:340px; }

/* Homepage portrait media rail: mixed images, GIFs, and videos. */
.home-preview-media { width:100%; margin:0; padding:128px 0 96px; border-block:1px solid #ffffff12; background:#141513; overflow:hidden; }
.home-preview-media .managed-slider { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.home-preview-media .managed-media-rail-head { justify-content:flex-end; margin-bottom:18px; }
.home-preview-media .managed-slider-controls { flex:0 0 auto; }
.home-preview-media .managed-slider-controls button { width:48px; height:48px; transition:opacity .2s,border-color .2s,background .2s; }
.home-preview-media .managed-slider-controls button:hover:not(:disabled) { border-color:#f58220; background:#f5822024; }
.home-preview-media .managed-slider-controls button:disabled { opacity:.28; cursor:not-allowed; }
.managed-media-rail { display:flex; gap:18px; width:100%; padding:2px 2px 8px; overflow-x:auto; overflow-anchor:none; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:2px; scrollbar-width:none; }
.managed-media-rail::-webkit-scrollbar { display:none; }
.managed-media-rail:focus-visible { outline:3px solid #f58220; outline-offset:6px; border-radius:8px; }
.managed-media-dots { display:flex; align-items:center; justify-content:center; gap:5px; min-height:14px; margin-top:13px; }
.managed-media-dots span { width:5px; height:5px; flex:0 0 auto; border-radius:50%; background:#ffffff42; transition:width .2s,height .2s,background .2s,transform .2s; }
.managed-media-dots span.is-active { width:7px; height:7px; background:#f58220; box-shadow:0 0 10px #f5822070; }
.managed-media-card { flex:0 0 clamp(240px,27vw,310px); min-width:0; overflow:hidden; scroll-snap-align:start; border:1px solid #ffffff1c; border-radius:26px; background:linear-gradient(160deg,#23251f,#181916); box-shadow:0 22px 55px #00000038; }
.managed-media-frame { position:relative; aspect-ratio:9/16; overflow:hidden; background:radial-gradient(circle at 50% 35%,#34382b,#11120f 72%); }
.managed-media-frame::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px #ffffff0a; pointer-events:none; }
.managed-media-frame img,.managed-media-frame video { width:100%; height:100%; display:block; object-fit:contain; background:#0e0f0d; }
.managed-media-frame video { appearance:none; -webkit-appearance:none; pointer-events:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.managed-media-frame video::-webkit-media-controls { display:none !important; opacity:0 !important; visibility:hidden !important; }
.managed-media-frame video::-webkit-media-controls-enclosure { display:none !important; opacity:0 !important; visibility:hidden !important; }
.managed-media-frame video::-webkit-media-controls-panel { display:none !important; opacity:0 !important; visibility:hidden !important; }
.managed-media-frame video::-webkit-media-controls-overlay-play-button { display:none !important; opacity:0 !important; visibility:hidden !important; }
.managed-media-frame video::-webkit-media-controls-play-button { display:none !important; opacity:0 !important; visibility:hidden !important; }
.managed-media-frame video::-webkit-media-controls-start-playback-button { display:none !important; opacity:0 !important; visibility:hidden !important; }
.managed-media-card-copy { min-height:108px; padding:19px 20px 21px; border-top:1px solid #ffffff12; }
.managed-media-card-copy h3 { margin:0; color:#fff; font-size:1.15rem; line-height:1.2; letter-spacing:-.025em; overflow-wrap:anywhere; }
.managed-media-card-copy p { display:-webkit-box; margin:9px 0 0; overflow:hidden; color:#ffffff8c; font-size:.8rem; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
@media (max-width:700px) {
  .home-preview-media { padding:104px 0 70px; }
  .home-preview-media .managed-slider { width:calc(100% - 28px); }
  .home-preview-media .managed-media-rail-head { margin-bottom:14px; }
  .home-preview-media .managed-slider-controls { gap:5px; }
  .home-preview-media .managed-slider-controls button { width:44px; height:44px; }
  .managed-media-rail { gap:12px; padding-bottom:6px; }
  .managed-media-dots { margin-top:11px; }
  .managed-media-card { flex-basis:100%; border-radius:22px; }
  .managed-media-card-copy { min-height:96px; padding:16px 17px 18px; }
  .managed-media-card-copy h3 { font-size:1.02rem; }
  .managed-media-card-copy p { font-size:.75rem; }
}

/* Compact storefront: catalogue, search, and details. */
.storefront-main { padding:96px 0 0; }
.storefront-header { min-height:66px; }
.storefront-nav { display:flex; gap:5px; align-items:center; }
.storefront-nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border-radius:9px; color:#c2bfb7; font-size:.85rem; font-weight:650; }
.storefront-nav a:hover { background:#ffffff0c; color:white; }
.storefront-nav a.is-current { background:#f58220; color:#1a120a; gap:22px; }
.storefront-shell { width:min(1240px,calc(100% - 48px)); margin:auto; }
.storefront-main > .shop-media { margin:0 auto; width:min(1240px,calc(100% - 48px)); }
.shop-media .managed-slide { min-height:170px; grid-template-columns:1.3fr 1fr; }
.shop-media .managed-slide img,.shop-media .managed-slide video { height:170px; }
.shop-media .managed-slide-copy { padding:22px 30px 50px; }
.shop-media .managed-slide-copy h3 { font-size:clamp(1.5rem,2.4vw,2.3rem); }
.shop-media .managed-slide-copy p { font-size:.8rem; margin-top:8px; max-width:55ch; }
.shop-media .managed-slide:has(video) { padding-bottom:48px; }
.shop-media .managed-slider-head { bottom:7px; right:12px; }
.shop-media .managed-slider-dots { bottom:6px; left:14px; }
.shop-media .managed-slider-controls button { width:36px; height:36px; }
.storefront-intro { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:28px 0 24px; }
.storefront-intro .eyebrow { font-size:.61rem; margin:0 0 9px; }
.storefront-intro h1 { margin:0; font-size:clamp(2rem,3.5vw,3.25rem); font-weight:750; line-height:1.1; letter-spacing:-.06em; }
.storefront-intro h1 em { font-family:Georgia,serif; color:#f89a46; font-weight:400; }
.storefront-intro > p { margin:0; color:#b7b2a8; font-size:.82rem; line-height:1.7; }
.mobile-break { display:none; }
.storefront-page .shop-catalog { margin:0; }
.storefront-page .shop-catalog-heading { align-items:center; gap:20px; padding-bottom:15px; }
.storefront-page .shop-catalog-heading h2 { margin:0; font-size:1.2rem; letter-spacing:-.025em; }
.shop-search { width:min(360px,45%); display:flex; align-items:center; gap:10px; padding:0 14px; background:#1e201b; border:1px solid #ffffff20; border-radius:9px; color:#aaa79e; }
.shop-search:focus-within { border-color:#f58220; }
.shop-search input { width:100%; min-width:0; min-height:44px; background:transparent; border:0; color:#fff; font-family:inherit; font-size:.85rem; }
.shop-search input:focus-visible { outline:0; }
.shop-search input::placeholder { color:#aaa79e; }
.shop-browse-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; }
.storefront-main { padding-bottom:65px; min-height:calc(100svh - 100px); }
.masthead-media .managed-slider-window { box-shadow:0 22px 60px #0003; border-color:#f5822038; }
.masthead-media .managed-slider-controls button:hover { border-color:#f58220; background:#3a2918; }
.storefront-page .shop-category-filters { justify-content:flex-start; gap:6px; }
.storefront-page .shop-category-filters button { font-size:.75rem; border-radius:7px; padding:9px 15px; background:transparent; color:#ccc8be; }
.storefront-page .shop-category-filters button.is-active { background:#f58220; border-color:#f58220; color:#18120c; }
.storefront-page .shop-category-filters button[data-depth]:not([data-depth="0"]) { border-style:dashed; color:#aaa89f; background:#171914; }
.storefront-page .shop-category-filters button[data-depth]:not([data-depth="0"]).is-active { border-style:solid; color:#18120c; background:#f58220; }
.storefront-page .shop-category-filters button[data-depth] span { margin-right:5px; color:#f58220; }
.storefront-page .shop-category-filters button.is-active span { color:inherit; }
.shop-sort select { max-width:140px; height:44px; color:#c2beb5; background:#191b16; border:1px solid #ffffff20; border-radius:7px; padding:0 9px; font-family:inherit; font-size:.75rem; }
.storefront-page .shop-catalog-status { margin:12px 0 0; font-size:.72rem; color:#a5a399; }
.storefront-page .public-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:14px; }
.storefront-page .public-product-card { border:1px solid #ffffff1a; border-radius:13px; background:#1b1d18; transition:transform .25s,border-color .25s,box-shadow .25s; }
.storefront-page .public-product-card:hover { transform:translateY(-4px); border-color:#f5822066; box-shadow:0 18px 30px #0003; }
.storefront-page .public-product-image { position:relative; height:auto; aspect-ratio:1.12; width:100%; padding:24px; overflow:hidden; border:0; border-radius:0; background:radial-gradient(ellipse at 50% 25%,#f9f5eb,#e1ded3); cursor:pointer; color:#36392e; }
.public-product-image img { position:absolute; inset:20px; width:calc(100% - 40px); height:calc(100% - 40px); object-fit:contain; transition:transform .4s ease; }
.public-product-image:hover img { transform:scale(1.055); }
.product-quick-view { position:absolute; bottom:12px; left:50%; transform:translate(-50%,6px); opacity:0; background:#141810e8; color:white; padding:9px 12px; border-radius:6px; white-space:nowrap; font-size:.65rem; transition:opacity .2s,transform .2s; }
.public-product-image:is(:hover,:focus-visible) .product-quick-view { opacity:1; transform:translate(-50%,0); }
.product-sale-badge { position:absolute; z-index:2; top:12px; left:12px; padding:7px 9px; border-radius:6px; color:#fff; background:#d94b21; box-shadow:0 6px 16px #6a170d42; font-size:.66rem; font-weight:850; letter-spacing:.04em; }
.product-availability-badge { position:absolute; z-index:2; top:12px; right:12px; padding:7px 10px; border:1px solid #10a58b; border-radius:999px; color:#087b68; background:#fffffff2; box-shadow:0 5px 14px #15251d24; font-size:.62rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.product-availability-badge.is-out { border-color:#c95a35; color:#a43f1f; }
.public-product-image:has(.product-sale-badge) .product-availability-badge,.product-detail-image:has(.product-sale-badge) .product-availability-badge { top:50px; }
.storefront-page .public-product-copy { padding:18px; }
.storefront-page .public-product-copy small { font-size:.58rem; color:#ffa34d; }
.storefront-page .public-product-copy h3 { font-size:1.06rem; line-height:1.3; margin:8px 0; }
.public-product-copy h3 button { border:0; padding:0; background:none; text-align:left; font:inherit; cursor:pointer; }
.storefront-page .public-product-copy > p { display:-webkit-box; overflow:hidden; min-height:0; -webkit-box-orient:vertical; -webkit-line-clamp:3; font-size:.76rem; line-height:1.5; color:#b8b5aa; margin-bottom:18px; }
.product-card-features { display:grid; gap:8px; margin:0 0 13px; }
.product-card-features > span,.product-card-specifications > span { color:#f58220; font-size:.55rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.product-card-features ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.product-card-features li { position:relative; padding-left:15px; color:#d2cfc5; font-size:.68rem; line-height:1.4; }
.product-card-features li::before { content:""; position:absolute; top:.48em; left:1px; width:6px; height:6px; border-radius:50%; background:#f58220; }
.product-card-specifications { display:grid; gap:8px; margin:0 0 13px; padding:11px; border:1px solid #ffffff14; border-radius:9px; background:#10120e80; }
.product-card-specifications dl { display:grid; gap:0; margin:0; }
.product-card-specifications dl > div { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:7px; padding:6px 0; border-top:1px solid #ffffff10; }
.product-card-specifications dt { color:#9d9b93; font-size:.6rem; font-weight:700; }
.product-card-specifications dd { margin:0; color:#eeeae0; font-size:.63rem; line-height:1.35; overflow-wrap:anywhere; }
.product-card-footer { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; border-top:1px solid #ffffff15; margin-top:auto; padding-top:9px; }
.product-price { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:7px; color:#f2eee7; }
.product-price strong { font-size:.9rem; }
.product-price s { color:#85847d; font-size:.68rem; }
.product-price.is-sale strong { color:#ff9840; }
.product-price.is-request { color:#aaa99f; font-size:.66rem; }
.product-open { display:flex; gap:9px; align-items:center; min-height:44px; padding:0; background:none; border:0; color:#f9b06d; font-weight:700; font-size:.7rem; cursor:pointer; }
.product-open b { font-size:1.1rem; }
.product-card-purchase { display:grid; gap:9px; margin-top:12px; }
.product-card-purchase > .button { width:100%; justify-content:center; text-align:center; }
.product-quantity-control { display:grid; grid-template-columns:40px minmax(42px,1fr) 40px; align-items:center; width:122px; max-width:100%; height:40px; border:1px solid #ffffff35; border-radius:7px; overflow:hidden; }
.product-quantity-control button { display:grid; place-items:center; min-width:0; width:40px; height:100%; border:0; color:#f2eee7; background:#ffffff0c; font-size:1.1rem; cursor:pointer; }
.product-quantity-control button:hover:not(:disabled) { color:#171914; background:#f58220; }
.product-quantity-control button:disabled { opacity:.35; cursor:not-allowed; }
.product-quantity-control output { display:grid; place-items:center; min-width:0; height:100%; color:#f2eee7; font-size:.82rem; font-weight:750; }
.product-detail-enquiry > .product-quantity-control { margin-top:14px; }
.product-placeholder { display:grid; gap:10px; text-align:center; }
.product-placeholder b { color:#999b8d; font-size:3rem; letter-spacing:-.1em; }
.storefront-help { margin-top:60px; display:flex; justify-content:space-between; align-items:center; gap:30px; padding:40px; border:1px solid #f582203d; border-radius:16px; background:radial-gradient(ellipse at right,#67421e88,transparent 70%),#22251c; }
.storefront-help .eyebrow { font-size:.6rem; margin-bottom:14px; }
.storefront-help h2 { font-size:clamp(1.8rem,3.4vw,3rem); margin:0; letter-spacing:-.04em; line-height:1.05; }
.storefront-help p:not(.eyebrow) { max-width:500px; color:#c0bbae; font-size:.86rem; line-height:1.65; }
.storefront-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:30px 0 45px; font-size:.74rem; color:#b8b5a9; }
.storefront-notes b { color:#f58220; margin-right:10px; font-size:.65rem; }
.shop-empty { text-align:center; padding:50px 20px; border:1px dashed #ffffff26; border-radius:12px; margin-top:20px; }
.shop-empty h3 { font-size:1.5rem; margin:0; }
.shop-empty p { color:#c0bbae; line-height:1.6; }
.shop-empty > a { display:block; padding:20px; color:#f9ab65; }
.product-is-open { overflow:hidden; }
.product-dialog { width:min(1120px,calc(100% - 32px)); max-height:90dvh; overflow:auto; padding:0; color:#f2eee7; background:#1b1d18; border:1px solid #ffffff30; border-radius:18px; overscroll-behavior:contain; }
.product-dialog::backdrop { background:#050805d9; backdrop-filter:blur(7px); }
.product-dialog-close { position:absolute; top:12px; right:12px; z-index:2; width:44px; height:44px; border:1px solid #ffffff35; background:#171a14; color:#fff; border-radius:50%; font-size:1.6rem; cursor:pointer; }
[data-product-detail] { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); }
.product-detail-gallery { min-width:0; padding:28px; background:radial-gradient(ellipse at center,#fffdf5,#dfdccc); }
.product-detail-image { position:relative; min-height:430px; padding:35px; display:grid; place-items:center; overflow:hidden; border-radius:13px; background:#f6f2e8; }
[data-product-gallery-main] { user-select:none; -webkit-user-drag:none; }
.product-gallery-arrow { position:absolute; z-index:3; top:50%; display:grid; place-items:center; width:42px; height:42px; border:1px solid #28292322; border-radius:50%; color:#1d1e1a; background:#fffdf5e8; box-shadow:0 7px 22px #191a1424; font:700 1.8rem/1 Arial,sans-serif; cursor:pointer; transform:translateY(-50%); transition:background .2s,color .2s,border-color .2s; }
.product-gallery-arrow:hover,.product-gallery-arrow:focus-visible { color:#fff; border-color:#f58220; background:#f58220; outline:none; }
.product-gallery-arrow.is-previous { left:12px; }
.product-gallery-arrow.is-next { right:12px; }
.product-gallery-position { position:absolute; z-index:3; bottom:10px; left:50%; border-radius:999px; padding:5px 9px; color:#fff; background:#171914c7; font-size:.62rem; font-weight:800; transform:translateX(-50%); }
[data-product-gallery-main] { display:grid; place-items:center; width:100%; height:100%; }
.product-detail-image img { width:100%; max-height:420px; object-fit:contain; }
.product-gallery-thumbnails { display:flex; gap:9px; margin-top:12px; overflow-x:auto; padding:2px; }
.product-gallery-thumbnails button { flex:0 0 72px; width:72px; height:72px; overflow:hidden; border:1px solid #d3d0c8; border-radius:9px; padding:4px; background:#fff; cursor:pointer; }
.product-gallery-thumbnails button.is-active { border:2px solid #f58220; box-shadow:0 0 0 2px #f5822030; }
.product-gallery-thumbnails img { width:100%; height:100%; object-fit:contain; }
.product-detail-copy { min-width:0; padding:60px 32px 32px; overflow-wrap:anywhere; }
.product-detail-copy > small { color:#ffa34d; text-transform:uppercase; letter-spacing:.12em; font-size:.65rem; }
.product-detail-copy h2 { margin:14px 0; font-size:2rem; line-height:1.08; letter-spacing:-.04em; }
.product-detail-price { margin:0 0 20px; }
.product-detail-price strong { font-size:1.5rem; }
.product-detail-price s { font-size:.9rem; }
.product-detail-price.is-request { font-size:.82rem; font-weight:700; }
.product-detail-description { white-space:pre-line; line-height:1.7; font-size:.9rem; color:#c4c1b6; }
.product-detail-features { margin-top:25px; padding-top:22px; border-top:1px solid #ffffff18; }
.product-detail-features h3,.product-detail-specifications h3,.product-detail-downloads h3 { margin:0; color:#f2eee7; font-size:1rem; letter-spacing:-.02em; }
.product-detail-features ul { display:grid; gap:9px; margin:14px 0 0; padding:0; list-style:none; }
.product-detail-features li { position:relative; padding-left:20px; color:#c4c1b6; font-size:.83rem; line-height:1.5; }
.product-detail-features li::before { content:""; position:absolute; top:.53em; left:0; width:8px; height:8px; border-radius:50%; background:#f58220; box-shadow:0 0 0 4px #f582201c; }
.product-detail-specifications { margin-top:25px; padding-top:22px; border-top:1px solid #ffffff18; }
.product-specification-groups { display:grid; gap:14px; margin-top:14px; }
.product-specification-display-group { overflow:hidden; border:1px solid #ffffff18; border-radius:11px; }
.product-specification-display-group h4 { margin:0; padding:10px 12px; color:#f2eee7; background:#ffffff0b; font-size:.78rem; font-weight:850; }
.product-detail-specifications dl { display:grid; gap:0; margin:0; }
.product-detail-specifications dl > div { display:grid; grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr); gap:14px; padding:10px 12px; background:#ffffff06; }
.product-detail-specifications dl > div + div { border-top:1px solid #ffffff12; }
.product-detail-specifications dt { color:#8fdbcf; font-size:.72rem; font-weight:800; }
.product-detail-specifications dd { margin:0; color:#e8e5dc; font-size:.78rem; line-height:1.4; }
.product-detail-downloads { margin-top:25px; padding-top:22px; border-top:1px solid #ffffff18; }
.product-detail-section-label { margin:0 0 7px; color:#f58220; font-size:.58rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.product-download-list { display:grid; gap:8px; margin-top:14px; }
.product-download-list a { display:flex; align-items:center; gap:11px; min-width:0; padding:11px; border:1px solid #ffffff1f; border-radius:10px; color:#f2eee7; background:#ffffff08; transition:border-color .2s,background .2s,transform .2s; }
.product-download-list a:hover,.product-download-list a:focus-visible { border-color:#f58220; background:#f5822015; transform:translateY(-1px); outline:0; }
.product-download-icon { display:grid; flex:0 0 auto; place-items:center; width:34px; height:34px; border-radius:7px; color:#f15b45; background:#f15b451c; font-size:.56rem; font-weight:900; letter-spacing:.06em; }
.product-download-list a > span:nth-child(2) { min-width:0; flex:1; }
.product-download-list b,.product-download-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-download-list b { font-size:.75rem; }
.product-download-list small { margin-top:3px; color:#aca99f; font-size:.62rem; }
.product-download-list i { color:#f9ab65; font-style:normal; }
.product-detail-enquiry { border-top:1px solid #ffffff20; padding-top:24px; margin-top:24px; }
.product-detail-enquiry p { font-size:.82rem; color:#b9b5aa; line-height:1.6; }
.product-detail-enquiry .button { font-size:.8rem; padding:12px; gap:10px; }
@media (max-width:1000px) {
  .hero h1 { font-size:3.45rem; }
  .storefront-page .public-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .storefront-intro > p { display:none; }
  .hero-layout { grid-template-columns:1.1fr 1fr; }
  .hero-copy { text-align:left; }
  .hero-copy .eyebrow,.hero-actions { justify-content:flex-start; }
}
@media (max-width:700px) {
  .site-header { top:8px; min-height:62px; }
  .masthead-media { width:calc(100% - 24px); margin-top:82px; }
  .masthead-media .managed-slider-window { border-radius:12px; }
  .masthead-media .managed-slide { grid-template-columns:1fr; min-height:0; }
  .masthead-media .managed-slide img,.masthead-media .managed-slide video { grid-column:1; height:210px; }
  .masthead-media .managed-slide-copy { grid-column:1; grid-row:2; padding:20px 20px 66px; }
  .masthead-media .managed-slide-copy h3 { font-size:1.8rem; }
  .masthead-media .managed-slide-copy p { font-size:.85rem; margin-top:9px; }
  .masthead-media .managed-slide:has(video) { padding-bottom:0; }
  .masthead-media .managed-slide:not(:has(.managed-slide-copy)) { padding-bottom:60px; }
  .masthead-media .managed-slider-head { bottom:10px; right:10px; }
  .masthead-media .managed-slider-dots { bottom:10px; left:10px; max-width:calc(100% - 160px); flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; }
  .masthead-media .managed-slider-dots button { flex:0 0 32px; }
  .hero-layout { grid-template-columns:1fr; padding:110px 0 45px; min-height:0; gap:35px; }
  .hero-visual { display:none; }
  .hero h1 { font-size:2.65rem; }
  .hero-intro { font-size:1rem; margin-top:22px; }
  .hero-actions { display:flex; margin-top:24px; }
  .hero-mobile-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin-top:25px; border-top:1px solid #ffffff2b; }
  .hero-mobile-links a { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; border-bottom:1px solid #ffffff2b; color:#f4f1eb; font-size:.9rem; font-weight:700; }
  .hero-mobile-links a span { color:#ff9b43; }
  .hero-mobile-links a:hover { color:#ff9b43; }
  .hero-mobile-links a:last-child { grid-column:1 / -1; }
  .masthead-media + .hero .hero-layout { min-height:0; padding-block:36px; }
  .masthead-media[hidden] + .hero .hero-layout { min-height:0; padding-block:112px 45px; }
  .section { padding-block:48px; }
  .section-heading h2 { font-size:2.3rem; }
  .solutions .section-heading { grid-template-columns:1fr; gap:18px; }
  .solutions .division-grid { grid-template-columns:1fr; }
  .robotics-project { grid-template-columns:1fr; margin-top:42px; padding-top:32px; }
  .why-us-layout { grid-template-columns:1fr; gap:38px; }
  .why-us .section-heading { position:static; }
  .why-us-list li { min-height:72px; }
  .about-grid { grid-template-columns:1fr; gap:30px; }
  .about-details { columns:1; }
  .division-card { min-height:340px; }
  .holding-main,.holding-main.has-sections { padding:82px 0 45px; }
  .holding-main .holding-content,.holding-main.has-sections .holding-content { width:calc(100% - 32px); padding-top:28px; }
  .holding-main .holding-content h1,.holding-main.has-sections .holding-content h1 { font-size:clamp(2.3rem,9vw,4rem); }
  .holding-content > p:not(.eyebrow) { font-size:.95rem; margin-top:20px; }
  .holding-areas { gap:14px; margin-top:32px; }
  .holding-areas article { min-height:230px; }
  .storefront-main { padding-top:80px; }
  .storefront-header .brand { width:135px; }
  .storefront-nav { gap:0; }
  .storefront-nav a { font-size:.72rem; padding-inline:10px; }
  .storefront-nav a:first-child { display:none; }
  .storefront-nav a.is-current { gap:8px; }
  .storefront-shell { width:calc(100% - 28px); }
  .storefront-main > .shop-media { width:calc(100% - 28px); }
  .shop-media .managed-slide { grid-template-columns:1.15fr 1fr; min-height:144px; padding-bottom:42px; }
  .shop-media .managed-slide img,.shop-media .managed-slide video { grid-column:2; grid-row:1; height:112px; }
  .shop-media .managed-slide-copy { grid-column:1; grid-row:1; padding:14px; }
  .shop-media .managed-slide-copy h3 { font-size:1.2rem; letter-spacing:-.04em; }
  .shop-media .managed-slide-copy p { font-size:.68rem; line-height:1.4; }
  .shop-media .managed-slide:has(video) { padding-bottom:45px; }
  .shop-media .managed-slider-head { bottom:5px; }
  .shop-media .managed-slider-dots { bottom:1px; }
  .shop-media .managed-slider-controls button { width:36px; height:36px; }
  .storefront-intro { padding:22px 0 18px; }
  .storefront-intro h1 { font-size:clamp(1.85rem,7.5vw,2.7rem); }
  .storefront-intro .eyebrow { font-size:.54rem; }
  .mobile-break { display:initial; }
  .storefront-page .shop-catalog-heading { flex-direction:row; flex-wrap:wrap; gap:12px; }
  .storefront-page .shop-catalog-heading h2 { font-size:1.04rem; }
  .shop-search { width:100%; }
  .shop-search input { font-size:16px; }
  .shop-browse-bar { gap:8px; align-items:center; flex-wrap:wrap; }
  .shop-browse-bar .shop-category-filters { width:100%; }
  .storefront-page .shop-category-filters { flex-wrap:nowrap; overflow-x:auto; min-width:0; padding-bottom:4px; }
  .storefront-page .shop-category-filters button { flex-shrink:0; padding-inline:11px; font-size:.66rem; }
  .shop-sort select { max-width:95px; padding-inline:6px; font-size:.67rem; }
  .storefront-page .public-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
  .storefront-page .public-product-image { padding:13px; aspect-ratio:1; }
  .product-sale-badge { top:8px; left:8px; padding:6px 8px; font-size:.58rem; }
  .product-availability-badge { top:8px; right:8px; padding:6px 7px; font-size:.54rem; letter-spacing:.05em; }
  .public-product-image:has(.product-sale-badge) .product-availability-badge { top:39px; }
  .storefront-page .public-product-copy { padding:12px; }
  .storefront-page .public-product-copy h3 { font-size:.9rem; }
  .storefront-page .public-product-copy p { font-size:.7rem; }
  .product-card-features { gap:5px; }
  .product-card-features li { padding-left:12px; font-size:.62rem; }
  .product-card-specifications { padding:8px; }
  .product-card-specifications dl > div { grid-template-columns:1fr; gap:2px; }
  .product-card-footer { gap:0; padding-top:10px; }
  .product-card-footer .product-price { min-height:24px; font-size:.6rem; }
  .product-card-footer .product-price strong { font-size:.76rem; }
  .product-card-footer .product-price s { font-size:.58rem; }
  .product-open { width:100%; justify-content:space-between; font-size:.65rem; }
  .storefront-help { padding:25px; margin-top:35px; flex-direction:column; align-items:flex-start; gap:15px; }
  .storefront-notes { grid-template-columns:1fr; gap:15px; }
  [data-product-detail] { grid-template-columns:1fr; }
  .product-detail-gallery { padding:14px; }
  .product-detail-image { min-height:0; height:260px; padding:20px; }
  .product-detail-image img { max-height:190px; }
  .product-gallery-arrow { width:38px; height:38px; }
  .product-gallery-arrow.is-previous { left:7px; }
  .product-gallery-arrow.is-next { right:7px; }
  .product-gallery-thumbnails button { flex-basis:58px; width:58px; height:58px; }
  .product-detail-copy { padding:24px; }
  .product-detail-copy h2 { font-size:1.65rem; }
  .product-detail-specifications dl > div { grid-template-columns:1fr; gap:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .js .reveal.is-visible { animation:none; }
  .public-product-card,.public-product-image img,.holding-areas article { transition:none; }
}
