html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}@font-face{font-family:arial narrow fallback;src:local(Arial Narrow);size-adjust:93%;ascent-override:103%;descent-override:31%;line-gap-override:14%}:root{--font-family: "font", -apple-system, blinkmacsystemfont, avenir next, avenir, segoe ui, helvetica neue, helvetica, cantarell, ubuntu, roboto, noto, arial, sans-serif;--lightning-color: #8898e7;--ease-in-power1: cubic-bezier(.55, .085, .68, .53);--ease-out-power1: cubic-bezier(.25, .46, .45, .94);--ease-in-out-power1: cubic-bezier(.455, .03, .515, .955);--ease-in-power2: cubic-bezier(.55, .055, .675, .19);--ease-out-power2: cubic-bezier(.215, .61, .355, 1);--ease-in-out-power2: cubic-bezier(.645, .045, .355, 1);--ease-in-power3: cubic-bezier(.895, .03, .685, .22);--ease-out-power3: cubic-bezier(.165, .84, .44, 1);--ease-in-out-power3: cubic-bezier(.77, 0, .175, 1);--ease-in-power4: cubic-bezier(.755, .05, .855, .06);--ease-out-power4: cubic-bezier(.23, 1, .32, 1);--ease-in-out-power4: cubic-bezier(.86, 0, .07, 1);--ease-in-circ: cubic-bezier(.6, .04, .98, .335);--ease-out-circ: cubic-bezier(.075, .82, .165, 1);--ease-in-out-circ: cubic-bezier(.785, .135, .15, .86);--ease-in-expo: cubic-bezier(.95, .05, .795, .035);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-in-out-expo: cubic-bezier(1, 0, 0, 1);--ease-in-sine: cubic-bezier(.47, 0, .745, .715);--ease-out-sine: cubic-bezier(.39, .575, .565, 1);--ease-in-out-sine: cubic-bezier(.445, .05, .55, .95);--ease-in-back: cubic-bezier(.6, -.28, .735, .045);--ease-out-back: cubic-bezier(.175, .885, .32, 1.275);--ease-in-out-back: cubic-bezier(.68, -.55, .265, 1.55);--ease-bounce: cubic-bezier(.47, 1.64, .41, .8);--ease-out-bounce: cubic-bezier(.17, .67, .3, 1.33);--ease-out: cubic-bezier(.37, .31, 0, 1);--ease-out-swift: cubic-bezier(.55, 0, .1, 1);--ease-smooth: cubic-bezier(.32, .72, 0, 1);--ease-smooth-out: cubic-bezier(.4, 0, 0, 1);--ease-smooth-in-out: cubic-bezier(.75, 0, .25, 1);--ease-out-gentle: cubic-bezier(.17, 1.38, .35, .96);--ease-in-out-soft: cubic-bezier(.4, .15, 0, 1);--ease-opacity: cubic-bezier(.4, 0, .2, 1);--grid-margin: 1.5rem;--grid-columns: 6;--grid-gutter: 1rem;--grid-column-width: calc( ((var(--vw, 1vw) * 100) - (2 * var(--grid-margin))) / var(--grid-columns) - (var(--grid-gutter) * (var(--grid-columns) - 1) / var(--grid-columns)) );--grid: repeat(var(--grid-columns), minmax(0, 1fr))}@media (width >= 991px){:root{--grid-margin: 2.5rem;--grid-columns: 12}}@keyframes color-blink-in{0%{color:var(--lightning-color);opacity:0}20%{opacity:1}35%{color:var(--lightning-color)}55%{opacity:.6}70%{color:inherit}85%{opacity:1}to{opacity:1}}@keyframes text-fade-in{0%{color:inerhit;opacity:1}1%{color:var(--lightning-color);opacity:1}15%{opacity:.2}30%{opacity:.8}40%{color:var(--lightning-color);opacity:1}55%{opacity:1}70%{color:inherit;opacity:.7}85%{opacity:1}to{opacity:1}}@keyframes blink{0%{opacity:1}20%{opacity:.3}35%{opacity:.85}55%{opacity:.2}70%{opacity:1}to{opacity:1}}[data-text-fade-in]:not(.is-inview) .split-word{animation:none;animation-delay:0}[data-text-fade-in]:not(.is-inview) .split-char{animation:none;animation-delay:0}@media (prefers-reduced-motion: no-preference){[data-text-fade-in].is-inview .split-word{animation:blink .26s var(--ease-out-power2) both;animation-delay:calc((var(--word) - 1) * 39ms + .175s)}}@media (prefers-reduced-motion: no-preference){[data-text-fade-in].is-inview .split-char{animation:text-fade-in .32s var(--ease-out-power2) both;animation-delay:calc((var(--char) - 1) * 28ms + .125s)}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;scroll-behavior:initial;scrollbar-width:thin}html:not(.is-ready.fonts-loaded){cursor:wait;pointer-events:none}html:not(.is-ready.fonts-loaded).wf-editor-mode,html:not(.is-ready.fonts-loaded).wf-design-mode,html:not(.is-ready.fonts-loaded).site-scrollbar{cursor:auto;pointer-events:auto}html,body{width:100%;height:100%;margin:0}@media (width >= 991px){html,body{overscroll-behavior:none}}::-moz-selection{color:var(--colour--micro-black);background:var(--colour--light)}::selection{color:var(--colour--micro-black);background:var(--colour--light)}.logo-section{overflow-x:clip}.wf-editor-mode .w-embed.w-script,.wf-design-mode .w-embed.w-script{display:none}.wf-editor-mode .wf-empty,.wf-design-mode .wf-empty{padding:0}.wf-editor-mode .loader,.wf-design-mode .loader{display:none}@keyframes subline-move-in{0%{opacity:0}10%{opacity:1}29%{opacity:1}30%{opacity:0}}@media (prefers-reduced-motion: no-preference){html.is-ready.fonts-loaded .hero-subline .subheading{animation:subline-move-in 1.2s var(--ease-out-power2) both;animation-delay:.35s}}@keyframes nav-bar-move-in{0%{opacity:0;background-color:transparent}10%{opacity:1}29%{opacity:1}30%{opacity:0}75%{background-color:transparent}to{background-color:#ffffff1a}}.nav-bar{transition:background-color .2s var(--ease-opacity)}@media (prefers-reduced-motion: reduce){.nav-bar{opacity:0}}@media (prefers-reduced-motion: no-preference){html.is-ready.fonts-loaded .nav-bar{animation:nav-bar-move-in 1.2s var(--ease-out-power2) both;animation-delay:.55s}}@media (prefers-reduced-motion: reduce){html.is-ready.fonts-loaded .nav-bar{opacity:1;transition:opacity .2s ease-out}}@media (width <= 768px) and (prefers-reduced-motion: reduce){.hero-section .icon-button{opacity:0}}@media (width <= 768px) and (prefers-reduced-motion: no-preference){html.is-ready.fonts-loaded .hero-section .icon-button{animation:nav-bar-move-in .8s var(--ease-out-power2) both;animation-delay:.55s}}@media (width <= 768px) and (prefers-reduced-motion: reduce){html.is-ready.fonts-loaded .hero-section .icon-button{opacity:1;transition:opacity .2s ease-out}}.nav-button.is-non{opacity:1}@media (prefers-reduced-motion: no-preference){html.is-ready.fonts-loaded .nav-button.is-non{opacity:.15;transition:opacity .25s 1.5s ease-out}}@media (prefers-reduced-motion: reduce){html.is-ready.fonts-loaded .nav-button.is-non{opacity:.15;transition:opacity .2s ease-out}}.wf-editor-mode .nav-button.is-non,.wf-design-mode .nav-button.is-non{opacity:1}.nav-wrapper,.hero-container .heading-width{opacity:0}@media (prefers-reduced-motion: no-preference){html.is-ready.fonts-loaded .nav-wrapper,html.is-ready.fonts-loaded .hero-container .heading-width{opacity:1;transition:opacity .225s .8s ease-out}}@media (prefers-reduced-motion: reduce){html.is-ready.fonts-loaded .nav-wrapper,html.is-ready.fonts-loaded .hero-container .heading-width{opacity:1;transition:opacity .2s ease-out}}.wf-editor-mode .nav-wrapper,.wf-design-mode .nav-wrapper,.wf-editor-mode .hero-container .heading-width,.wf-design-mode .hero-container .heading-width{opacity:1}[data-hero-title] .split-word{opacity:0}@media (prefers-reduced-motion: no-preference){html.is-ready.fonts-loaded [data-hero-title] .split-word{animation:color-blink-in .41s var(--ease-in-out-power2) both;animation-delay:calc((var(--word) - 1) * 98ms)}}@media (prefers-reduced-motion: reduce){html.is-ready.fonts-loaded [data-hero-title] .split-word{opacity:1}}@keyframes button-blink-in{0%{color:var(--lightning-color);opacity:0;background-color:#ffffff1a}20%{opacity:1}35%{color:var(--lightning-color);background-color:#fff3}55%{opacity:.6;background-color:#ffffff1a}70%{color:inherit}85%{opacity:1}to{opacity:1}}@keyframes button-dark-blink-in{0%{color:var(--lightning-color);opacity:0;background-color:#00000014}20%{opacity:1}35%{color:var(--lightning-color);background-color:#0000000a}55%{opacity:.6;background-color:#00000014}70%{color:inherit}85%{opacity:1}to{opacity:1}}[data-button]{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){[data-button]:is(:hover,:focus-visible){animation:color-blink-in .32s var(--ease-in-out-power2) both}}@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){[data-button].icon-button:is(:hover,:focus-visible){animation:button-blink-in .32s var(--ease-in-out-power2) both}}@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){[data-button].icon-button.is-dark:is(:hover,:focus-visible){animation:button-dark-blink-in .32s var(--ease-in-out-power2) both}}[data-button]:after{content:"";display:block;position:absolute;inset:-.25rem}[data-button-text]{font-variant:tabular-nums;font-variant-numeric:tabular-nums;font-kerning:none}.centered-slider-button{transition:scale .15s cubic-bezier(.4,0,.2,1)}.centered-slider-button:active{scale:.97}[data-benefits-text-top]:not(.is-exit) .split-word{opacity:0}@media (prefers-reduced-motion: no-preference){[data-benefits-text-bottom]:not(.is-exit) .split-word{background-color:#000}}@media (prefers-reduced-motion: reduce){[data-benefits-text-top] .split-word,[data-benefits-text-bottom] .split-word{transition:opacity .15s ease-out}}@keyframes fade-out{0%{opacity:.6}33%{opacity:1}66%{opacity:.6}to{opacity:0}}@media (prefers-reduced-motion: no-preference){[data-benefits-text-top].is-exit .split-word{animation:fade-out .2s var(--ease-in-out-power2) both;animation-delay:calc((var(--word) - 1) * 22ms)}}@media (prefers-reduced-motion: reduce){[data-benefits-text-top].is-exit .split-word{opacity:0}}@media (prefers-reduced-motion: no-preference){[data-benefits-text-top].is-active .split-word{animation:color-blink-in .32s var(--ease-in-out-power2) both;animation-delay:calc((var(--word) - 1) * 32ms + .125s)}}@media (prefers-reduced-motion: reduce){[data-benefits-text-top].is-active .split-word{opacity:1}}@keyframes color-fade-out{to{background-color:#000}}@media (prefers-reduced-motion: no-preference){[data-benefits-text-bottom].is-exit .split-word{animation:color-fade-out .15s var(--ease-in-out-power2) both;animation-delay:calc((var(--word) - 1) * 22ms)}}@media (prefers-reduced-motion: reduce){[data-benefits-text-bottom].is-exit .split-word{opacity:0}}@keyframes blink-in{0%{background-color:#000}55%{background-color:#0006}75%{background-color:#000c}to{background-color:#0000}}[data-benefits-text-bottom].is-active{z-index:1}@media (prefers-reduced-motion: no-preference){[data-benefits-text-bottom].is-active .split-word{animation:blink-in .32s var(--ease-in-out-power2) both;animation-delay:calc((var(--word) - 1) * 32ms + .1s)}}@media (prefers-reduced-motion: reduce){[data-benefits-text-bottom].is-active .split-word{opacity:1}}[data-benefits-text-bottom] .split-word{padding-left:.2em;padding-right:.2em;margin-left:-.2em;margin-right:-.2em}.benefits-box{--border-stroke: .0625rem;--border-color: #0000 90deg, var(--colour--light) 0;--border-width: 1.5625rem 1.5625rem border-box no-repeat}.benefits-box:after{content:"";display:block;position:absolute;inset:0;background:conic-gradient(from 90deg at top var(--border-stroke) left var(--border-stroke),var(--border-color)) 0 0/var(--border-width),conic-gradient(from 180deg at top var(--border-stroke) right var(--border-stroke),var(--border-color)) 100% 0/var(--border-width),conic-gradient(from 0deg at bottom var(--border-stroke) left var(--border-stroke),var(--border-color)) 0 100%/var(--border-width),conic-gradient(from -90deg at bottom var(--border-stroke) right var(--border-stroke),var(--border-color)) 100% 100%/var(--border-width)}.benefits-bottom .benefits-box{--border-color: #0000 90deg, var(--colour--micro-black) 0}.benefits-nav{opacity:0;transition:opacity .1s ease-out}.benefits-section.is-inview .benefits-nav{opacity:1}@media (prefers-reduced-motion: no-preference){[data-stats-left].is-inview .stat-number-wrap{animation:blink .26s var(--ease-out-power2) both;animation-delay:.175s}}@media (prefers-reduced-motion: no-preference){[data-stats-right].is-inview .stat-number-wrap{animation:blink .26s var(--ease-out-power2) both;animation-delay:.245s}}.stat-number-circle{background:linear-gradient(90deg,#595959,#222) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@media (width <= 480px){.stat-number-circle{background:linear-gradient(180deg,#595959,#222) border-box}}.micro-text{font-variant:tabular-nums;font-variant-numeric:tabular-nums}@keyframes moving-stroke{0%{stroke-dashoffset:0}to{stroke-dashoffset:4px}}@keyframes move-bg{to{background-position:0 var(--bg-size)}}.svg-guideline{--bg-size: 200%;stroke-dasharray:2px 2px 4px;animation:moving-stroke .45s linear infinite,move-bg 2.25s linear forwards infinite;background:linear-gradient(to bottom,color-mix(in hsl,#222,transparent 100%) 20%,color-mix(in hsl,var(--colour--light),transparent 55%),color-mix(in hsl,#222,transparent 100%) 80%) 0 0/100% var(--bg-size) border-box}.svg-guideline_outer:after{content:"";display:block;position:absolute;inset:0;z-index:1;background-image:linear-gradient(to bottom,#0000 0% 70%,#000)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% - .125rem))}}.divider-line{margin-right:.125rem;mix-blend-mode:exclusion}@media (prefers-reduced-motion: no-preference){.divider-line{animation-duration:48s;animation-iteration-count:infinite;animation-name:marquee;animation-timing-function:linear}}@keyframes move-divider-bg{to{background-position:var(--bg-size) 0}}.divider{--bg-size: 200%;background:linear-gradient(to right,color-mix(in hsl,#222,transparent 100%) 20%,color-mix(in hsl,var(--colour--light),transparent 85%),color-mix(in hsl,#222,transparent 100%) 80%) 0 0/var(--bg-size) 100% border-box}@media (prefers-reduced-motion: no-preference){.divider{animation:move-divider-bg 2.25s linear forwards infinite}}.divider:after{content:"";display:block;position:absolute;inset:0;z-index:1;background-image:linear-gradient(90deg,#101010,#596870 33.65%,#000 65.38%,#454545);mix-blend-mode:darken}.divider-line-short{position:relative}.divider-line-short:after{content:"";display:block;position:absolute;inset:0;height:.0625rem;z-index:1;background-image:linear-gradient(90deg,#141414,#383838 29.81%,#111 85.58%);mix-blend-mode:multiply}@keyframes char-move{0%{translate:0 60% 0}29%{translate:0 60% 0}30%{translate:0 0 0}}.graphic-3{overflow:visible!important}@media (prefers-reduced-motion: no-preference){.graphic-3 path:nth-child(5){animation:char-move 1.2s var(--ease-out-power2) infinite;animation-play-state:paused}}@media (prefers-reduced-motion: no-preference){.graphic-3 path:nth-child(6){animation:char-move 1.2s var(--ease-out-power2) infinite;animation-delay:.25s;animation-play-state:paused}}@media (prefers-reduced-motion: no-preference){.graphic-3 path:nth-child(7){animation:char-move 1.2s var(--ease-out-power2) infinite;animation-delay:.5s;animation-play-state:paused}}@media (prefers-reduced-motion: no-preference){.graphic-3 path:nth-child(8){animation:char-move 1.2s var(--ease-out-power2) infinite;animation-delay:.75s;animation-play-state:paused}}@media (prefers-reduced-motion: no-preference){.graphic-3.is-inview path:nth-child(5),.graphic-3.is-inview path:nth-child(6),.graphic-3.is-inview path:nth-child(7),.graphic-3.is-inview path:nth-child(8){animation-play-state:running}}.centered-slider-row:has(.centered-slider-slide.active) .centered-slider-slide:not(.active){opacity:.45}@keyframes number-blink-in{0%{color:var(--colour--light);opacity:0}20%{opacity:.25}35%{color:var(--colour--light)}55%{opacity:.1}70%{color:#141414}85%{opacity:1}to{opacity:1;color:#141414}}[data-number].is-inview [data-number-item]{animation:number-blink-in .36s var(--ease-out-power2) both;animation-delay:calc(var(--index) * 36ms + .2s)}@keyframes opacity-blinking{50%{opacity:0}}[data-typing].is-inview [data-typing-arrow] .split-char{animation:opacity-blinking .65s step-start infinite;animation-delay:calc((var(--char) - 1) * .2s)}[data-typing-blink]:nth-child(8){animation-delay:.125s!important}[data-typing].is-inview [data-typing-blink]{animation:opacity-blinking .65s step-start infinite}[data-typing-shuffle]{display:inline-block;width:2.5ch}[data-typing-shuffle-symbols]{display:inline-block;width:1.25ch}.swap-list{transition:width .35s .05s var(--ease-out-power2);width:var(--width);will-change:width}.swap-list-item{-webkit-mask:linear-gradient(90deg,rgba(255,255,255,.5019607843) 0%,rgba(0,0,0,.2) 100%);mask:linear-gradient(90deg,rgba(255,255,255,.5019607843) 0%,rgba(0,0,0,.2) 100%)}
/* Localized language control for the TitanGate navigation. */
.language-switcher {
  align-items: center;
  justify-content: center;
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  gap: 0.55rem;
  min-width: 6.7rem;
  padding: 0.68rem 0.65rem;
  border: 1px solid rgba(174, 186, 255, 0.42);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.5);
  background: rgba(8, 10, 18, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 0.75rem 2rem rgba(0, 0, 0, 0.28), 0 0 1.2rem rgba(93, 111, 255, 0.08);
  backdrop-filter: blur(18px);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.65rem;
  letter-spacing: 0.18rem;
  line-height: 1;
  text-transform: uppercase;
  transition: border-color 220ms ease, background-color 220ms ease, transform 220ms ease;
}

.language-switcher [data-language-option] {
  color: rgba(255, 255, 255, 0.42);
  transition: color 220ms ease, text-shadow 220ms ease;
}

.language-switcher [data-language-option].is-active {
  color: #fff;
  text-shadow: 0 0 0.8rem rgba(174, 186, 255, 0.8);
}

.dewi-brand-wordmark {
  align-items: center;
  gap: 0.65rem;
  color: #fff;
  display: inline-flex;
  font-family: "PP Supply Sans", "Arial Narrow", Arial, sans-serif;
  font-size: 1.7rem;
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 1;
  white-space: nowrap;
}

.dewi-brand-mark {
  width: 1.9rem;
  height: 1.9rem;
  color: #fff;
  flex: 0 0 auto;
}

.dewi-brand-wordmark > span:last-child {
  transform: translateY(0.08em);
}

.footer-section .dewi-brand-wordmark { color: #000; }
.footer-section .dewi-brand-mark { filter: invert(1); }

/* Use the Dewi Lab mark for the manifesto section divider. */
.div-block .tge-break {
  display: none;
}

.div-block::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto;
  background: url("/assets/dewi-lab-mark.svg") center / contain no-repeat;
}

/* Use the Dewi Lab wordmark in the loading screen instead of the legacy TGE SVG. */
.loader-column:nth-child(3) .loader-logo {
  display: none;
}

.loader-column:nth-child(3)::after {
  content: "德薇 Dewi Lab";
  display: block;
  color: #fff;
  font-family: "PP Supply Sans", "Arial Narrow", Arial, sans-serif;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 1;
  white-space: nowrap;
  animation: dewi-loader-wordmark-in 1.15s cubic-bezier(.22, 1, .36, 1) both;
}

.loader-column:nth-child(3) {
  align-items: center;
  gap: 0.8rem;
}

.loader-column:nth-child(3)::before {
  content: "";
  width: clamp(1.8rem, 4vw, 3.2rem);
  height: clamp(1.8rem, 4vw, 3.2rem);
  flex: 0 0 auto;
  background: url("/assets/dewi-lab-mark.svg") center / contain no-repeat;
}

@keyframes dewi-loader-wordmark-in {
  0% {
    opacity: 0;
    color: #8898e7;
    transform: translateY(0.45em) scale(0.96);
    filter: blur(0.3em);
    letter-spacing: 0.08em;
  }
  45% {
    opacity: 0.55;
    color: #aebaff;
    text-shadow: 0 0 1.2rem rgba(136, 152, 231, 0.9);
  }
  100% {
    opacity: 1;
    color: #fff;
    transform: translateY(0) scale(1);
    filter: blur(0);
    letter-spacing: -0.065em;
    text-shadow: 0 0 0 rgba(136, 152, 231, 0);
  }
}

html.fonts-loaded .loader.is-finished .loader-column:nth-child(3)::after {
  opacity: 0;
  transform: translateY(-0.2em) scale(1.02);
  transition: opacity 0.24s ease, transform 0.24s ease;
}

@media (prefers-reduced-motion: reduce) {
  .loader-column:nth-child(3)::after {
    animation: none;
  }
}

/* Replace the legacy card mark while preserving the original card layout. */
.benefits-box-logo {
  display: none;
}

.benefits-top .benefits-box-header::after {
  content: "Dewi Lab";
  display: block;
  color: #fff;
  font-family: "PP Supply Sans", "Arial Narrow", Arial, sans-serif;
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 1;
}

/* Replace the large footer TGE letterform with the Dewi Lab wordmark. */
.letterform-mask {
  position: relative;
  min-height: clamp(10rem, 28vw, 28rem);
  display: flex;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: center;
  justify-content: center;
  background: #fff;
}

.letterform-mask .footer-letterform {
  display: none;
}

.letterform-mask::after {
  content: "德薇 Dewi Lab";
  color: #000;
  display: block;
  font-family: "PP Supply Sans", "Arial Narrow", Arial, sans-serif;
  font-size: clamp(2.5rem, 10vw, 10rem);
  font-weight: 400;
  letter-spacing: -0.08em;
  line-height: 0.9;
  white-space: nowrap;
}

.letterform-mask::before {
  content: "";
  display: block;
  width: clamp(5.75rem, 12.65vw, 12.65rem);
  height: clamp(5.75rem, 12.65vw, 12.65rem);
  flex: 0 0 auto;
  background: url("/assets/dewi-lab-mark.svg") center / contain no-repeat;
  filter: invert(1);
  position: relative;
  top: clamp(-1.5rem, -2.5vw, -0.8rem);
  transform: none;
}

.language-switcher i {
  width: 0.24rem;
  height: 0.24rem;
  border-radius: 50%;
  background: #9daaff;
  box-shadow: 0 0 0.65rem rgba(136, 152, 231, 0.95);
}

.contact-widget {
  position: fixed;
  z-index: 2000;
  right: 1.5rem;
  bottom: 1.5rem;
  color: #fff;
  font-family: "PP Supply Sans", "Arial Narrow", Arial, sans-serif;
}

.contact-trigger,
.contact-form button {
  border: 1px solid rgba(174, 186, 255, 0.55);
  border-radius: 999px;
  color: #fff;
  background: rgba(10, 13, 24, 0.82);
  box-shadow: 0 0.8rem 2.5rem rgba(0, 0, 0, 0.35), 0 0 1.2rem rgba(86, 108, 255, 0.12);
  cursor: pointer;
  font: inherit;
  letter-spacing: 0.05em;
  padding: 0.85rem 1.25rem;
  backdrop-filter: blur(18px);
}

.contact-trigger:hover,
.contact-form button:hover { background: rgba(42, 47, 78, 0.9); }

.contact-panel {
  position: absolute;
  right: 0;
  bottom: 3.8rem;
  width: min(23rem, calc(100vw - 2rem));
  padding: 1.5rem;
  border: 1px solid rgba(174, 186, 255, 0.28);
  border-radius: 1rem;
  background: rgba(7, 9, 17, 0.94);
  box-shadow: 0 1rem 4rem rgba(0, 0, 0, 0.48), inset 0 1px rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(24px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.75rem) scale(0.97);
  transform-origin: bottom right;
  transition: opacity 240ms ease, transform 260ms cubic-bezier(.22, 1, .36, 1);
}

.contact-widget.is-open .contact-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.contact-widget.is-open .contact-trigger {
  border-color: rgba(174, 186, 255, 0.9);
  background: rgba(42, 47, 78, 0.9);
}

.contact-close {
  position: absolute;
  top: 0.7rem;
  right: 0.85rem;
  border: 0;
  color: rgba(255, 255, 255, 0.6);
  background: transparent;
  cursor: pointer;
  font-size: 1.5rem;
}

.contact-panel h2 { margin: 0 0 1.1rem; font-size: 1.7rem; font-weight: 400; letter-spacing: -0.06em; }
.contact-details { display: grid; gap: 0.7rem; margin-bottom: 1.2rem; color: #fff; font-size: .95rem; }
.contact-details a, .contact-details > span { align-items: center; display: flex; gap: .65rem; color: #fff; text-decoration: none; }
.contact-details > span { color: #fff; }
.contact-details svg { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.45; }
.contact-form { display: grid; gap: .6rem; }
.contact-form input, .contact-form textarea { width: 100%; box-sizing: border-box; border: 1px solid rgba(255,255,255,.16); border-radius: .45rem; padding: .75rem; color: #fff; background: rgba(255,255,255,.06); font: inherit; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: #aebaff; outline: none; }
.contact-form button { justify-self: start; padding: .7rem 1rem; }
.contact-status { min-height: 1.1em; margin: 0; color: rgba(255,255,255,.62); font-size: .75rem; }
.contact-status.is-success { color: #aebaff; }
.contact-status.is-error { color: #ff9d9d; }

@media (max-width: 600px) {
  .contact-widget { right: 1rem; bottom: 1rem; }
  .contact-panel { right: -0.25rem; }
}

.language-switcher:hover,
.language-switcher:focus-visible {
  border-color: rgba(173, 186, 255, 0.8);
  background: rgba(42, 46, 70, 0.78);
  outline: none;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .language-switcher {
    min-width: 5.6rem;
    padding: 0.6rem 0.75rem;
    font-size: 0.58rem;
  }
}

/* Tablet and phone navigation: preserve brand and language controls in one row. */
@media (max-width: 991px) {
  .nav-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: max(1.25rem, env(safe-area-inset-top)) 1.25rem 0;
  }

  .nav-wrapper > div { min-width: 0; }
  .language-switcher { flex: 0 0 auto; min-height: 44px; }
  .hero-flex .icon-button.is-mobile { display: none; }

  .slider-inner:has(.benefits-box-logo)::before {
    content: "Dewi Lab";
    color: #fff;
    font-family: "PP Supply Sans", Arial, sans-serif;
    font-size: 1.8rem;
    letter-spacing: -0.065em;
    line-height: 1.2;
  }

  .centered-slider-slide .body-large {
    font-size: clamp(1rem, 2.5vw, 1.3rem);
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
}

/* Keep mobile typography readable without replacing animated text nodes. */
@media (max-width: 768px) {
  /* Keep every background video in its section instead of letting mobile browsers
     place the media element in normal document flow. */
  .hero-section,
  .intro-section,
  .protection-section,
  .letter-section {
    position: relative;
  }

  .hero-section > .full-video,
  .intro-section > .full-video,
  .protection-section > .full-video,
  .letter-section .full-video,
  .full-video .w-background-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden;
    pointer-events: none;
  }

  .full-video video,
  .w-background-video > video {
    /* The poster background belongs behind the video, not above a negative layer. */
    z-index: 0 !important;
    position: absolute !important;
    inset: -100% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    pointer-events: none !important;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    display: block !important;
  }

  /* Preserve a visible cover while the mobile background video is loading. */
  .full-video,
  .w-background-video {
    background: #050711 url('/assets/68e7e742b6fb64146d029e04_drone-static-render-01.jpg') center / cover no-repeat;
    isolation: isolate;
  }

  video::-webkit-media-controls,
  video::-webkit-media-controls-panel,
  video::-webkit-media-controls-overlay-play-button {
    display: none !important;
    opacity: 0 !important;
  }

  .hero-section { height: 100svh; min-height: 640px; }
  .hero-container { padding-bottom: 5rem; }
  .hero-flex { padding: 5rem 1.25rem 1rem; gap: 1.5rem; }
  .hero-title {
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.5rem, 10vw, 4.5rem);
    line-height: 1.12;
    overflow-wrap: anywhere;
  }
  .hero-subline .subheading { font-size: 0.65rem; letter-spacing: 0.12em; }
  .hero-section .nav-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
    gap: 0.2rem;
    padding: 0.35rem;
  }
  .nav-bar .nav-button.is-btn { padding: 0.75rem 0.45rem; font-size: 0.6rem; letter-spacing: 0.08em; }
  .nav-bar .nav-button.is-non { padding: 0; }
  .heading-width { max-width: calc(100% - 2.5rem); width: 100%; }
  .heading-width .heading-6 { font-size: 1rem; line-height: 1.5; }

  .display, .display.is-cm { font-size: clamp(2.3rem, 9vw, 4.4rem); line-height: 1.15; }
  .offlimits-text { font-size: clamp(1.8rem, 6.5vw, 3rem); line-height: 1.4; }
  .heading-4.is-letter { font-size: clamp(1.8rem, 6.5vw, 3rem); line-height: 1.4; }
  .heading-3.is-industry { font-size: clamp(1.7rem, 6.2vw, 3rem); line-height: 1.2; }
  .body-large { font-size: 1.1rem; line-height: 1.6; }
  .body-large.is-width { width: 100%; max-width: 100%; }
  .intro-title-contain { padding-bottom: 30vh; }
  .intro-flex, .letter-container, .footer-column { min-width: 0; overflow-wrap: anywhere; }
  .letter-intro { padding-bottom: 6rem; }
  .letter-container { gap: 2rem; }
  .letter-section { padding-bottom: 5rem; }
  .steps-container .global-grid { gap: 2rem 1rem; }
  .steps-container .icon-column { min-width: 0; }
  .stat-descriptor { font-size: 1rem; line-height: 1.5; max-width: 100%; }
  .centered-slider-slide__inner { min-width: 0; }
  .slider-inner { min-height: 13rem; padding: 1.5rem; gap: 1.25rem; }
  .carousel-heading .slider-title { font-size: clamp(1.5rem, 5vw, 2.3rem); line-height: 1.3; }
  .centered-slider-button { min-width: 44px; min-height: 44px; }
  .letterform-mask { min-height: 9rem; }
  .letterform-mask::after { font-size: clamp(1.5rem, 7.8vw, 3.75rem); }
  .letterform-mask::before {
    width: clamp(2.5rem, 10vw, 4.8rem);
    height: clamp(2.5rem, 10vw, 4.8rem);
    top: -0.25rem;
  }
  .footer-heading { font-size: clamp(2rem, 8vw, 3.5rem); line-height: 1.2; }
  .side-padding.is-footer { padding-bottom: 6rem; }
  .footer-section .dewi-brand-wordmark { color: #000; }

  .contact-widget {
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
  }
  .contact-trigger { min-height: 44px; font-size: 0.9rem; padding: 0.8rem 1rem; }
  .contact-panel {
    right: 0;
    bottom: calc(100% + 0.75rem);
    box-sizing: border-box;
    width: min(23rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 6rem - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1.25rem;
  }
  .contact-panel h2 { padding-right: 1.5rem; font-size: 1.55rem; line-height: 1.3; }
  .contact-close { min-width: 44px; min-height: 44px; top: 0.25rem; right: 0.25rem; }
  .contact-details { font-size: 0.9rem; }
  .contact-details > a, .contact-details > span { min-height: 32px; }
  .contact-details span { overflow-wrap: anywhere; min-width: 0; }
  .contact-form input, .contact-form textarea { font-size: 16px; min-height: 44px; }
  .contact-form button { min-height: 44px; }
}

@media (max-width: 768px) {
  .nav-wrapper { gap: 0.75rem; }
  .nav-wrapper .dewi-brand-wordmark { font-size: 1.25rem; gap: 0.65rem; }
  .nav-wrapper .dewi-brand-mark { width: 1.75rem; height: 1.75rem; }
  .loader-column:nth-child(3) { gap: 0.75rem; }
  .loader-column:nth-child(3)::after { font-size: clamp(1.5rem, 5vw, 2rem); }
  .loader-column:nth-child(3)::before { width: 2rem; height: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .contact-panel, .contact-trigger { transition: none; }
}
