:root {
  --ink: #17181a;
  --ink-soft: #34363a;
  --paper: #f4f1eb;
  --paper-deep: #e8e3d9;
  --white: #fff;
  --orange: #f58220;
  --orange-dark: #c95716;
  --silver: #b7b8ba;
  --line: rgba(23, 24, 26, 0.14);
  --radius: 28px;
  --shell: min(1180px, calc(100% - 48px));
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 200; padding: 10px 14px; background: var(--ink); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed;
  z-index: 100;
  top: 14px;
  left: 50%;
  width: min(1240px, calc(100% - 28px));
  min-height: 72px;
  padding: 10px 12px 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 22px;
  background: rgba(250, 248, 244, 0.76);
  box-shadow: 0 14px 45px rgba(35, 27, 17, 0.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
.site-header.scrolled { background: rgba(250, 248, 244, 0.94); box-shadow: 0 14px 45px rgba(35, 27, 17, 0.14); }
.brand { position: relative; width: 190px; aspect-ratio: 4.55 / 1; overflow: hidden; flex: 0 0 auto; }
.brand img { position: absolute; width: 120%; max-width: none; transform: translate(-10.8%, -35.5%); }
.desktop-nav { display: flex; align-items: center; gap: 6px; }
.desktop-nav > a, .brands-menu > button { padding: 14px 17px; border: 0; border-radius: 13px; color: #56575a; background: transparent; font-size: 0.9rem; font-weight: 650; cursor: pointer; transition: background 0.25s, color 0.25s; }
.desktop-nav > a:hover, .desktop-nav > a:focus-visible, .brands-menu > button:hover, .brands-menu > button:focus-visible, .brands-menu.open > button { background: white; color: var(--ink); outline: none; }
.desktop-nav > a:last-child { background: var(--ink); color: white; padding-inline: 22px; }
.desktop-nav > .account-link { background: var(--ink); color: white; padding-inline: 22px; }
.brands-menu { position: relative; }
.brands-menu > button { display: flex; align-items: center; gap: 7px; }
.brands-menu > button span { color: var(--orange-dark); font-size: 1rem; transition: transform .25s; }
.brands-menu.open > button span { transform: rotate(180deg); }
.brands-dropdown { position: absolute; top: calc(100% + 12px); left: 50%; width: 250px; padding: 9px; border: 1px solid rgba(23,24,26,.1); border-radius: 17px; background: rgba(255,255,255,.97); box-shadow: 0 22px 55px rgba(23,24,26,.16); opacity: 0; visibility: hidden; transform: translate(-50%, -8px); transition: opacity .25s, visibility .25s, transform .25s var(--ease); }
.brands-menu.open .brands-dropdown { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.brands-dropdown > span, .brands-dropdown > a { min-height: 57px; padding: 10px 12px; border-radius: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.brands-dropdown > span { color: #919295; cursor: default; }
.brands-dropdown > a { color: var(--ink); background: #f4f1eb; }
.brands-dropdown > a:hover, .brands-dropdown > a:focus-visible { background: var(--ink); color: white; outline: none; }
.brands-dropdown b { font-size: .83rem; }.brands-dropdown small { font-size: .61rem; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.menu-toggle { display: none; width: 48px; height: 48px; padding: 14px; border: 0; border-radius: 14px; background: var(--ink); cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: white; transition: transform 0.25s, opacity 0.25s; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-nav { display: none; }

.hero { position: relative; min-height: 820px; height: 100svh; max-height: 980px; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero-grid, .holding-grid {
  position: absolute; inset: 0; opacity: 0.48; pointer-events: none;
  background-image: linear-gradient(rgba(23,24,26,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(23,24,26,.055) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(to bottom, transparent 3%, black 35%, transparent 96%);
}
.hero-glow { position: absolute; width: 620px; height: 620px; right: -210px; top: -170px; border-radius: 50%; background: radial-gradient(circle, rgba(245,130,32,.28), rgba(245,130,32,0) 70%); filter: blur(4px); pointer-events: none; }
.hero-layout { height: 100%; padding-top: 128px; padding-bottom: 70px; display: grid; grid-template-columns: 1.02fr 0.98fr; gap: 60px; align-items: center; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 24px; color: #68696b; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.eyebrow span { width: 27px; height: 2px; background: var(--orange); }
.eyebrow.light { color: rgba(255,255,255,.6); }
.hero h1, .holding-content h1 { max-width: 760px; margin: 0; font-size: clamp(3.7rem, 6.2vw, 6.9rem); line-height: 0.92; letter-spacing: -0.07em; font-weight: 790; }
.hero h1 em, .holding-content h1 em, .contact h2 em { color: var(--orange); font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -0.055em; }
.hero-intro { max-width: 600px; margin: 30px 0 0; color: #656569; font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.button { min-height: 54px; padding: 0 22px; border: 1px solid transparent; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; font-size: 0.91rem; font-weight: 750; transition: transform .25s var(--ease), box-shadow .25s, background .25s; }
.button:hover { transform: translateY(-3px); }
.button-primary { color: white; background: linear-gradient(135deg, var(--orange), var(--orange-dark)); box-shadow: 0 15px 28px rgba(201,87,22,.2); }
.button-primary:hover { box-shadow: 0 20px 35px rgba(201,87,22,.32); }
.button-secondary { border-color: var(--line); background: rgba(255,255,255,.55); }
.button-secondary:hover { background: white; }
.button-dark { color: white; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05); }

.hero-visual { position: relative; min-width: 0; }
.visual-frame { position: relative; aspect-ratio: 1; max-width: 560px; margin-left: auto; border: 1px solid rgba(23,24,26,.12); border-radius: 50%; background: radial-gradient(circle at 50% 42%, rgba(255,255,255,.88), rgba(221,216,207,.4) 50%, rgba(220,215,206,.08) 70%); box-shadow: inset 0 0 80px rgba(255,255,255,.7), 0 35px 90px rgba(35,27,17,.08); }
.visual-frame::before, .visual-frame::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(23,24,26,.1); }
.visual-frame::before { inset: 12%; }
.visual-frame::after { inset: 24%; border-style: dashed; animation: spin 28s linear infinite; }
.orbit { position: absolute; z-index: 2; border: 1px solid rgba(245,130,32,.32); border-radius: 50%; }
.orbit::after { content: ""; position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 18px var(--orange); }
.orbit-one { inset: 7%; transform: rotate(55deg) scaleY(.43); animation: orbit-pulse 6s ease-in-out infinite; }
.orbit-two { inset: 15%; transform: rotate(-35deg) scaleY(.48); animation: orbit-pulse 6s 1s ease-in-out infinite reverse; }
.tech-core { position: absolute; z-index: 3; inset: 31%; border-radius: 32%; display: grid; place-items: center; transform: rotate(-8deg); transform-style: preserve-3d; background: linear-gradient(145deg, #303236, #111214); box-shadow: -18px 20px 0 #a84616, -30px 36px 50px rgba(23,24,26,.3), inset 2px 2px 2px rgba(255,255,255,.22); transition: transform .2s ease-out; }
.tech-core::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 27%; }
.core-face { color: var(--orange); font-size: clamp(3.8rem, 7vw, 6.4rem); font-weight: 900; letter-spacing: -.13em; transform: skewX(-5deg); text-shadow: 0 3px 0 #723313; }
.visual-label { position: absolute; z-index: 4; padding: 8px 11px; border: 1px solid rgba(23,24,26,.14); border-radius: 8px; background: rgba(255,255,255,.72); backdrop-filter: blur(10px); color: #6b6c6e; font-size: .58rem; font-weight: 850; letter-spacing: .15em; }
.label-one { top: 20%; left: 3%; }.label-two { top: 38%; right: -2%; }.label-three { bottom: 17%; left: 12%; }
.logo-panel { position: absolute; z-index: 5; right: -4%; bottom: -5%; width: min(360px, 74%); aspect-ratio: 4.55 / 1; overflow: hidden; }
.logo-panel img { width: 120%; max-width: none; transform: translate(-10.8%, -35.5%); }
.scroll-cue { position: absolute; left: 50%; bottom: 25px; transform: translateX(-50%); display: flex; align-items: center; gap: 9px; color: #737477; font-size: .68rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.scroll-cue span { width: 17px; height: 28px; border: 1px solid #9b9b9d; border-radius: 10px; position: relative; }
.scroll-cue span::after { content: ""; position: absolute; top: 5px; left: 7px; width: 2px; height: 6px; border-radius: 2px; background: var(--orange); animation: scroll-dot 1.8s ease-in-out infinite; }

.section { padding: 120px 0; }
.section-heading { display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px; align-items: start; }
.section-heading .eyebrow { grid-column: 1 / -1; margin-bottom: 2px; }
.section-heading h2, .contact h2 { margin: 0; font-size: clamp(2.5rem, 4.4vw, 5rem); line-height: 1; letter-spacing: -.06em; }
.section-heading > p:last-child { max-width: 360px; margin: 6px 0 0 auto; color: #77787a; font-size: 1rem; line-height: 1.65; }
.division-grid { margin-top: 64px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.division-card { position: relative; min-height: 470px; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.44); display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 18px 50px rgba(35,27,17,.035); transition: transform .45s var(--ease), background .35s, box-shadow .35s; }
.division-card::after { content: ""; position: absolute; width: 220px; height: 220px; top: 75px; right: -100px; border-radius: 50%; background: rgba(245,130,32,.12); filter: blur(20px); transition: transform .5s var(--ease); }
.division-card:hover { transform: translateY(-9px); background: rgba(255,255,255,.85); box-shadow: 0 28px 65px rgba(35,27,17,.1); }
.division-card:hover::after { transform: translateX(-25px) scale(1.15); }
.division-card-disabled { cursor: default; }
.division-card-disabled:hover { transform: none; background: rgba(255,255,255,.44); box-shadow: 0 18px 50px rgba(35,27,17,.035); }
.division-card-disabled:hover::after { transform: none; }
.division-card-featured { color: white; border-color: #282a2d; background: linear-gradient(150deg, #2d3034, #111214); }
.division-card-featured:hover { background: linear-gradient(150deg, #36393d, #111214); }
.card-top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; }
.card-index { color: #8a8b8d; font-size: .74rem; font-weight: 800; letter-spacing: .12em; }
.status { padding: 7px 10px; border: 1px solid rgba(23,24,26,.12); border-radius: 20px; color: #737477; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.status-live { border-color: rgba(245,130,32,.3); color: #ffae72; background: rgba(245,130,32,.1); }
.card-copy { position: relative; z-index: 2; }
.card-copy p { margin: 0 0 8px; color: #838486; font-size: .77rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.division-card-featured .card-copy p { color: rgba(255,255,255,.48); }
.card-copy h3 { margin: 0 0 24px; font-size: clamp(2.2rem, 3.5vw, 3.4rem); letter-spacing: -.055em; }
.card-link { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--line); color: #66676a; font-size: .85rem; font-weight: 650; }
.division-card-featured .card-link { border-color: rgba(255,255,255,.12); color: rgba(255,255,255,.64); }
.card-link b { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--orange); color: white; }
.layer-symbol { position: absolute; z-index: 1; top: 100px; left: 50%; width: 150px; height: 150px; transform: translateX(-50%) rotate(-6deg); }
.layer-symbol i { position: absolute; inset: calc(var(--i, 0) * 17px); border: 4px solid var(--orange); border-radius: 18px; transform: rotate(45deg); box-shadow: 5px 5px 0 rgba(23,24,26,.12); }
.layer-symbol i:nth-child(1){--i:0;opacity:.2}.layer-symbol i:nth-child(2){--i:1;opacity:.4}.layer-symbol i:nth-child(3){--i:2;opacity:.7}.layer-symbol i:nth-child(4){--i:3;background:var(--orange)}
.spool-symbol { position: absolute; z-index: 1; top: 100px; left: 50%; width: 145px; height: 145px; transform: translateX(-50%); border: 20px solid #c5c5c4; border-radius: 50%; box-shadow: inset 0 0 0 10px #9d9d9d, 12px 18px 35px rgba(23,24,26,.15); }
.spool-symbol::before, .spool-symbol::after { content:""; position:absolute; inset:16px; border:5px solid var(--orange); border-radius:50%; }
.spool-symbol::after { inset:44px; border:0; background:var(--ink); }
.spool-symbol span { position:absolute; z-index:2; left:61px; top:115px; width:85px; height:4px; background:var(--orange); transform:rotate(28deg); transform-origin:left; }
.robot-symbol { position:absolute; z-index:1; top:112px; left:50%; width:138px; height:116px; border:10px solid #bfc1c5; border-radius:28px; background:linear-gradient(145deg,#35383d,#17181a); box-shadow:12px 18px 35px rgba(23,24,26,.2); transform:translateX(-50%); }
.robot-symbol::before { content:""; position:absolute; left:50%; top:-43px; width:5px; height:33px; border-radius:5px; background:var(--orange); transform:translateX(-50%); box-shadow:0 -8px 0 5px #bfc1c5; }
.robot-symbol::after { content:""; position:absolute; left:20px; right:20px; bottom:18px; height:6px; border-radius:6px; background:var(--orange); opacity:.8; }
.robot-symbol span { position:absolute; top:31px; left:29px; width:17px; height:17px; border-radius:50%; background:var(--orange); box-shadow:55px 0 0 var(--orange),0 0 18px rgba(245,130,32,.45),55px 0 18px rgba(245,130,32,.45); }
.robot-symbol i { position:absolute; top:36px; width:28px; height:9px; border-radius:8px; background:#bfc1c5; }
.robot-symbol i:nth-of-type(1) { left:-36px; transform:rotate(-18deg); }
.robot-symbol i:nth-of-type(2) { right:-36px; transform:rotate(18deg); }
.cup-symbol { position:absolute; z-index:1; top:115px; left:50%; width:125px; height:112px; border:12px solid var(--orange); border-top:0; border-radius:6px 6px 48px 48px; transform:translateX(-50%); }
.cup-symbol::after { content:""; position:absolute; top:16px; right:-49px; width:45px; height:50px; border:10px solid var(--orange); border-left:0; border-radius:0 30px 30px 0; }
.cup-symbol span, .cup-symbol span::before { position:absolute; content:""; top:-53px; left:26px; width:7px; height:36px; border-radius:8px; background:rgba(255,255,255,.34); animation: steam 2.6s ease-in-out infinite; }
.cup-symbol span::before { top:-4px; left:36px; animation-delay:.7s; }

.about { background: var(--paper-deep); border-block: 1px solid var(--line); }
.about-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 80px; }
.about-grid .section-heading { display: block; }
.about-grid .section-heading .eyebrow { margin-bottom: 28px; }
.about-copy { padding-top: 55px; }
.about-copy p { max-width: 620px; color: #696a6c; font-size: 1.03rem; line-height: 1.75; }
.about-copy .about-lead { margin-top: 0; color: var(--ink); font-size: clamp(1.4rem, 2.1vw, 1.85rem); line-height: 1.45; letter-spacing: -.02em; }
.capabilities { margin: 36px 0; display: flex; flex-wrap: wrap; gap: 9px; }
.capabilities span { padding: 10px 13px; border: 1px solid rgba(23,24,26,.13); border-radius: 9px; background: rgba(255,255,255,.38); color: #55565a; font-size: .76rem; font-weight: 700; }
.text-link { display: inline-flex; gap: 25px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid var(--ink); font-size: .9rem; font-weight: 750; }
.text-link span { color: var(--orange-dark); }
.partners { padding-block: 44px; }
.partner-row { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.partner-row > p { max-width: 380px; color: #7a7b7d; font-size: .79rem; line-height: 1.5; }
.partner-row > div { display: flex; align-items: center; gap: 26px; }
.partner-row strong { font-size: 1.55rem; letter-spacing: -.05em; }.partner-row div span { width: 1px; height: 30px; background: var(--line); }.partner-row small { color: #6e6f71; font-weight: 650; }
.contact { padding-top: 60px; }
.contact-panel { min-height: 480px; padding: clamp(36px, 7vw, 85px); border-radius: 36px; background: #161719; color: white; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; }
.contact-panel::before { content:""; position:absolute; width:520px; height:520px; top:-300px; right:-100px; border-radius:50%; background:radial-gradient(circle,rgba(245,130,32,.45),transparent 70%); }
.contact h2 { position:relative; }.contact h2 em { display:inline-block; margin-top:9px; }
.contact-details { position:relative; padding-bottom:8px; display:flex; flex-direction:column; }
.contact-details a { padding:17px 0; border-bottom:1px solid rgba(255,255,255,.13); display:flex; justify-content:space-between; color:rgba(255,255,255,.82); font-size:1rem; }
.contact-details a:hover { color: var(--orange); }.contact-details p { margin:26px 0 0; color:rgba(255,255,255,.46); font-size:.85rem; line-height:1.65; }
.site-footer { padding: 35px 0 40px; }
.footer-row { display:flex; align-items:center; justify-content:space-between; gap:24px; color:#727376; font-size:.74rem; }.footer-brand { width:160px; }.footer-row > a:last-child { font-weight:700; color:var(--ink); }
.footer-actions { display:flex; align-items:center; gap:18px; }
.footer-actions a { min-height:44px; display:inline-flex; align-items:center; font-weight:700; }
.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: calc(var(--delay, 0) * 100ms); }
.reveal[data-delay="1"] { --delay: 1; }.reveal[data-delay="2"] { --delay: 2; }.js .reveal.is-visible { opacity:1; transform:translateY(0); }

.holding-page { background:#111214; color:white; min-height:100vh; }
.holding-header { background:rgba(20,21,23,.72); border-color:rgba(255,255,255,.12); color:white; }
.holding-header .brand { background:transparent; }
.holding-header .back-link { padding:13px 17px; border:1px solid rgba(255,255,255,.14); border-radius:12px; color:rgba(255,255,255,.72); font-size:.79rem; font-weight:700; }
.holding-main { min-height:100svh; position:relative; overflow:hidden; display:grid; place-items:center; padding:130px max(24px, calc((100% - 1180px)/2)) 90px; }
.holding-grid { opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); }
.holding-content { position:relative; z-index:2; width:min(840px,100%); text-align:center; }
.holding-content .eyebrow { justify-content:center; }.holding-content h1 { margin-inline:auto; font-size:clamp(3.5rem,7vw,7.4rem); }
.holding-content > p:not(.eyebrow) { max-width:670px; margin:32px auto 0; color:rgba(255,255,255,.58); font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.7; }
.holding-content .hero-actions { justify-content:center; }
.holding-orb { position:absolute; width:min(640px,80vw); height:min(640px,80vw); border:1px solid rgba(245,130,32,.2); border-radius:50%; opacity:.25; animation:slow-float 8s ease-in-out infinite; }
.holding-orb::before,.holding-orb::after { content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;inset:13%; }.holding-orb::after{inset:27%;border-style:dashed;animation:spin 35s linear infinite;}
.holding-orb .large { opacity:.5; transform:translate(-50%,-50%) scale(1.6); top:50%; }
.holding-tags { margin-top:48px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px; }.holding-tags span{padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:20px;color:rgba(255,255,255,.46);font-size:.7rem;font-weight:750;}
.coming-line{margin:48px auto 0;display:flex;align-items:center;justify-content:center;gap:12px;color:rgba(255,255,255,.5);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.coming-line span{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 16px var(--orange);animation:pulse 2s infinite}
.holding-footer { position:absolute;z-index:3;bottom:0;left:0;width:100%;padding:20px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;color:rgba(255,255,255,.35);font-size:.7rem; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes orbit-pulse { 50% { opacity:.45; transform:rotate(65deg) scaleY(.48); } }
@keyframes scroll-dot { 0%{opacity:0;transform:translateY(-2px)}40%{opacity:1}100%{opacity:0;transform:translateY(10px)} }
@keyframes steam { 0%,100%{opacity:0;transform:translateY(12px)}40%{opacity:.8}80%{opacity:0;transform:translateY(-12px)} }
@keyframes slow-float { 50%{transform:translateY(-18px) scale(1.02)} }
@keyframes pulse { 50%{opacity:.35;transform:scale(.7)} }

@media (max-width: 900px) {
  :root { --shell: min(100% - 32px, 720px); }
  .desktop-nav { display:none; }.menu-toggle { display:block; }
  .mobile-nav { position:absolute; top:80px; left:0; width:100%; padding:12px; border:1px solid var(--line); border-radius:18px; background:rgba(250,248,244,.98); box-shadow:0 24px 50px rgba(23,24,26,.15); display:grid; opacity:0; visibility:hidden; transform:translateY(-12px); transition:.25s var(--ease); }
  .mobile-nav.open { opacity:1;visibility:visible;transform:translateY(0); }.mobile-nav a{padding:15px 14px;border-radius:10px;font-weight:700;font-size:.9rem}.mobile-nav a:hover{background:var(--paper)}
  .mobile-nav > p { margin: 8px 14px 3px; color: #9a9b9d; font-size: .62rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
  .mobile-brand-disabled, .mobile-brand-live { min-height: 44px; margin-inline: 8px; padding: 11px 12px; border-left: 2px solid var(--line); display: flex; align-items: center; justify-content: space-between; color: #999a9c; font-size: .8rem; font-weight: 700; }
  .mobile-brand-disabled small, .mobile-brand-live small { font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; }
  .mobile-nav .mobile-brand-live { border-left-color: var(--orange); color: var(--ink); background: rgba(245,130,32,.08); }
  .hero { height:auto; max-height:none; min-height:0; }.hero-layout { min-height:100svh; padding-top:135px; padding-bottom:90px; grid-template-columns:1fr; gap:55px; }.hero-copy{text-align:center}.hero-copy .eyebrow{justify-content:center}.hero-intro{margin-inline:auto}.hero-actions{justify-content:center}.hero-visual{width:min(540px,90%);margin:auto}.scroll-cue{display:none}
  .section-heading { grid-template-columns:1fr; }.section-heading > p:last-child{margin:0}.division-grid{grid-template-columns:1fr 1fr}.division-card-featured{grid-column:1/-1;min-height:410px}.about-grid{grid-template-columns:1fr;gap:20px}.about-copy{padding-top:0}.contact-panel{grid-template-columns:1fr;align-items:start}.partner-row{align-items:flex-start;flex-direction:column}
}

@media (max-width: 600px) {
  :root { --shell: calc(100% - 28px); --radius:22px; }
  .site-header{top:8px;width:calc(100% - 16px);min-height:65px;padding-left:14px;border-radius:18px}.brand{width:158px}.menu-toggle{width:43px;height:43px;padding:12px}.mobile-nav{top:72px}
  .hero-layout{padding-top:116px;gap:42px}.hero h1,.holding-content h1{font-size:clamp(2.75rem,12vw,4.2rem)}.hero-intro{font-size:1rem;line-height:1.58}.hero-actions{display:grid}.button{width:100%}.visual-frame{max-width:390px}.logo-panel{right:1%;bottom:-8%;width:75%}.visual-label{font-size:.5rem}.label-two{right:0}
  .section{padding:82px 0}.section-heading h2,.contact h2{font-size:2.7rem}.division-grid{grid-template-columns:1fr;margin-top:42px}.division-card-featured{grid-column:auto}.division-card{min-height:420px}.about-grid{gap:10px}.partner-row > div{width:100%;gap:15px;flex-wrap:wrap}.contact{padding-top:28px}.contact-panel{min-height:530px;padding:32px 24px;border-radius:26px;gap:45px}.contact-details a{font-size:.86rem}.footer-row{flex-direction:column;text-align:center}.footer-brand{transform-origin:center}.holding-main{padding-top:110px;padding-bottom:100px}.holding-header .back-link{font-size:0;width:43px;height:43px;padding:0;display:grid;place-items:center}.holding-header .back-link::after{content:"←";font-size:1rem}.holding-footer{align-items:center;flex-direction:column;gap:2px}.holding-orb{width:105vw;height:105vw}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* Division pages */
.holding-main.has-sections { min-height:auto; padding-top:165px; padding-bottom:85px; place-items:start center; }
.holding-main.has-sections .holding-content { width:min(1060px,100%); }
.holding-main.has-sections .holding-content h1 { font-size:clamp(3.5rem,6.6vw,6.6rem); }
.subpage-content .page-switcher { margin-top:28px; }
.page-switcher .button[aria-current="page"] { cursor:default; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.subpage-content > .managed-content-region { margin-top:10px; }
.subpage-support { margin-top:75px; }
.subpage-support article { min-height:260px; }
.holding-areas { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:65px; text-align:left; scroll-margin-top:110px; }
.holding-areas article { scroll-margin-top:110px; min-height:285px; padding:clamp(24px,4vw,38px); border:1px solid rgba(255,255,255,.12); border-radius:24px; background:rgba(255,255,255,.045); backdrop-filter:blur(12px); display:flex; flex-direction:column; }
.holding-areas article:last-child { background:linear-gradient(145deg,rgba(245,130,32,.13),rgba(255,255,255,.035)); }
.holding-areas .area-index { color:var(--orange); font-size:.68rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.holding-areas h2 { margin:22px 0 13px; font-size:clamp(1.7rem,3vw,2.55rem); letter-spacing:-.045em; }
.holding-areas p { margin:0 0 28px; color:rgba(255,255,255,.56); font-size:.92rem; line-height:1.7; }
.holding-areas a { margin-top:auto; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.78); font-size:.82rem; font-weight:750; display:flex; justify-content:space-between; gap:20px; }
.holding-areas a b { color:var(--orange); }
.holding-footer.is-static { position:relative; border-top:1px solid rgba(255,255,255,.1); }
.shop-catalog { margin-top:75px; text-align:left; scroll-margin-top:110px; }
.shop-catalog-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.14); }
.shop-catalog-heading .area-index { color:var(--orange); font-size:.68rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.shop-catalog-heading h2 { margin:10px 0 0; font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.055em; }
.shop-category-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.shop-category-filters button { padding:9px 13px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:rgba(255,255,255,.62); background:rgba(255,255,255,.04); font:inherit; font-size:.7rem; font-weight:750; cursor:pointer; }
.shop-category-filters button.is-active { color:#fff; border-color:var(--orange); background:rgba(245,130,32,.18); }
.shop-catalog-status { margin:28px 0 0; color:rgba(255,255,255,.48); font-size:.88rem; }
.public-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:24px; }
.public-product-card { overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:21px; background:rgba(255,255,255,.045); }
.public-product-image { height:245px; display:grid; place-items:center; padding:22px; color:rgba(255,255,255,.35); background:radial-gradient(circle at 50% 30%,rgba(245,130,32,.13),transparent 70%),rgba(255,255,255,.025); font-size:.75rem; }
.public-product-image img { width:100%; height:100%; object-fit:contain; }
.public-product-copy { padding:22px; }
.public-product-copy small { color:var(--orange); font-size:.65rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.public-product-copy h3 { margin:10px 0; font-size:1.4rem; letter-spacing:-.035em; }
.public-product-copy p { min-height:4.5em; margin:0; color:rgba(255,255,255,.52); font-size:.82rem; line-height:1.55; }
.public-product-copy a { display:flex; justify-content:space-between; gap:15px; margin-top:22px; padding-top:15px; border-top:1px solid rgba(255,255,255,.11); color:rgba(255,255,255,.76); font-size:.75rem; font-weight:750; }
.public-product-copy a b { color:var(--orange); }

@media (max-width:700px) {
  .holding-main.has-sections { padding-top:125px; }
  .holding-areas { grid-template-columns:1fr; margin-top:48px; }
  .holding-areas article { min-height:250px; }
  .shop-catalog-heading { align-items:flex-start; flex-direction:column; }
  .shop-category-filters { justify-content:flex-start; }
  .public-product-grid { grid-template-columns:1fr; }
  .subpage-content .page-switcher { width:100%; }
}

@media (min-width:701px) and (max-width:1000px) {
  .public-product-grid { grid-template-columns:repeat(2,1fr); }
}

/* Dark brand palette */
body { background:#10110f; color:#f2eee7; }
.site-header { border-color:rgba(255,255,255,.11); background:rgba(19,20,18,.84); box-shadow:0 14px 45px rgba(0,0,0,.28); }
.site-header.scrolled { background:rgba(17,18,16,.96); box-shadow:0 14px 45px rgba(0,0,0,.42); }
.site-header .brand, .footer-brand { padding:0; border:0; border-radius:0; background:transparent; }
.desktop-nav > a, .brands-menu > button { color:rgba(255,255,255,.7); }
.desktop-nav > a:hover, .desktop-nav > a:focus-visible, .brands-menu > button:hover, .brands-menu > button:focus-visible, .brands-menu.open > button { color:white; background:rgba(255,255,255,.09); }
.hero { border-bottom-color:rgba(255,255,255,.1); background:radial-gradient(circle at 72% 28%,#343127 0,#191a17 32%,#10110f 68%); }
.hero-grid { background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); }
.visual-frame { border-color:rgba(255,255,255,.12); background:radial-gradient(circle at 50% 42%,#35352f,#20211d 52%,#151613 72%); box-shadow:inset 0 0 80px rgba(255,255,255,.035),0 35px 90px rgba(0,0,0,.28); }
.visual-frame::before, .visual-frame::after { border-color:rgba(255,255,255,.1); }
.visual-label { border-color:rgba(255,255,255,.13); background:rgba(18,19,17,.72); color:rgba(255,255,255,.58); }
.scroll-cue { color:rgba(255,255,255,.48); }
.eyebrow { color:rgba(255,255,255,.55); }
.hero-intro, .section-heading > p:last-child { color:rgba(255,255,255,.6); }
.button-secondary { color:white; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.07); }
.button-secondary:hover { background:rgba(255,255,255,.13); }
.solutions { background:#121310; }
.division-card { border-color:rgba(255,255,255,.11); background:rgba(255,255,255,.035); box-shadow:0 18px 50px rgba(0,0,0,.14); }
.division-card:hover { background:rgba(255,255,255,.07); box-shadow:0 28px 65px rgba(0,0,0,.3); }
.division-card-disabled:hover { background:rgba(255,255,255,.035); box-shadow:0 18px 50px rgba(0,0,0,.14); }
.status { border-color:rgba(255,255,255,.13); color:rgba(255,255,255,.52); }
.card-link { border-color:rgba(255,255,255,.1); color:rgba(255,255,255,.58); }
.about { background:#191a17; border-block-color:rgba(255,255,255,.09); }
.about-copy p { color:rgba(255,255,255,.58); }
.about-copy .about-lead { color:#f2eee7; }
.capabilities span { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:rgba(255,255,255,.7); }
.site-footer { border-top:1px solid rgba(255,255,255,.08); background:#0d0e0c; }
.footer-row { color:rgba(255,255,255,.45); }
.footer-row > a:last-child { color:rgba(255,255,255,.78); }
.footer-actions a { color:rgba(255,255,255,.72); }

@media (max-width:900px) {
  .mobile-nav { border-color:rgba(255,255,255,.12); background:rgba(18,19,17,.98); box-shadow:0 24px 50px rgba(0,0,0,.4); }
  .mobile-nav a:hover { background:rgba(255,255,255,.07); }
  .mobile-nav .mobile-brand-live { color:#f2eee7; }
}

/* Responsive finishing and keyboard access. */
[hidden] { display:none !important; }
html { scroll-padding-top:110px; }
:focus-visible { outline:3px solid #f58220; outline-offset:4px; }
a, button { touch-action:manipulation; }
input, select, textarea { font-size:16px; }
.holding-content, .public-product-card, .holding-areas article { min-width:0; }
.holding-content h1, .public-product-copy, .holding-areas, .contact-details { overflow-wrap:anywhere; }
.holding-content > .managed-content-region { margin-top:48px; }
.holding-content { display:flex; flex-direction:column; }
.public-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-product-card { display:flex; flex-direction:column; }
.public-product-copy { display:flex; flex-direction:column; flex:1; }
.public-product-copy p { white-space:pre-line; }
.public-product-copy a { min-height:44px; margin-top:auto; }
.shop-category-filters button, .back-link { min-height:44px; }
.holding-footer { position:relative; }
.holding-main:not(.has-sections) { min-height:calc(100svh - 80px); }
.mobile-nav { max-height:calc(100dvh - 115px); overflow-y:auto; overscroll-behavior:contain; }
@media (max-width:1000px) {
  .public-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .holding-content h1, .holding-main.has-sections .holding-content h1 { font-size:clamp(2.6rem,10.5vw,4rem); }
  .holding-content > p:not(.eyebrow) { font-size:1rem; }
  .holding-content .hero-actions { width:100%; }
  .holding-content .hero-actions .button { width:100%; padding:12px; }
  .holding-header .brand { width:145px; }
  .holding-header .back-link { width:44px; height:44px; padding:0; font-size:0; }
  .holding-header .back-link::after { content:"\2190"; font-size:1rem; }
  .public-product-grid { grid-template-columns:1fr; }
  .public-product-image { height:240px; }
  .holding-areas article { padding:24px; }
  .holding-content > .managed-content-region { margin-top:0; }
}
@media (max-width:360px) {
  .hero h1 { font-size:3rem; }
  .site-header .brand { width:145px; }
  .contact-panel { padding:25px; }
}
