/* v2.3: document-flow storytelling, bespoke page composition and restored footer. */
:root { --v23-amber: #f59b23; --v23-line: rgba(255,255,255,.12); --v23-muted: #aeb8bc; }
html { scroll-padding-top: 92px; }
body { overflow-x: clip; }
#main-content { position: relative; }
.v23-content { background: #080c0e; }
.v23-section, .v23-home-section { position: relative; overflow: clip; padding: clamp(76px, 9vw, 148px) max(22px, calc((100vw - 1260px)/2)); color: #f4f6f6; background: #080c0e; border-top: 1px solid rgba(255,255,255,.055); }
.v23-section::before, .v23-home-section::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(circle at 84% 16%, rgba(245,155,35,.065), transparent 35%); }
.v23-section-alt { background: #0b1114; }
.v23-section-inner { position: relative; z-index: 1; width: 100%; max-width: 1260px; margin-inline: auto; }
.v23-section-head { max-width: 820px; margin-bottom: clamp(30px,4vw,54px); }
.v23-kicker { display: block; color: var(--v23-amber); font: 700 11px/1.2 Inter,sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.v23-section-head h2, .v23-home-heading h2 { max-width: 900px; margin: 16px 0 22px; color: #fff; font: 600 clamp(36px,5.2vw,72px)/1.02 "Space Grotesk",sans-serif; letter-spacing: -.05em; }
.v23-section-head p, .v23-home-heading p { max-width: 760px; margin: 0; color: var(--v23-muted); font: 500 clamp(15px,1.7vw,19px)/1.7 Inter,sans-serif; }
.v23-home-heading { max-width: 980px; margin-bottom: clamp(32px,4vw,60px); }
.v23-home-heading h2 em { color: var(--v23-amber); font-style: normal; }
.v23-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.v23-grid-compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
#products.v23-home-section .v23-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.v23-card { position: relative; isolation: isolate; min-width: 0; min-height: 250px; padding: clamp(24px,2.2vw,32px); display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--v23-line); border-radius: 22px; background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012) 62%),#0c1114; box-shadow: 0 18px 42px rgba(0,0,0,.11); transition: transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s; }
.v23-card::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; pointer-events: none; background: radial-gradient(400px circle at 10% 0%,rgba(245,155,35,.11),transparent 70%); opacity: .4; transition: opacity .35s; }
.v23-card:hover, .v23-card:focus-within { transform: translateY(-5px); border-color: rgba(245,155,35,.48); box-shadow: 0 24px 60px rgba(0,0,0,.25), 0 0 38px rgba(245,155,35,.07); }
.v23-card:hover::before, .v23-card:focus-within::before { opacity: 1; }
.v23-card-number { color: var(--v23-amber); font: 700 11px/1 Inter,sans-serif; letter-spacing: .16em; }
.v23-card h3 { margin: clamp(26px,3.5vw,42px) 0 11px; color: #f8f8f7; font: 600 clamp(21px,2vw,27px)/1.13 "Space Grotesk",sans-serif; letter-spacing: -.035em; }
.v23-card p { margin: 0; color: var(--v23-muted); font: 500 13px/1.65 Inter,sans-serif; }
.v23-card-link { display: inline-flex; gap: 7px; margin-top: auto; padding-top: 24px; color: var(--v23-amber); font: 700 12px/1.4 Inter,sans-serif; text-decoration: none; }
.v23-card-link span { transition: transform .25s; }
.v23-card-link:hover span { transform: translate(3px,-3px); }
.v23-home-growth { background: radial-gradient(circle at 90% 10%,rgba(245,155,35,.08),transparent 45%),#090d0f; }
.v23-growth-action { display: flex; justify-content: flex-start; margin-top: 30px; }
.v23-button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 48px; padding: 0 22px; border-radius: 99px; background: var(--v23-amber); color: #101113 !important; font: 750 12px/1.2 Inter,sans-serif; text-decoration: none; transition: transform .25s,box-shadow .25s; }
.v23-button:hover { transform: translateY(-3px); box-shadow: 0 12px 35px rgba(245,155,35,.28); }
.v23-hero { position: relative; display: flex; align-items: center; min-height: min(760px,90svh); padding: 160px max(22px,calc((100vw - 1260px)/2)) 110px; overflow: clip; isolation: isolate; color: #fff; background: radial-gradient(circle at var(--hx,76%) var(--hy,42%),rgba(245,155,35,.16),transparent 31%),linear-gradient(145deg,#090e11,#050708 70%); }
.v23-hero-0 { --hx: 81%; --hy: 30%; --turn: 0deg; }
.v23-hero-1 { --hx: 72%; --hy: 72%; --turn: 26deg; }
.v23-hero-2 { --hx: 92%; --hy: 48%; --turn: 50deg; }
.v23-hero-3 { --hx: 63%; --hy: 18%; --turn: 84deg; }
.v23-hero-4 { --hx: 84%; --hy: 87%; --turn: 115deg; }
.v23-hero-5 { --hx: 68%; --hy: 40%; --turn: 145deg; }
.v23-hero-grid { position: absolute; inset: 0; z-index: -1; opacity: .3; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(90deg,transparent,#000 80%); }
.v23-hero-content { width: min(100%,750px); position: relative; z-index: 2; }
.v23-hero h1 { margin: 18px 0 26px; color: #fff; font: 600 clamp(50px,7.1vw,100px)/.97 "Space Grotesk",sans-serif; letter-spacing: -.065em; text-wrap: balance; }
.v23-hero-content>p:not(.v23-kicker) { max-width: 660px; color: #c1cbce; font: 500 clamp(17px,2vw,22px)/1.6 Inter,sans-serif; }
.v23-hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 34px; }
.v23-text-link { color: #e0e6e7; font: 650 12px/1.2 Inter,sans-serif; text-decoration: none; }
.v23-hero-visual { position: absolute; left: var(--hx); top: var(--hy); width: clamp(320px,42vw,660px); aspect-ratio: 1; translate: -50% calc(-50% + var(--hero-shift,0px)); rotate: var(--turn); opacity: .7; z-index: 0; pointer-events: none; }
.v23-hero-visual i { position: absolute; inset: 0; border: 1px solid rgba(245,155,35,.21); border-radius: 50%; animation: v23Orbit 24s linear infinite; }
.v23-hero-visual i:nth-child(2) { inset: 18%; border-color: rgba(245,155,35,.38); animation-direction: reverse; animation-duration: 19s; }
.v23-hero-visual i:nth-child(3) { inset: 34%; border-color: rgba(255,255,255,.2); }
.v23-hero-visual i::after { content: ""; position: absolute; width: 8px; height: 8px; top: 16%; left: 12%; border-radius: 50%; background: var(--v23-amber); box-shadow: 0 0 26px var(--v23-amber); }
.v23-hero-visual b { position: absolute; inset: 42%; display: grid; place-items: center; border-radius: 50%; background: var(--v23-amber); box-shadow: 0 0 60px rgba(245,155,35,.6); color: #101113; font: 700 20px/1 "Space Grotesk",sans-serif; }
.v23-hero-product .v23-hero-visual i { border-radius: 28%; transform: rotate(45deg); }
.v23-hero-hub .v23-hero-visual i { border-radius: 12%; }
.v23-hero-founder .v23-hero-visual { opacity: .33; }
.v23-hero-side { position: absolute; bottom: 30px; right: 5%; color: rgba(255,255,255,.42); font: 600 10px/1 Inter,sans-serif; letter-spacing: .18em; }
.v23-statement { max-width: 900px; margin-top: 30px; padding: 24px 0 24px 26px; border-left: 2px solid var(--v23-amber); color: #f0f3f3; font: 600 clamp(24px,3.2vw,42px)/1.28 "Space Grotesk",sans-serif; letter-spacing: -.03em; }
.v23-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.v23-founder .v23-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
.v23-steps article { display: flex; align-items: flex-start; gap: 16px; padding: 24px 0; border-top: 1px solid var(--v23-line); }
.v23-steps article>span { flex: none; color: var(--v23-amber); font: 700 12px/1.5 Inter,sans-serif; }
.v23-steps h3 { margin: 0 0 10px; color: #fff; font: 600 clamp(19px,1.9vw,25px)/1.2 "Space Grotesk",sans-serif; }
.v23-steps p { margin: 0; color: var(--v23-muted); font: 500 14px/1.65 Inter,sans-serif; }
.v23-related { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.v23-related a { display: flex; justify-content: space-between; align-items: center; gap: 15px; min-height: 100px; padding: 22px; border: 1px solid var(--v23-line); border-radius: 16px; color: #fff; font: 600 clamp(17px,2vw,22px)/1.25 "Space Grotesk",sans-serif; text-decoration: none; transition: background .25s,border-color .25s,transform .25s; }
.v23-related a:hover { background: rgba(245,155,35,.075); border-color: rgba(245,155,35,.42); transform: translateY(-3px); }
.v23-related a span { color: var(--v23-amber); }
.v23-cta { padding: clamp(84px,9vw,140px) max(22px,calc((100vw - 1260px)/2)); background: radial-gradient(circle at 82% 25%,rgba(245,155,35,.17),transparent 30%),#0b1013; border-top: 1px solid rgba(245,155,35,.2); }
.v23-cta>div { max-width: 800px; }
.v23-cta h2 { margin: 18px 0; color: #fff; font: 600 clamp(38px,6vw,80px)/1 "Space Grotesk",sans-serif; letter-spacing: -.055em; }
.v23-cta p { color: #b5bfc2; font: 500 17px/1.7 Inter,sans-serif; margin-bottom: 30px; }
.v23-founder-intro-section .v23-section-inner { display: grid; grid-template-columns: 300px 1fr; gap: 0 65px; align-items: center; }
.v23-founder-intro-section .v23-section-head { grid-column: 1/-1; }
.v23-founder-photo { width: min(100%,300px); margin: 0; }
.v23-founder-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 26px; border: 1px solid rgba(245,155,35,.4); box-shadow: 0 20px 65px rgba(0,0,0,.34); }
.v23-founder-photo figcaption { margin-top: 13px; color: #aab3b7; font: 600 11px/1.4 Inter,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.v23-founder-intro p { color: #cad1d3; font: 500 17px/1.78 Inter,sans-serif; }
.v23-contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(30px,6vw,80px); align-items: start; }
.v23-contact-layout>div>p { color: #bac4c7; font: 500 16px/1.7 Inter,sans-serif; }
.v23-contact-layout dl { margin: 28px 0 0; }
.v23-contact-layout dl>div { display: grid; grid-template-columns: 90px 1fr; gap: 15px; padding: 17px 0; border-top: 1px solid var(--v23-line); }
.v23-contact-layout dt { color: #8f9da1; font: 700 11px/1.5 Inter,sans-serif; text-transform: uppercase; letter-spacing: .1em; }
.v23-contact-layout dd { margin: 0; color: #fff; overflow-wrap: anywhere; }
.v23-contact-layout dd a { color: var(--v23-amber); text-decoration: none; }
.v23-contact-layout form { display: grid; gap: 16px; padding: clamp(22px,3vw,35px); border: 1px solid var(--v23-line); border-radius: 22px; background: #0e1518; }
.v23-contact-layout label { display: grid; gap: 7px; color: #e6eded; font: 650 12px/1.4 Inter,sans-serif; }
.v23-contact-layout input,.v23-contact-layout textarea { display: block; width: 100%; min-height: 44px; padding: 12px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; background: #080d0f; color: #fff; font: 500 14px/1.5 Inter,sans-serif; }
.v23-contact-layout button { min-height: 46px; border: 0; border-radius: 99px; background: var(--v23-amber); color: #111; font: 750 12px/1 Inter,sans-serif; cursor: pointer; }
@keyframes v23Orbit { to { transform: rotate(360deg); } }
html.v23-enhanced [data-v23-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
html.v23-enhanced [data-v23-reveal].v23-visible { opacity: 1; transform: none; }
/* The original footer's animated wordmark and grid, rebuilt as one sitewide component. */
.global-footer.dp-footer { isolation: isolate; position: relative; z-index: 2; padding: clamp(65px,8vw,112px) max(22px,calc((100vw - 1260px)/2)) 0; overflow: hidden; background: linear-gradient(180deg,#080d0f,#050708 40%); border-top: 1px solid rgba(255,255,255,.09); }
.global-footer .ft-grid { position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(205,214,222,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(205,214,222,.045) 1px,transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(70% 70% at 50% 100%,#000,transparent 85%); }
.global-footer .ft-top { display: grid; grid-template-columns: minmax(250px,1fr) minmax(0,1.8fr); gap: clamp(35px,6vw,100px); }
.global-footer .ft-brand>p { max-width: 370px; margin: 25px 0; color: #b6c0c3; font: 500 15px/1.7 Inter,sans-serif; }
.global-footer .ft-brand address { display: grid; gap: 9px; color: #b6c0c3; font: normal 500 13px/1.5 Inter,sans-serif; }
.global-footer .ft-brand .ft-mail { color: var(--v23-amber); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.global-footer .ft-social { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 27px; color: #8f9a9e; font: 650 11px/1 Inter,sans-serif; text-transform: uppercase; letter-spacing: .1em; }
.global-footer .ft-social a { display: inline-flex; align-items: center; min-height: 37px; padding: 0 14px; border: 1px solid rgba(245,155,35,.35); border-radius: 99px; color: #fff; text-decoration: none; text-transform: none; letter-spacing: 0; transition: background .25s,transform .25s; }
.global-footer .ft-social a:hover { background: rgba(245,155,35,.12); transform: translateY(-2px); }
.global-footer .ft-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; border: 0; }
.global-footer .ft-group { border: 0; }
.global-footer .ft-group summary { list-style: none; cursor: default; pointer-events: none; padding: 0; }
.global-footer .ft-group summary::-webkit-details-marker { display: none; }
.global-footer .ft-group summary::after { display: none; }
.global-footer .ft-group h2 { margin: 0 0 18px; color: var(--v23-amber); font: 650 15px/1.2 "Space Grotesk",sans-serif; }
.global-footer .ft-links { display: grid; grid-template-columns: 1fr; gap: 3px; padding: 0; }
.global-footer .ft-links a { padding: 5px 0; color: #b3bec1; font: 500 13px/1.45 Inter,sans-serif; text-decoration: none; transition: color .25s,transform .25s; }
.global-footer .ft-links a:hover { color: #fff; transform: translateX(3px); }
.global-footer .ft-word { position: relative; margin: clamp(52px,7vw,100px) 0 0; font: 700 clamp(38px,8.5vw,154px)/.9 "Space Grotesk",sans-serif; letter-spacing: -.06em; text-align: center; white-space: nowrap; user-select: none; }
.global-footer .ft-word span { display: inline-block; padding: 0 .04em .1em; background: linear-gradient(100deg,rgba(238,236,230,.07) 34%,rgba(255,148,31,.34) 50%,rgba(238,236,230,.07) 66%),linear-gradient(180deg,rgba(238,236,230,.14),rgba(238,236,230,.015)); background-size: 260% 100%,100% 100%; background-position: 120% 0,0 0; background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: v23FooterSweep 25s linear infinite; }
@keyframes v23FooterSweep { to { background-position: -60% 0,0 0; } }
.global-footer .ft-bottom { position: relative; display: flex; justify-content: space-between; gap: 20px; padding: 22px 0 28px; border-top: 1px solid var(--v23-line); color: #879296; font: 500 11px/1.5 Inter,sans-serif; }
.global-footer .ft-bottom p { margin: 0; }
.global-footer .ft-bottom a { color: #d5dada; text-decoration: none; }
@media (max-width: 1050px) {
  .v23-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #products.v23-home-section .v23-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .global-footer .ft-top { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .v23-section,.v23-home-section { padding: 72px 20px; }
  .v23-section-head h2,.v23-home-heading h2 { font-size: clamp(34px,9vw,48px); }
  .v23-grid,.v23-grid-compact { grid-template-columns: 1fr; }
  #products.v23-home-section .v23-grid { grid-template-columns: 1fr; }
  .v23-card { min-height: 210px; padding: 24px; }
  .v23-card h3 { margin-top: 24px; }
  .v23-steps,.v23-related { grid-template-columns: 1fr; gap: 0; }
  .v23-founder .v23-steps { grid-template-columns: 1fr; }
  .v23-steps article { padding: 18px 0; }
  .v23-related { gap: 10px; }
  .v23-related a { min-height: 76px; }
  .v23-hero { min-height: min(690px,87svh); padding: 132px 20px 75px; align-items: flex-end; }
  .v23-hero h1 { font-size: clamp(43px,12vw,65px); }
  .v23-hero-content>p:not(.v23-kicker) { font-size: 16px; }
  .v23-hero-visual { left: 72%; top: 30%; width: min(84vw,450px); opacity: .38; }
  .v23-hero-side { display: none; }
  .v23-founder-intro-section .v23-section-inner { grid-template-columns: 1fr; }
  .v23-founder-intro-section .v23-section-head { grid-column: 1; }
  .v23-founder-photo { margin-bottom: 20px; }
  .v23-contact-layout { grid-template-columns: 1fr; }
  .global-footer.dp-footer { padding: 58px 20px 0; }
  .global-footer .ft-top { gap: 35px; }
  .global-footer .ft-brand>p { margin: 17px 0; font-size: 14px; }
  .global-footer .ft-social { margin-top: 19px; }
  .global-footer .ft-nav { display: block; }
  .global-footer .ft-group { border-top: 1px solid var(--v23-line); }
  .global-footer .ft-group:last-child { border-bottom: 1px solid var(--v23-line); }
  .global-footer .ft-group summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; cursor: pointer; pointer-events: auto; }
  .global-footer .ft-group summary::after { display: block; content: "+"; color: var(--v23-amber); font: 500 24px/1 Inter,sans-serif; }
  .global-footer .ft-group[open] summary::after { content: "−"; }
  .global-footer .ft-group h2 { margin: 0; color: #fff; }
  .global-footer .ft-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 17px; padding-bottom: 13px; }
  .global-footer .ft-links a { min-height: 35px; font-size: 12px; }
  .global-footer .ft-word { margin: 34px 0 0; font-size: clamp(36px,8vw,60px); }
  .global-footer .ft-bottom { display: grid; gap: 7px; padding: 17px 0 22px; }
}
@media (max-width: 400px) {
  .v23-hero-actions { gap: 15px; }
  .global-footer .ft-word { font-size: 8vw; }
}
@media (prefers-reduced-motion: reduce) {
  html.v23-enhanced [data-v23-reveal] { opacity: 1; transform: none; transition: none; }
  .v23-hero-visual i,.global-footer .ft-word span { animation: none; }
  .v23-card,.v23-button,.v23-related a { transition: none; }
}
