/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =========================================
   WP — Admin-bar
========================================= */

body.admin-bar .dbl-header{
	top: 32px;
}

@media (max-width: 782px){

	body.admin-bar .dbl-header{
		top: 46px;
	}

}


/* =========================================
   DBL — FONT FACES
========================================= */

@font-face {
  font-family: "Chaney";
  src:
    url("/wp-content/themes/hello-theme-child-master/assets/fonts/chaney/chaney-regular-webfont.woff2") format("woff2"),
    url("/wp-content/themes/hello-theme-child-master/assets/fonts/chaney/chaney-regular-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-synthesis: none;
}

@font-face {
  font-family: "Chaney Wide";
  src:
    url("/wp-content/themes/hello-theme-child-master/assets/fonts/chaney/chaney-wide-webfont.woff2") format("woff2"),
    url("/wp-content/themes/hello-theme-child-master/assets/fonts/chaney/chaney-wide-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-synthesis: none;
}


/* =========================================
   DBL — ROOT TOKENS
========================================= */

:root {

  /* Fonts */
  --font-display: "Chaney Wide", sans-serif;
  --font-heading: "Chaney", sans-serif;
  --font-body: "Inter", sans-serif;

  /* Font weights */
  --w-400: 400;
  --w-500: 500;
  --w-600: 600;
  --w-700: 700;

  /* Letter spacing */
  --ls-tight: -0.04em;
  --ls-heading: -0.03em;
  --ls-body: -0.01em;

  /* Line heights */
  --lh-display: .88;
  --lh-heading: .95;
  --lh-intro: 1.2;
  --lh-body: 1.5;

  /* Type Scale */
  --text-body: 18px;
  --text-intro: clamp(28px, 2vw, 34px);
  --text-nav: 15px;

  --heading-xl: clamp(72px, 10vw, 180px);
  --heading-lg: clamp(44px, 5.5vw, 84px);
  --heading-md: clamp(32px, 4vw, 56px);
	
  /* Spacing System */

  --space-1: clamp(16px, 1.2vw, 24px);
  --space-2: clamp(24px, 2vw, 48px);
  --space-3: clamp(40px, 3vw, 72px);
  --space-4: clamp(56px, 4vw, 96px);
  --space-5: clamp(72px, 6vw, 144px);
  --space-6: clamp(96px, 8vw, 192px);
	
  --space-section: var(--space-4);
	
  /* Section Rhythm */

  --section-padding-sm: var(--space-3);
  --section-padding: var(--space-4);
  --section-padding-lg: var(--space-5);
  --section-padding-xl: var(--space-6);

  /* Container Widths */

  --container-sm: 720px;
  --container-md: 960px;
  --container-lg: 1440px;
  --container-xl: 1680px;
	
  /* Content Width */

  --gutter: clamp(24px, 4vw, 80px);
  --grid-gap: clamp(16px, 1.5vw, 32px);
  --section-gap: clamp(48px, 4vw, 72px);

  --site-width: calc(100vw - (var(--gutter) * 2));


  /* Border Radius */

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 999px;


  /* Transitions */

  --ease-standard: cubic-bezier(.4,0,.2,1);

  --transition-fast: 180ms var(--ease-standard);
  --transition-base: 280ms var(--ease-standard);
  --transition-slow: 500ms var(--ease-standard);
	

  --content-width:
  calc(100vw - (var(--gutter) * 2));
	
  /* Header */
  --header-height: 72px;
  --header-height-mobile: 64px;

  --header-bg: rgba(255,255,255,.96);
  --header-border: rgba(0,0,0,.06);
  --hero-strip-height: clamp(240px, 38vw, 460px);
  --hero-strip-title: clamp(38px, 8vw, 88px);

  --z-header: 1000;
	
  /* Nar */	
  --bottom-nav: 0;

  /* Divide */

  --divide-line-light: 1px solid rgba(255,255,255,.18);
  --divide-line-dark: 1px solid rgba(0,0,0,.18);
	
  /* Default theme fallback */
  --surface: #FFFFFF;
  --text: #111;

  /* Brand */
  --accent: #04D9FF;
  --black-500: #242628;
  --black-400: #3A3D40;
  --black-300: #5B6066;
  --black-200: #8A8E93;

}

/* =========================================
   DBL — TYPOGRAPHY
========================================= */

/* Base Typography  */

body {
  font-family: var(--font-body);
  font-weight: var(--w-400);
  line-height: var(--lh-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  background: var(--surface);
  color: var(--text);
}


/* Display System */

.font-display .elementor-heading-title {
  font-family: var(--font-display);
  font-weight: var(--w-700);
  text-transform: uppercase;
  line-height: var(--lh-display);
  letter-spacing: var(--ls-tight);
}

.font-heading .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: var(--w-700);
  text-transform: uppercase;
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
}


/* Body System */

.font-body  {
  font-family: var(--font-body);
  font-weight: var(--w-400);
}

.font-ui  {
  font-family: var(--font-body);
  font-weight: var(--w-500);
  letter-spacing: var(--ls-body);
}

.text-display .elementor-heading-title {
  font-family: var(--font-display);
  font-size: var(--heading-xl);
  font-weight: var(--w-700);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-tight);
  text-transform: uppercase;
}

/* Hero Display */

.hero-title .elementor-heading-title {
  font-family: var(--font-display);
  font-size: var(--heading-xl);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
  font-weight: var(--w-700);
}

/* Section Titles */

.section-title .elementor-heading-title {
  font-family: var(--font-heading);
  font-size: var(--heading-lg);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
  font-weight: var(--w-700);
}

.text-title,
.text-title .elementor-heading-title {

  font-family: var(--font-heading);
  font-size: var(--heading-md);
  font-weight: var(--w-700);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  text-transform: uppercase;
}

/* Supporting Variant */

.text-title--supporting,
.text-title--supporting .elementor-heading-title {

  font-size: var(--heading-md);
  font-weight: var(--w-700);
  line-height: var(--lh-heading);
  letter-spacing: -0.02em;

  max-width: 18ch !important;
}

.text-intro {
  font-size: var(--text-intro);
  font-weight: var(--w-500);
  line-height: var(--lh-intro);
  letter-spacing: var(--ls-body);
  margin-bottom: var(--space-2);
	
  max-width: 28ch !important;
}

.text-body {
  font-size: var(--text-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
	
  max-width: 52ch !important;
}


/* Eyebrow/Label */

.eyebrow {
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Typography Utilities */

.w-400 { font-weight: 400; }
.w-500 { font-weight: 500; }
.w-600 { font-weight: 600; }
.w-700 { font-weight: 700; }

.text-uppercase { text-transform: uppercase; }

.ls-tight { letter-spacing: -0.04em; }
.ls-heading { letter-spacing: -0.03em; }

.text-balance {
  text-wrap: balance;
}

p {
  margin: 0 0 1em;
}

/* =========================================
   LAYOUT
========================================= */

.theme-light{
  --surface: #FFF;
  --text: #111;
}

.theme-dark{
  --surface: #242628;
  --text: #fff;
}

.site-shell{
  width: var(--site-width);
  margin-inline: auto;
}

.dbl-container {
  width: var(--site-width);
  margin-inline: auto;
}

.container-text {
  width: min(100% - 48px, 720px);
  margin-inline: auto;
}

.section{
 padding-block: calc(var(--section-padding) * .5);
 background: var(--surface);
 color: var(--text);
}

.section-first{
 padding-top: var(--section-padding);
}

.section-last{
 padding-bottom: var(--section-padding);
}

.section--flush{
padding-bottom: 0;
}

.section-double{
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
}

img,
video {
  max-width: 100%;
  display: block;
}

::selection {
  background: #04D9FF;
  color: #000;
}

html {
  scroll-behavior: smooth;
}

/* DBL Reveal */

.reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0);

  transition:
    opacity 1.2s cubic-bezier(.22,.61,.36,1),
    transform 1.2s cubic-bezier(.22,.61,.36,1);

  will-change: opacity, transform;
}

.reveal.is-inview {
  opacity: 1;
  transform: translate3d(0,0,0);
}

/* Elementor editor fix */
.elementor-editor-active .reveal {
  opacity: 1 !important;
  transform: none !important;
}


/* =========================================
   Display Headings
========================================= */

/* H1 - H3*/

h1,
h2,
h3 {
  font-family: var(--font-heading);
  font-weight: var(--w-700);
  text-transform: uppercase;
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  margin: 0;
}

/* Scale */

h1 {
  font-size: var(--heading-xl);
}

h2 {
  font-size: var(--heading-lg);
}

h3 {
  font-size: var(--heading-md);
}


/* Editorial/Ui Headings H4 - H6 */

h4,
h5,
h6 {
  font-family: var(--font-body);
  font-weight: var(--w-600);
  line-height: var(--lh-intro);
  letter-spacing: -0.01em;
  text-transform: none;
  margin: 0;
}

/* =========================================
   DBL — TEXT LINKS
========================================= */

a {
  color: inherit;
  text-decoration: none;
}

p a,
li a,
.text-link {

  text-decoration: none;

  background-image:
    linear-gradient(currentColor, currentColor);

  background-repeat: no-repeat;
  background-position: 0 95%;
  background-size: 0% 1px;

  transition:
    background-size .28s cubic-bezier(.4,0,.2,1),
    background-image .28s cubic-bezier(.4,0,.2,1);
}

p a:hover,
li a:hover,
.text-link:hover {

  background-image:
    linear-gradient(currentColor, currentColor);

  background-size: 100% 1px;
}


/* =========================================
   SITE TITLE
========================================= */

.site-title {
  font-family: var(--font-body);
  font-size: var(--text-nav);
  font-weight: var(--w-500);
  line-height: 1;
  letter-spacing: -0.01em;
}

.site-title a,
.site-title a:visited {
  color: inherit;
  text-decoration: none;
}

/* Kill Elementor menu underline/border */

.dbl-nav .elementor-item,
.dbl-nav .elementor-item:hover,
.dbl-nav .elementor-item:focus,
.dbl-nav .elementor-item-active,
.dbl-nav .elementor-item.elementor-item-active{

  border:none !important;
  box-shadow:none !important;
}

/* Kill Elementor pseudo underline */

.dbl-nav .elementor-item:after,
.dbl-nav .elementor-item:before{
  display:none !important;
}


/* Hover underline */

.site-title a {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 95%;
  background-size: 0% 1px;

  transition:
    background-size .25s ease;
}

.site-title a:hover {
  background-size: 100% 1px;
}

/* Layout engine */

.site-frame,
.section-frame,
.editorial-frame {

  width: var(--content-width);
  margin-inline: auto;

}

/* =========================================
   DBL Footer Legal Menu
========================================= */

/* active */

.dbl-footer .elementor-widget-n-menu .e-n-menu-title.e-current a{
    color:#fff;
}

.dbl-footer-legal-menu .e-current .e-n-menu-title-text{
    background-image:none;
    border:none;
    box-shadow:none;
    padding-bottom:0;
}

/* =========================================
   Base Button
========================================= */

/* ==== GLOBAL — Remove Default Button Hover Fill ==== */

button:hover,
button:focus,
[type="button"]:hover,
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus {
  background-color: transparent;
}

/* ==== END ==== */

.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 40px;

  padding: 10px 20px;

  border-radius: var(--radius-lg);

  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  border: none;

  text-decoration: none;
  cursor: pointer;

  transition:
    background-color var(--transition-base),
    color var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-fast);
}

.elementor-button:hover {
  transform: translateY(-1px);
}

/* PRIMARY */


.btn-primary .elementor-button {
  background: #fff;
  color: #111;
  border: 1px solid currentColor !important;
}

.btn-primary .elementor-button:hover {
  background: var(--black-300) !important;
  border-color: var(--black-300) !important;
  color: #fff !important;
}

/* SECONDARY */

.btn-secondary .elementor-button {
  background: var(--black-300) !important;
  color: #fff;
  border: 1px solid var(--black-300) !important;
}

.btn-secondary .elementor-button:hover {
  background: #fff !important;
  color: #111 !important;
}

/* OUTLINE */

.btn-outline .elementor-button,
.btn-outline button.elementor-button {

  background: transparent !important;
  color: #111 !important;
  border: 1px solid currentColor !important;
}

.btn-outline .elementor-button:hover,
.btn-outline button.elementor-button:hover{

  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  transform:translateY(-1px);
}

/* OUTLINE REVERSE */

.elementor-widget-button.btn-outline-rev .elementor-button {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: none !important;
}

.elementor-widget-button.btn-outline-rev .elementor-button:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.4) !important;
  transform: translateY(-1px);
}

/* EXPERIENCE — Dark Section Button Override */

.experience-section.is-dark .btn-outline .elementor-button {

  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  background:transparent !important;
}

.experience-section.is-dark .btn-outline .elementor-button:hover {

  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.4) !important;
}

.btn-group{
  display:flex;
  flex-wrap:wrap;
  gap: var(--space-1);
}

/* =========================================
   Global Header
========================================= */

.dbl-header{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;

	z-index: var(--z-header);

	background: #fff;

	border-bottom:
		1px solid rgba(0,0,0,.06);
}

.dbl-hero{
	padding-top: var(--header-height);
}

/* SHELL */

.dbl-header-shell{
	width: var(--site-width);
	margin-inline:auto;
	min-height:var(--header-height);
}

/* GRID */

.dbl-header-grid{
  width:100% !important;
  max-width:none !important;

  display:grid !important;

  grid-template-columns:
    auto
    1fr
    auto;

  align-items:center;

  gap:32px;

  min-height:var(--header-height);
}

.dbl-header-actions{
  justify-self:end;
}

/* LOGO */

.dbl-logo{
  width:180px;
  min-width:180px;
  flex:0 0 180px;
}

.dbl-logo img{
  width:100%;
  height:auto;
  display:block;
}


/* NAV */

.dbl-nav{
  justify-self:center;
}

.dbl-nav .elementor-nav-menu{
  display:flex;
  gap:32px;
}

.dbl-nav .elementor-item{
  font-size:var(--text-nav);
  padding-left:0 !important;
  padding-right:0 !important;
  padding-bottom: 4px !important;
  text-decoration:none;
}

.dbl-nav .elementor-item:hover::after,
.dbl-nav .current-menu-item .elementor-item::after{
  transform:scaleX(1);
}

.dbl-nav .elementor-nav-menu a{
  font-size:var(--text-nav);
  padding:4px 0 !important;
  text-decoration:none;
}

/* =========================================
   MOBILE NAV
========================================= */

.dbl-nav .elementor-menu-toggle {
  display: none;
}

/* =========================================
   MOBILE / TABLET HEADER + OVERLAY
========================================= */

@media (max-width: 1024px) {

	.dbl-header-shell {
	  display: block !important;
	  width: 100%;
	}

  .dbl-header-grid {
    display: grid !important;
    grid-template-columns: max-content 1fr max-content;
    align-items: center;
    column-gap: 0;
    padding-inline: 20px;
  }

  .dbl-logo {
    grid-column: 1;
    justify-self: start;
    min-width: max-content;
  }

  /* Hide desktop nav */

  .dbl-nav .elementor-nav-menu--main {
    display: none !important;
  }

  .dbl-header-actions {
    grid-column: 3;
    justify-self: end;

    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
  }

  .elementor-menu-toggle svg {
    width: 28px;
    height: 28px;
    fill: #111;
  }

  /* PANEL — DO NOT HIDE THIS */

  .elementor-nav-menu--dropdown {
    position: fixed !important;
    inset: 0 !important;

    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;

    margin: 0 !important;
    padding: 28vh 32px 48px !important;
	overflow-y: auto;

    border: 0 !important;

    display: flex !important;
    flex-direction: column;
	justify-content: flex-start;

    background: rgba(0,0,0,.72); !important;

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    z-index: 9998 !important;
  }

  .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    margin: 0 !important;
    inset: 0 !important;
  }
	
/* Show toggle */

  .elementor-menu-toggle {
    display: flex !important;

    align-items: center;
    justify-content: center;
	  
    position: relative;
    z-index: 10000;

    width: 27px;
    height: 27px;
	padding: 0 !important;
	  
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
	  
	min-height: auto !important;
    min-width: auto !important;

    color: #111 !important;
  }

/* Hide Elementor default close */

.elementor-menu-toggle .elementor-menu-toggle__icon--close {
  display: none !important;
}
	
.elementor-menu-toggle__icon--close svg {
  display: none !important;
}

/* Hide hamburger when active */

.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
.elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--open {
  display: none !important;
}


/* Custom close icon */

.elementor-menu-toggle.elementor-active::after,
.elementor-menu-toggle[aria-expanded="true"]::after {

  content: "";
  pointer-events: none;
	
  position: absolute;
  inset: 50% auto auto 50%;

  width: 18px;
  height: 18px;

  transform: translate(-50%, -50%);

  background-color: rgba(255,255,255,.92);

  -webkit-mask:
    url('/wp-content/uploads/2026/05/dbl-toggle-menu-close.svg')
    center / contain no-repeat;

  mask:
    url('/wp-content/uploads/2026/05/dbl-toggle-menu-close.svg')
    center / contain no-repeat;

  z-index: 10001;
}
	
  /* Links */

  .elementor-nav-menu--dropdown a {

	display: inline-block !important;
	width: fit-content;

	font-size: clamp(22px, 4.8vw, 38px);
	color: #fff !important;
	line-height: 1 !important;
	font-weight: 500 !important;

	padding: 0 0 8px !important;
	margin-bottom: 24px;

	border: 0 !important;
	background: transparent !important;

	text-decoration: none !important;

	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0% 1px;

    transition:
	  background-size .25s ease,
	  opacity .2s ease;
  }

  /* Hover */

 .elementor-nav-menu--dropdown a:hover {

   background-color: transparent !important;
   background-image: linear-gradient(currentColor, currentColor) !important;

   background-repeat: no-repeat !important;
   background-position: 0 100% !important;
   background-size: 100% 1px !important;

   color: #fff !important;

   opacity: .65;
 }
	
}

/* SMALL MOBILE */

@media (max-width: 480px) {

  .dbl-header-grid {
    gap: 8px;
  }

  .dbl-logo {
    width: 120px;
    min-width: 120px;
    flex: 0 0 120px;
  }

  .dbl-header-actions {
    gap: 18px;
  }

  .btn-outline .elementor-button {
    padding: 8px 14px;
    font-size: 14px;
    min-height: 36px;
  }
}

/* =========================================
   DBL Footer
========================================= */


.dbl-footer {
  --surface: #000;
  --text: #fff;
	
  background: var(--surface);
  color: var(--text);
	
  padding: 0;
  border-top: 1px solid rgba(255,255,255,.12);
}

.dbl-footer a {
  color: inherit;
  text-decoration: none;
}

/* === Top Section === */

.dbl-footer-top {
	display: grid;

	grid-template-columns:
		220px
		1fr
		auto;

	align-items: start;

	column-gap: clamp(40px, 6vw, 120px);

	border-bottom: var(--divide-line-light);

	padding-bottom: var(--section-padding);
}


.dbl-footer-about-content {
	display: contents;
}

/* Text */

.dbl-footer-about {
	max-width: 52ch !important;
}

/* Social */

.dbl-footer-social {
	justify-self: end;
	align-self: start;
}

/* Icons */

.dbl-footer-socials {
	display: flex;
	align-items: center;
	gap: 18px;
}

.dbl-footer-socials a {
	display: inline-flex;
	color: #fff;

	transition: color .3s ease;
}

.dbl-footer-socials a:hover {
	color: #777;
}

.dbl-footer-socials svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

/* Links */

.dbl-footer-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: #fff;

	transition:
		color .3s ease,
		opacity .3s ease,
		transform .3s ease;
}

/* SVG */

.dbl-footer-socials svg {
	width: 20px;
	height: 20px;

	fill: currentColor;
}

/* Hover */

.dbl-footer-socials a:hover {
	color: #777;
}

/* Hover */

.dbl-footer-social:hover {
	color: rgba(255,255,255,.55);
}

@media (max-width: 1024px) {

	.dbl-footer-social {
		justify-self: start;
	}

	.dbl-footer-socials {
		justify-content: flex-start;
	}
}

/* === About Section === */

.dbl-footer-newsletter {
  padding-block: var(--section-padding);
}

.dbl-footer-newsletter-text {
	justify-self: start;
	max-width: 26ch !important;
}

/* Newsletter Section */

.dbl-footer-hero {
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);

  text-align: center;
  overflow: hidden;
}

/* === Hero Section === */

.dbl-footer-hero {
  padding-top: var(--space-3);
  border-top: var(--divide-line-light);
  text-align: center;

  overflow: hidden;
}


/* Main Logo */

.dbl-footer-lockup-desktop {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
}

.dbl-footer-lockup-desktop .e-svg-base {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Desktop */
.dbl-footer-lockup-mobile,
.dbl-footer-date,
.dbl_footer_venue {
  display: none;
}

/* Date + Venue Hero Line */

.dbl-footer-meta {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: clamp(18px, 2vw, 36px) !important;

  margin-top: clamp(20px, 2vw, 32px);
  margin-bottom: clamp(42px, 4vw, 64px);
}

.dbl-footer-date {
  font-size: clamp(46px, 4vw, 84px);
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  line-height: .9;
}

.dbl-footer-venue {
  font-size: clamp(18px, 1.1vw, 28px);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;

  opacity: .9;
}

/* Sponsor Logos */

.dbl-footer-logo {
  width: 100%;
  margin-inline: auto;
  line-height: 0;
}

.dbl-footer-logo .e-svg-base,
.dbl-footer-logo svg {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.dbl-footer-sponsor:hover svg {
  opacity: 1;
}

/* Sponsors */

.dbl-footer-sponsor {
  display: flex;
  justify-content: center;
  align-items: center;

  gap: clamp(20px, 4vw, 56px);

  flex-wrap: nowrap;

  width: fit-content;
  margin-inline: auto;

  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
}

/* Sponsor SVG sizing */

.see-tickets-logo,
.ax-arenacross-logo,
.bp-pulse-live-logo {
  flex: 0 0 auto !important;
  width: auto !important;
  line-height: 0;
}

.dbl-footer-sponsor {
  width: fit-content;
  margin-inline: auto;
}

.see-tickets-logo .e-svg-base,
.see-tickets-logo svg {
  height: clamp(34px, 3vw, 52px) !important;
  width: auto !important;
}

.ax-arenacross-logo .e-svg-base,
.ax-arenacross-logo svg {
  height: clamp(40px, 4vw, 68px) !important;
  width: auto !important;
}

.bp-pulse-live-logo .e-svg-base,
.bp-pulse-live-logo svg {
  height: clamp(36px, 3vw, 56px) !important;
  width: auto !important;
}

/* SVGs */

.dbl-footer-sponsor .e-svg-base,
.dbl-footer-sponsor svg {
  display: block;
} 

/* === Bottom Footer === */

.dbl-footer-bottom {

  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;

  flex-wrap: wrap;
}

/* Footer Menu Hover Underline */

.dbl-footer-bottom-menu .e-n-menu-title-text,
.dbl-footer-legal-menu .e-n-menu-title-text {
	
  color: rgba(255,255,255,.56) !important;

  background-image:
    linear-gradient(currentColor, currentColor);

  background-repeat: no-repeat;

  background-size: 0% 1px;

  background-position: 0 100%;

  transition:
    background-size .28s cubic-bezier(.4,0,.2,1),
    color .2s ease;
}

/* Hover */

.dbl-footer-bottom-menu .e-n-menu-title-container:hover .e-n-menu-title-text,
.dbl-footer-legal-menu .e-n-menu-title-container:hover .e-n-menu-title-text {

  background-size: 100% 1px;

  color: #fff !important;
}

/* Footer menus */

.dbl-footer-bottom-menu,
.dbl-footer-legal-menu {
  width: fit-content !important;
}

/* Remove hidden Elementor gutter */

.dbl-footer-bottom-menu .e-n-menu-heading,
.dbl-footer-legal-menu .e-n-menu-heading {
  padding-inline: 0 !important;
  margin-inline: 0 !important;
}

.dbl-footer-bottom-menu .e-n-menu-item:first-child .e-n-menu-title {
  padding-left: 0 !important;
}

.dbl-footer-bottom-menu .e-n-menu-item:last-child .e-n-menu-title {
  padding-right: 0 !important;
}

.dbl-footer-legal-menu .e-n-menu-item:first-child .e-n-menu-title {
  padding-left: 0 !important;
}

.dbl-footer-legal-menu .e-n-menu-item:last-child .e-n-menu-title {
  padding-right: 0 !important;
}

    /* ASL mark */
	.asl-logo-mono-white {
		justify-content: flex-end;
		align-items: flex-end;
	}

	.asl-logo-mono-white .e-svg-base {
		width: clamp(28px, 2.8vw, 40px) !important;
		height: auto !important;
		margin-top: 12px;
		display: block;
	}

/* Mobile / Tablet Transition */

@media (max-width: 1024px) {
	
  .dbl-footer-lockup-desktop {
    display: none;
  }
	
  .dbl-footer-hero,
  .dbl-footer-sponsors,
  .dbl-footer-bottom,
  .dbl-footer-meta {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .dbl-footer-sponsors {
    width: 100%;
  }

  .dbl-footer-sponsors .e-con-inner,
  .dbl-footer-sponsors .e-con {
    justify-content: flex-start !important;
  }

  .dbl-footer-lockup-mobile,
  .dbl-footer-date,
  .dbl_footer_venue {
	width: 100%;
    display: block;
  }
	
  .dbl-footer-sponsors {
    justify-content: flex-start !important;
  }
	
  .dbl-footer-lockup-mobile .e-svg-base {
	  width: 100% !important;
	  height: auto !important;
	  display: block !important;
  }

  .dbl-footer-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .dbl-footer-top,
  .dbl-footer-newsletter {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .dbl-footer-about-content {
    flex-direction: column;
    gap: 24px;
  }

  .dbl-footer-newsletter-form {
    width: 100%;
  }

  .dbl-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
	
    /* ASL mark */
	.asl-logo-mono-white {
		justify-content: flex-start;
		align-items: flex-start;
	}

}

/* MOBILE FOOTER REFINEMENTS */

@media (max-width: 767px) {

  /* Date */
  .dbl-footer-date {
    font-size: clamp(28px, 7vw, 40px);
    line-height: .92;
    letter-spacing: -.03em;
    font-weight: 500;
  }

  /* Venue */
  .dbl_footer_venue {
    font-size: clamp(16px, 3.2vw, 20px);
    line-height: 1.2;
    letter-spacing: .08em;
  }

  /* Sponsors */
  .dbl-footer-sponsors {
    justify-content: flex-start !important;
    gap: 24px !important;
  }

  .dbl-footer-sponsors img,
  .dbl-footer-sponsors svg {
    max-height: 40px;
    width: auto;

  }
	
  .dbl-footer-legal-menu {
	margin-top: 18px;
  }


  /* Bottom footer stack */
  .dbl-footer-bottom {
    align-items: flex-start;
    gap: 24px;
  }

  /* Menus */
  .dbl-footer-bottom-menu,
  .dbl-footer-legal-menu {
    width: 100%;
  }

  .dbl-footer-bottom-menu .e-n-menu-heading,
  .dbl-footer-legal-menu .e-n-menu-heading {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0;
  }

  /* Only RIGHT spacing on mobile */
  .dbl-footer-bottom-menu .e-n-menu-title,
  .dbl-footer-legal-menu .e-n-menu-title {
    padding-left: 0 !important;
    margin-left: 0 !important;

    padding-right: 24px !important;
    margin-right: 0 !important;
  }

  /* Remove final item spacing */
  .dbl-footer-bottom-menu .e-n-menu-item:last-child .e-n-menu-title,
  .dbl-footer-legal-menu .e-n-menu-item:last-child .e-n-menu-title {
    padding-right: 0 !important;
  }

}

/* FOOTER NEWSLETTER FORM */

.dbl-footer-newsletter {
	display: grid;
	grid-template-columns: 1.1fr 1.9fr;
	align-items: center;

	column-gap: clamp(48px, 6vw, 120px);
}

/* Keep form from becoming ultra-wide */

.dbl-footer-newsletter-form {
	max-width: 980px;
	width: 100%;
	margin-left: auto;
}

/* Actual Elementor fields wrapper */

.dbl-footer-newsletter-form .elementor-form-fields-wrapper {
	display: grid;
	grid-template-columns:
		minmax(160px, 1fr)
		minmax(160px, 1fr)
		minmax(160px, 1fr)
		auto;

	align-items: end;

	column-gap: clamp(18px, 2vw, 28px);
	row-gap: 20px;

	width: 100%;
}

/* Field groups */

.dbl-footer-newsletter-form
.elementor-field-type-submit {
	width: auto !important;
}

/* DBL Footer Newsletter Form button  */

.dbl-footer-newsletter-form .elementor-button {

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 40px;

  padding: 10px 20px;

  border-radius: var(--radius-lg);

  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  border: none;

  text-decoration: none;
  cursor: pointer;

  transition:
    background-color var(--transition-base),
    color var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-fast);

	background: #fff !important;
	color: #111 !important;
}

.dbl-footer-newsletter-form .elementor-button:hover {
	background: #777 !important;
	border-color: #777 !important;
	color: #fff !important;
}

/* Inputs */

.dbl-footer-newsletter-form .elementor-field {
	width: 100% !important;
	max-width: none !important;

	background: transparent !important;

	border: none !important;
	border-bottom: 1px solid rgba(255,255,255,.18) !important;
	border-radius: 0 !important;

	padding: 0 0 14px 0 !important;

	min-height: auto !important;

	color: #fff;

	font-size: 18px;
	font-weight: 400;

	box-shadow: none !important;
}

/* Labels */

.dbl-footer-newsletter-form label {
	display: block;
	margin-bottom: 14px;

	font-size: 15px;
	font-weight: 500;
	line-height: 1;

	color: rgba(255,255,255,.92);
}

/* Placeholder */

.dbl-footer-newsletter-form .elementor-field::placeholder {
	color: rgba(255,255,255,.85);
}

/* Submit wrapper */

.dbl-footer-newsletter-form .elementor-field-type-submit {
	flex: 0 0 auto !important;
	width: auto !important;
}

/* Button */

.dbl-footer-newsletter-form .elementor-button {
	white-space: nowrap;
}

/* MOBILE newsletter form */

@media (max-width: 1024px) {

	.dbl-footer-newsletter {
		grid-template-columns: 1fr;
		row-gap: clamp(32px, 4vw, 56px);
	}

	.dbl-footer-newsletter-text {
		max-width: 720px;
	}

	.dbl-footer-newsletter-form {
		max-width: 100%;
		margin-left: 0;
	}

	.dbl-footer-newsletter-form .elementor-form-fields-wrapper {
		grid-template-columns: 1fr;
	}
}

/* Mobile stacked newsletter form */

@media (max-width: 767px) {

	.dbl-footer-newsletter-form .elementor-form-fields-wrapper {
		display: grid;
		grid-template-columns: 1fr !important;
		gap: 28px;
	}

	.dbl-footer-newsletter-form
	.elementor-field-group {
		width: 100% !important;
		max-width: 100% !important;
	}

	.dbl-footer-newsletter-form
	.elementor-field-type-submit {
		margin-top: 8px;
	}
	
		.dbl-footer-newsletter-form
	.elementor-field-type-submit {
		justify-content: flex-start;
	}

	.dbl-footer-newsletter-form
	.elementor-button {
		width: auto !important;
		min-width: 140px;
	}
}

/* =========================================
   DBL Hero [dbl-hero]
========================================= */

.dbl-hero {
	position: relative;
	height: 100dvh;
	overflow: hidden;
	background: #000;
}

/* === Media Stack === */

.dbl-hero-media,
.media-image,
.media-video,
.media-tint {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;
}

/* ---------------------------------
   Poster Image
--------------------------------- */

.media-image {
	z-index: 1;

	transition:
		opacity .7s ease,
		visibility .7s ease;
}

.hero-poster,
.media-image img {
	width: 100%;
	height: 100%;

	object-fit: cover;
	display: block;
}

/* ---------------------------------
   Video
--------------------------------- */

.media-video {
	z-index: 2;
}

.media-video video {
	width: 100%;
	height: 100%;

	object-fit: cover;
	display: block;
}

/* ---------------------------------
   Hide poster when playing
--------------------------------- */

.hero--playing .media-image {
	opacity: 0;
	visibility: hidden;
}

/* ---------------------------------
   Tint Overlay
--------------------------------- */

.media-tint{
    z-index:3;

    pointer-events:none;

    background:
        linear-gradient(
            to bottom,
            transparent 10%,
            var(--hero-tint) 100%
        );
}

.media-accreditation .media-tint{
    background:
      linear-gradient(
        to bottom,
        transparent 20%,
        var(--hero-tint) 100%
    );
}

/* === Overlay Content === */

.dbl-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 10;

	display: flex;
	align-items: flex-end;
	justify-content: center;
	
	padding: 72px 0;
}

.dbl-hero-inner {
	width: 100%;
	padding: 48px;
}

.dbl-hero-content {
	/*max-width: 1200px;*/
	margin: 0 auto;

	text-align: center;
	color: #fff;
}

.dbl-hero-title {
	margin: 0;

	font-size: clamp(72px, 10vw, 180px);
	line-height: .9;
	font-weight: 700;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

.dbl-hero-title span {
	color: #04D9FF;
}

.dbl-hero-meta span::before{
	content:"•";
	margin-inline: .6ch;
	opacity:.8;
}

.dbl-hero-meta {
	margin-top: 24px;

	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
}

.dbl-hero-meta span {
    font-weight: 400;
	opacity: .9;
}

.media-accreditation .dbl-hero-meta {
	max-width: 52ch;
	margin-inline: auto;
}

.dbl-hero-actions {
	margin-top: 40px;

	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

.dbl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	padding: 0 24px;

	border-radius: 999px;

	background: #fff;
	color: #000;

	text-decoration: none;
	font-weight: 600;

	transition: .2s ease;
}

.dbl-btn:hover {
	transform: translateY(-2px);
    color: rgba(0,0,0,.65);
}

.dbl-btn--ghost {
	background: rgba(255,255,255,.12);
	backdrop-filter: blur(10px);

	color: #fff;
	border: 1px solid rgba(255,255,255,.2);
}

.dbl-btn--ghost:hover {
	color: rgba(255,255,255,.65);
}


@media (max-width: 767px) {

	.dbl-hero {
		height: 90svh;
	}

	/* ---------------------------------
	   Media fills hero
	--------------------------------- */

	.dbl-hero-media {
		position: absolute;
		inset: 0;
		height: 100%;
	}

	/* ---------------------------------
	   Overlay sits INSIDE image
	--------------------------------- */

	.dbl-hero-overlay {
		position: absolute;
		inset: 0;

		display: flex;
		align-items: flex-end;
		justify-content: flex-start;
	}

	.dbl-hero-inner {
		width: 100%;

		padding:
			32px
			28px
			40px;
	}

	/* ---------------------------------
	   Content
	--------------------------------- */

	.dbl-hero-content {
		text-align: left;
		max-width: 100%;
	}

	/* ---------------------------------
	   Title
	--------------------------------- */

	.dbl-hero-title {
		font-size: clamp(58px, 16vw, 110px);
		line-height: .82;
		letter-spacing: -0.05em;
		
		max-width: 5ch !important;

		margin: 0;
	}
	
	.dbl-hero-meta span::before{
		display:none;
	}

	/* ---------------------------------
	   Meta
	--------------------------------- */

	.dbl-hero-meta {
		margin-top: 20px;

		font-size: 28px;
		line-height: 1.2;
		font-weight: 500;
	}

	.dbl-hero-meta span {
		display: block;
		margin-top: 2px;
		font-size: 24px;
	}

	/* ---------------------------------
	   Buttons
	--------------------------------- */

	.dbl-hero-actions {
		margin-top: 28px;

		justify-content: flex-start;
		gap: 12px;
	}

	.dbl-btn {
		min-height: 44px;
		padding: 0 20px;

		font-size: 15px;
	}

}

/* =========================================
   DBL — 50 / 50 Editorial Split
========================================= */

.dbl-split{
  display:grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);

  column-gap: var(--space-4);

  align-items:start;
}

.dbl-split__left,
.dbl-split__right{
  display:flex;
  flex-direction:column;
  gap: var(--space-1);
}


.dbl-split__left h2{
  max-width: 10ch;
}

.dbl-split__left p{
  max-width: 48ch;
}

/* Mobile */

@media (max-width: 1024px){

 .dbl-split{
 grid-template-columns: 1fr;

 row-gap: var(--space-3);
 }

}


/* ----------------------------------------- 
	   DBL — Welcome Section
----------------------------------------- */

	.welcome .dbl-split__left h2{
	  max-width: 10ch;
	}

	.welcome .btn-group{
	  display:flex;
	  flex-wrap:wrap;

	  gap: var(--space-1);
	}

/* ----------------------------------------- 
	   DBL — See It Section
----------------------------------------- */

	.seeit .dbl-split__left h2{
	  max-width: 7ch;
	}

/* ----------------------------------------- 
	  DBL — Opening Times
----------------------------------------- */

	.opening-times .dbl-container--opening{
	  padding-left: var(--gutter);
	}
	
	.opening-times .dbl-split{
	  align-items:stretch;
	}

	.opening-times{
	  overflow:hidden;
	}

	.opening-times .dbl-split__right{
	  display:flex;
	  max-width: unset;
	}

	.opening-times .dbl-split__left{
	 margin-bottom: var( --space-5);
	}

	.opening-times .dbl-split__right .elementor-widget-image,
	.opening-times .dbl-split__right .elementor-widget-container{
	  height:100%;
	}

	.opening-times .dbl-split__right .text-intro {
	padding-bottom: var(--space-1);
	max-width: 28ch !important; 
	}

	.opening-times .dbl-split__right img{
	  width:100%;
	  height:100%;
	  object-fit:cover;
	  display:block;
	}

	/* Buttons */

	.opening-times .btn-group{
	  display:flex;
	  flex-wrap:wrap;

	  gap: var(--space-1);

	  margin-top: var(--space-2);
	}
	/* Tabs */

	.dbl-opening-tabs {
	  display: flex;
	  gap: 0;
	  margin: var(--space-2) 0;
	  border-bottom: 1px solid rgba(255, 255, 255, .15);
	}

	.dbl-opening-tab {
	  appearance: none;
	  border: 0;
	  background: none;
	  padding: 0 0 18px;
	  margin-right: 48px;
	  position: relative;
	  font: inherit;
	  font-weight: 600;
	  font-size: .95rem;
	  letter-spacing: .02em;
	  color: rgba(255, 255, 255, .45);
	  cursor: pointer;
	  transition: color .25s ease;
	}

	.dbl-opening-tab:hover {
	  color: #fff;
	}

	.dbl-opening-tab::after {
	  content: "";
	  position: absolute;
	  left: 0;
	  bottom: -1px;
	  width: 0%;
	  height: 2px;
	  background: var(--default-color);
	  transition: width .3s ease;
	}

	.dbl-opening-tab.is-active {
	  color: #fff;
	}

	.dbl-opening-tab.is-active::after {
	  width: 100%;
	} 

	.opening-times .dbl-split__left .elementor-element,
	.opening-times .dbl-split__left .elementor-widget-container{
	  border-bottom: 0 !important;
	}

	/* Panels */ 

	.dbl-opening-panel {
	  display: none;
	}

	.dbl-opening-panel.is-active {
	  display: block;
	} 

	/* Schedule */ 

	.dbl-schedule {
	  display: flex;
	  flex-direction: column;
	  gap: 8px;
	}

	.dbl-schedule__row {
	  display: grid;
	  grid-template-columns: 80px 1fr;
	  align-items: start;
	}

	.dbl-schedule__time {
	  font-weight: 700;
	  color: #fff;
	}

	.dbl-schedule__text, 
	.opening-times .dbl-split__right .eyebrow {
	  color: rgba(255, 255, 255, .78);
	}

	/* === DBL — Opening Image Mark === */

	.opening-times .dbl-split__right .elementor-widget-image{
	  position: relative;
	  overflow: visible;
	}

	.opening-times .dbl-split__right .elementor-widget-image::before{
	  content: "";

	  position: absolute;

	  top: -18px;
	  left: -18px;

	  width: 36px;
	  aspect-ratio: 1;

	  background:
		url('/wp-content/themes/hello-theme-child-master/assets/d-mark.svg')
		no-repeat center;

	  background-size: contain;

	  z-index: 3;
	  pointer-events: none;
	}

	/* === DBL — Opening Times Mobile === */

	@media (max-width: 1024px){

	  .opening-times .dbl-split{
		grid-template-columns: 1fr;
		row-gap: 0;
		width: var(--site-width);
	  }

	  /* LEFT COLUMN */
	  .opening-times .dbl-split__left{
		padding: var(--space-4) 0;
		border-bottom: 1px solid rgba(255, 255, 255, .18);
	  }

	  /* RIGHT COLUMN */
	  .opening-times .dbl-split__right{
		display:block;
		max-width: 100%;
	  }

	  /* TEXT AREA */
	  .opening-times .dbl-split__right .intro{
		max-width: 32ch;
	  }
		
	  .opening-times .dbl-split__right .eyebrow{
		padding-bottom: var(--space-2)
	  }
	  

	  /* IMAGE FULL BLEED */
	  .opening-times .dbl-split__right img{
		width:100vw;
		max-width:none;
		margin-left:calc(var(--gutter) * -1);
		display:block;
		margin-top: var(--space-3)
	  }
	
	  .opening-times .dbl-split__right .elementor-widget-image::before{
		 display:none;
	  }

	}

/* ----------------------------------------- 
	  DBL — Exhibitor Intro
----------------------------------------- */

	.exhibitor-intro .dbl-split__left h2 {
		margin-bottom: var(--space-2);
	}

/* ----------------------------------------- 
	  DBL — Exhibitor Media
----------------------------------------- */

	.exhibitor-media .dbl-container__closing{
		border: 0 !important;
	    border-bottom: 1px solid rgba(0,0,0,.12) !important;
	}

	.exhibitor-media .dbl-container__closing{
	  padding-right: var(--gutter);
	}

	.exhibitor-media  .dbl-split{
	  align-items: stretch;
	}

	.exhibitor-media {
	  overflow: hidden;
	}

	.exhibitor-media .dbl-split__left{
	  display: flex;
	  max-width: unset;
	}

	.exhibitor-media .dbl-split__right{
		margin-bottom: var(--space-5);
		padding-right: var(--gutter);
	}

	.exhibitor-media .dbl-split__left .elementor-widget-image,
	.exhibitor-media .dbl-split__left .elementor-widget-container{
	  height:100%;
	}

	.exhibitor-media .dbl-split__left img{
	  width:100%;
	  height:100%;
	  object-fit:cover;
	  display:block;
	}

	/* === DBL — Exhibitor Info Mobile === */ 

	@media (max-width: 1024px){

	  .exhibitor-media .dbl-split{
		grid-template-columns: 1fr;
		row-gap: var(--space-4);
	  }

	  /* IMAGE */
	  .exhibitor-media .dbl-split__left{
		order: 2;

		display:block;
		max-width:100%;
	  }

	  /* FORM SIDE */
	  .exhibitor-media .dbl-split__right{
		order:1;

		width:100%;
		max-width:100%;

		padding-inline: var(--gutter);
	  }

	  /* FULL BLEED IMAGE */
	  .exhibitor-media .dbl-split__left img{
		width: calc(100vw + (var(--gutter) * 2));

		max-width: none;

		margin-left: calc(var(--gutter) * -1);

		display:block;
	  }

	}


/* =========================================
	   DBL — FORM
========================================= */

	.dbl-form{
	  --field-gap: clamp(22px, 2vw, 32px);
	}

	/* FORM ROW SPACING */
	.dbl-form .elementor-form-fields-wrapper{
	  row-gap: var(--field-gap);
	}

	/* FIELD GROUP */
	.dbl-form .elementor-field-group{
	  margin-bottom: 0 !important;
	}

	/* LABELS */
	.dbl-form label{
	  display:block;

	  margin-bottom: 10px;

	  font-size: 1rem;
	  line-height: 1.2;
	  font-weight: 400;

	  color: rgba(0,0,0,.58);
	}

	/* INPUTS */
	.dbl-form input,
	.dbl-form textarea{
	  width:100%;

	  background: transparent !important;

	  border: 0 !important;
	  border-bottom: 1px solid rgba(0,0,0,.28) !important;

	  border-radius: 0 !important;

	  padding:
		0
		0
		14px
		0 !important;

	  min-height: unset !important;

	  font-size: 1rem;
	  line-height: 1.4;

	  color: #000;

	  box-shadow: none !important;

	  transition:
		border-color .2s ease,
		opacity .2s ease;
	}

	/* PLACEHOLDER */
	.dbl-form input::placeholder,
	.dbl-form textarea::placeholder{
	  color: rgba(0,0,0,.38);
	}

	/* TEXTAREA */
	.dbl-form textarea{
	  min-height: 120px !important;

	  resize: vertical;

	  padding-top: 4px !important;
	}

	/* FOCUS */
	.dbl-form input:focus,
	.dbl-form textarea:focus{
	  border-color: #000 !important;
	}

	/* FORM BUTTON FIX */
	.dbl-form .e-form__buttons{
	  justify-content:flex-start;
	}

	.dbl-form .elementor-button{
	  width:auto !important;
	  flex:0 0 auto !important;
	}

	/* MOBILE */
	@media (max-width:1024px){

	  .dbl-form{
		margin-top: var(--space-2);
	  }

	  .dbl-form textarea{
		min-height: 100px !important;
	  }

	}


	/* =========================================
	   Email 2
	========================================= */

	.elementor-message-success{
		margin-top:24px;
	}

/* =========================================
	   DBL — JOIN US AT
========================================= */

	.join-us-at {
	  border-top: 1px solid rgba(0,0,0,.12);
	}

	.join-us-at .hero-lockup{
	  display:flex;
	  flex-direction:column;

	  gap:0;

	  align-self:flex-start;
	  flex:0 0 auto;
	}

	.join-us-at .hero-kicker .elementor-heading-title{
	  margin:0;

	  font-size: clamp(2rem, 3vw, 3.75rem);

	  line-height:.9;
	  letter-spacing:-0.05em;

	  text-transform:uppercase;
	}

	.join-us-at .hero-main .elementor-heading-title{
	  margin:0;

	  font-size: clamp(3.5rem, 6vw, 6rem);

	  line-height:.84;
	  letter-spacing:-0.06em;

	  text-transform:uppercase;
	}

	.join-us-at .hero-main .text-accent{
	  color:var(--accent);
	}

	/* RIGHT COLUMN */
	.join-us-at .text-intro{
	  max-width:22ch;
	}

	.join-us-at .text-body{
	  max-width:52ch;
	}

	/* BUTTON GROUP */
	.join-us-at .btn-group{
	  flex-direction:row;
	  flex-wrap:wrap;

	  gap:12px;

	}

	/* MOBILE */
	@media (max-width:1024px){

	  .join-us-at .dbl-split{
		gap:var(--space-3);
	  }

	  .join-us-at .hero-lockup{
		max-width:none;
	  }

	  .join-us-at .hero-kicker .elementor-heading-title{
		font-size:clamp(1.8rem, 6vw, 3rem);
	  }

	  .join-us-at .hero-main .elementor-heading-title{
		font-size:clamp(3rem, 11vw, 5rem);
	  }

	}

/* =========================================
   DBL Vimeo Hero Shortcode
   Usage: [dbl_vimeo label="Watch Experience"]
========================================= */

.dbl-vimeo {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;

    min-height: 220px; /* 👈 important */
}

/* iframe */
.dbl-vimeo iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;

    pointer-events: none;
}

/* Mobile fallback */
@media (max-width: 767px) {

    .dbl-vimeo {
        min-height: 56vw;
    }

}

/* ==== DBL — Vimeo Overlay Button ==== */

.dbl-vimeo-start {
  position: absolute;
  inset: 0;
  z-index: 20;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;

  border: 0;
  background: none;
  cursor: pointer;

  color: #fff;

  transition:
    opacity .3s ease,
    visibility .3s ease;
}

/* Hidden state */
.dbl-vimeo-start.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Play icon */
.dbl-vimeo-start__icon {
  width: 41px;
  height: 41px;

  display: flex;
  align-items: center;
  justify-content: center;
	
  filter:
     drop-shadow(0 2px 8px rgba(0,0,0,.28))
     drop-shadow(0 0 18px rgba(255,255,255,.08));
}

/* SVG */
.dbl-vimeo-start__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Label */
.dbl-vimeo-start__label {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* DBL Vimeo Overlay Button */

.dbl-vimeo-start,
.dbl-vimeo-start:hover,
.dbl-vimeo-start:focus,
.dbl-vimeo-start:active {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.dbl-vimeo-start {
    transition: opacity .3s ease;
}

.dbl-vimeo-start.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.dbl-opening-tab::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;

  width: 0%;
  height: 4px;

  background: var(--accent, #04D9FF);

  transition: width .3s ease;
}

/* =========================================
   dbl Scroll Gallery — FINAL
========================================= */

.dbl-scroll-gallery {
  overflow: clip;
}

.dbl-scroll-gallery__track {
  display: flex;
  gap: clamp(16px, 2vw, 48px);
  align-items: flex-end;
  min-width: max-content; /* IMPORTANT */
  will-change: transform;
}

.dbl-scroll-gallery__item {
  flex: 0 0 auto;
  width: clamp(280px, 28vw, 520px);

  display: flex;
  align-items: flex-end;
}

/* Sizes */
.dbl-scroll-gallery__item.is-tall {
  aspect-ratio: 4 / 5;
}

.dbl-scroll-gallery__item.is-short {
  aspect-ratio: 1 / 1;
}

/* scale slightly on large screens */
@media (min-width: 1400px) {
  .dbl-scroll-gallery__item.is-tall {
    width: clamp(340px, 26vw, 600px);
  }
}

.dbl-scroll-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dbl-scroll-gallery__track {
  min-width: 120vw; /* forces overflow even in edge cases */
}

/* B&W option */
.dbl-scroll-gallery__img.is-bw {
  filter: grayscale(100%) contrast(1.08) brightness(0.95);
}

@media (max-width: 767px) {

  .dbl-scroll-gallery {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; /* smooth iOS */
	scroll-snap-type: x mandatory;
  }

  .dbl-scroll-gallery__track {
    display: flex;
    gap: 16px;
    padding: 0 20px;

    /* IMPORTANT */
    transform: none !important; /* kill JS transform */
  }

  .dbl-scroll-gallery__item {
    flex: 0 0 auto;

    width: 75vw; /* 👈 controls card size */
    max-width: 220px;
	scroll-snap-align: start;
  }

}

.dbl-media {
  width: 100%;
  aspect-ratio: var(--media-ratio-landscape);
  background-size: cover;
  background-position: center;
}

/* =========================================
   dbl Hero Strip [dbl_hero_strip]
========================================= */

.dbl-hero-strip{
  position: relative;

  min-height: var(--hero-strip-height);

  padding-top:
    calc(var(--header-height) + var(--space-2));

  padding-bottom: clamp(16px, 1.5vw, 32px);

  overflow: hidden;

  display:flex;
  flex-direction:column;

  justify-content:flex-end;
}

.dbl-hero-strip{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.dbl-hero-strip__bg{

  position:absolute;
  inset:0;

  background-size:cover;
  background-position:center;

  filter:blur(var(--hero-blur));
  transform:scale(1.08);

  z-index:0;
}

.dbl-hero-strip::after{

  content:"";
  position:absolute;
  inset:0;

  background:rgba(0,0,0,var(--hero-overlay));

  z-index:1;
}

.dbl-hero-strip__content{
  position:relative;
  z-index:2;
}

/* =========================================
   DBL — Hero Strip Typography
========================================= */

.dbl-hero-strip__content h1{

  font-family: var(--font-display);
  font-size: var( --hero-strip-title);
  font-weight: var(--w-700);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-tight);

  text-transform: uppercase;

  color:#fff;

  margin:0;
  max-width: 10ch;

}

.dbl-hero-strip__content .hero-title{
  color:#fff;
  margin:0;
  max-width:10ch;
}

/* =========================================
   DBL — Hero Strip Minimal Modifier
========================================= */

.dbl-hero-strip.is-minimal{
  min-height:auto !important;
  height:auto !important;

  min-height: var(--hero-strip-height);

  padding-top:
    calc(var(--header-height) + clamp(20px, 3vw, 40px));

  padding-bottom:
    clamp(18px, 2vw, 28px);


  background:var(--surface);

  border-bottom:1px solid rgba(0,0,0,.08);
}

.dbl-hero-strip.is-minimal::after{
  display:none;
}

.dbl-hero-strip.is-minimal .dbl-hero-strip__bg{
  display:none;
}

.dbl-hero-strip.is-minimal h1{
  color:var(--black-500);
  max-width:12ch;
}

/* =========================================
   DBL — Experience Section Repeater
========================================= */

.experience-section{

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  column-gap:var(--gutter);

  align-items:start;

  padding-top: var( --section-padding-lg);
  padding-bottom:0;
	
}

.experience-section.is-grey{
  background:#f3f3f2;
  color:#111;
}

.experience-section.is-white{
  background:#fff;
  color:#111;
}

.experience-section.is-dark{
  background:#111;
  color:#fff;
}

.experience-copy{
  padding-left: var(--gutter);
}


.experience-copy{
  display:flex;
  flex-direction:column;
  gap:24px;
	
  padding-bottom: var(--space-1);
}

.experience-copy .btn-outline{
  padding-bottom: var(--space-2);
}

.experience-copy .text-title {
max-width:20ch;	
}

.experience-copy .text-body {
max-width:48ch;	
}

.experience-media-wrap{
  display:flex;
  width:100%;
  flex-direction:column;
  gap:24px;
}

.experience-supporting {
	padding-right: var(--gutter);
}

.text-supporting .elementor-heading-title{
  font-size: clamp(28px, 2.1vw, 40px);
  font-weight: var(--w-500);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: rgba(17,17,17,.92);
}

/* .text-supporting{
  font-size: clamp(28px, 2.1vw, 40px);
  font-weight: var(--w-500);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: rgba(17,17,17,.92)
} */

/* DARK SECTIONS */
.experience-section.is-dark .text-supporting{
  color: rgba(255,255,255,.92);
}

.experience-media{
  position:relative;
  height:100%;
}

.experience-media::before{
  content:"";

  position:absolute;

  top:-18px;
  left:-18px;

  width:36px;
  aspect-ratio:1;

  background-color: var(--accent);

  -webkit-mask:
    url('/wp-content/themes/hello-theme-child-master/assets/d-mark.svg')
    center / contain no-repeat;

  mask:
    url('/wp-content/themes/hello-theme-child-master/assets/d-mark.svg')
    center / contain no-repeat;

  z-index:3;
  pointer-events:none;
}

.experience-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.experience-media-wrap{
  position:relative;

  display:flex;
  flex-direction:column;
  height:100%;
}

.experience-supporting{
  max-width:42ch;
  font-size: var(--text-intro);
  font-weight: var(--w-500);
  line-height: var(--lh-intro);
}

.experience-index{
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media (max-width: 1024px){

  .experience-section{
    grid-template-columns:1fr;
    gap:40px;
  }
	
  .experience-copy .text-body {
    padding-right: var(--gutter);
  }
	
  .experience-copy .text-title--supporting {
    padding-right: var(--gutter);
  }

  .experience-media::before{
    display:none;
  }
	
  .experience-copy{
  padding-bottom: var(--space-1);
  }
	
  .experience-supporting{
    border-top: 1px solid rgba(0,0,0,.12);
	  
    padding-top: var(--space-3);
	  
	margin-inline: var(--gutter);
  }
	
  .experience-section.is-dark .experience-supporting{
	  border-top: 1px solid rgba(255,255,255,.12);
  }
	

  .experience-media img{
    aspect-ratio:16/9;
  }
}

/* =========================================
   DBL — Info Page
========================================= */

.one-weekend .text-title .elementor-heading-title{
  max-width: 24ch;
} 

/* =========================================
   DBL — Media Split
========================================= */

.dbl-media-split .dbl-split{
  align-items:start;
}

.dbl-media-split .dbl-container-bottom{
	padding-bottom: var(--section-padding);
    border-bottom:1px solid rgba(0,0,0,.08);
}



.dbl-media-split .dbl-split > *{
  align-self:start;
}

/* Important for Elementor + Grid */
.dbl-media-split .dbl-split > .e-con{
  min-width:0;
  align-self:flex-start !important;
  height:auto !important;
}

.dbl-media-split .dbl-split__left,
.dbl-media-split .dbl-split__right{
  gap:24px;
}

.dbl-media-split .dbl-split__right{
  display:flex;
  flex-direction:column;

  align-self:flex-start !important;
  justify-content:flex-start !important;

  height:auto !important;
  min-height:0 !important;
}

.dbl-media-split .dbl-split__right > * + *{
  margin-top:24px;
}

.dbl-media-split .dbl-split__left > * + *{
  margin-top:24px;
}

/* Left column typography */

.dbl-media-split .section-title .elementor-heading-title{
  max-width:10ch !important;
}

.dbl-media-split .text-intro{
  max-width:30ch !important;
}

.dbl-media-split .text-body{
  max-width:52ch !important;
}

/* Supporting heading */

.dbl-media-split .text-title--supporting .elementor-heading-title{
  max-width:12ch !important;
}

/* Benefits */

.benefit-list ul{
  display:flex;
  flex-direction:column;
  gap:10px;

  margin:0;
  padding:0;

  list-style:none;
}

.benefit-list li{
  position:relative;
  padding-left:20px;
}

.benefit-list li::before{
  content:"";

  position:absolute;

  top:.55em;
  left:0;

  width:6px;
  height:6px;

  border-radius:999px;

  background:currentColor;
}

/* =========================================
   DBL — Slider
========================================= */

.dbl-slider{
  width:100%;
  display:flex;
  flex-direction:column;

  overflow:hidden;
}

.dbl-slider{
  flex:none !important;
  height:auto !important;
  min-height:0 !important;
  align-self:flex-start !important;
}

.dbl-slider .swiper{
  height:auto !important;
}

.dbl-slide{
  margin:0;
}

.dbl-slide__media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}

.dbl-slide__media img{
  width:100%;
  height:100%;

  object-fit:cover;

  display:block;
}

.dbl-slide__caption{
  margin-top:12px;

  font-size:14px;
  line-height:1.4;

  opacity:.7;
}

/*  DBL — Swiper Base */

.dbl-slider .swiper-wrapper{
  display:flex;
}

.dbl-slider .swiper-slide{
  width:100%;
  flex-shrink:0;
}

.dbl-slide{
  margin:0;
}

.dbl-slide__media{
  position:relative;

  overflow:hidden;

  aspect-ratio:16 / 9;
}

.dbl-slide__media img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
}

.dbl-slide__caption{
  margin-top:12px;

  font-size:14px;
  line-height:1.4;

  opacity:.7;
}


/* === DBL — Slider Footer === */

.dbl-slider__meta{
  margin-top:24px;
}

.dbl-slider__footer{
  display:flex;

  justify-content:space-between;
  align-items:center;

  gap:24px;
}

.dbl-slider__count{
  font-family: var(--font-body);
  font-weight: var(--w-400);
  font-size: 12px;
  font-weight:700;
  line-height:1;

  color:var(--black-500);
}

.dbl-slider__nav{
  display:flex;
  align-items:center;
  color:var(--black-400);

  gap:40px;
}

.dbl-slider .dbl-slider__prev,
.dbl-slider .dbl-slider__next{
  appearance:none;

  padding:0;
  border:0;
  background:none;

  font-family:var(--font-body) !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1;

  letter-spacing:.08em;
  text-transform:uppercase;

  color:var(--black-500) !important;

  cursor:pointer;

  transition:
    opacity .25s ease,
    color .25s ease;
}

.dbl-slider .dbl-slider__prev:hover,
.dbl-slider .dbl-slider__next:hover{
  color:var(--black-500) !important;
  opacity:.45;
}


/* DBL — Mobile */

@media (max-width:767px){

  .dbl-slider__footer{
    align-items:flex-start;
    flex-direction:column;

    gap:20px;
  }
	
  .dbl-slider__nav{
    gap:28px;
  }

  .dbl-slider__prev,
  .dbl-slider__next{
    font-size:16px;
  }

}

@media (max-width:767px){

  .dbl-slider__footer{
    align-items:flex-start;
    flex-direction:column;

    gap:20px;
  }

  .dbl-slider__nav{
    display:none;
  }
}

/* =========================================
   DBL — FAQ + POLICY Intro SHARED STYLES
========================================= */

.faq-intro, 
.policy-intro {
	background-color: #f2f2f3;
}

/* =========================================
   DBL — FAQ + POLICY SHARED STYLES
========================================= */


/* LIST */

.dbl-faq-list,
.dbl-policy-list{
  display:flex;
  flex-direction:column;
}


/* ITEM */

.dbl-faq-item,
.dbl-policy-item{
  padding-top:48px;
}


/* GRID ROW */

.dbl-faq-split,
.dbl-policy-split{

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  column-gap:clamp(48px,7vw,140px);

  align-items:start;

  padding-bottom:40px;
}


/* Border except last item */

.dbl-faq-item:not(:last-child) .dbl-faq-split,
.dbl-policy-item:not(:last-child) .dbl-policy-split{
  border-bottom:1px solid rgba(0,0,0,.08);
}


/* LEFT / RIGHT */

.dbl-faq-split__left,
.dbl-faq-split__right,
.dbl-policy-split__left,
.dbl-policy-split__right{
  min-width:0;
}

/* FAQ category spacing */

.dbl-faq-item .dbl-faq-split, 
.dbl-policy-item .dbl-policy-split{
  margin-top:20px;
}


/* NUMBER + HEADING */

.dbl-faq-heading-row,
.dbl-policy-heading-row{

  display:grid;

  grid-template-columns:
    48px
    minmax(0,1fr);

  column-gap:20px;

  align-items:start;
}


/* NUMBER */

.dbl-faq-number,
.dbl-policy-number{
  opacity:.42;
  line-height: var(--lh-intro);
}


/* TITLE */

.dbl-faq-question,
.dbl-policy-heading{

  max-width:14ch;
  text-wrap:balance;
}


/* BODY */

.dbl-faq-answer,
.dbl-policy-body{

  max-width:46ch;

  line-height:1.45;
}


.dbl-faq-answer p:first-child,
.dbl-policy-body p:first-child{
  margin-top:0;
}


.dbl-faq-answer p:last-child,
.dbl-policy-body p:last-child{
  margin-bottom:0;
}

/* LINK */

.dbl-faq-link, 
.dbl-policy-link{
  margin-top:24px;
}

.dbl-faq-link, 
.dbl-policy-link {
  font-size:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:40px;
  padding:10px 20px;

  border-radius:var(--radius-lg);

  background:transparent;
  color:#111;

  border:1px solid currentColor;

  text-decoration:none;

  transition:
    background-color var(--transition-base),
    color var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-fast);
}

.dbl-faq-link:hover,
.dbl-policy-link:hover{
  background:#111;
  color:#fff;
  border-color:#111;
  transform:translateY(-1px);
}

/*  DBL — FAQ NAV */

.dbl-faq-nav,
.dbl-policy-nav{

  display:flex;
  flex-wrap:wrap;
  gap:32px;

  padding-bottom:24px;

  border-bottom:1px solid rgba(0,0,0,.08);

  margin-bottom: var(--space-2);
}

.dbl-faq-nav a,
.dbl-policy-nav a{

  display:inline-flex;
  align-items:center;
  gap:10px;

  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;

  color:var(--black-500);

  text-decoration:none;

  transition:opacity .2s ease;
}

.dbl-faq-nav a:hover,
.dbl-policy-nav a:hover{
  opacity:.6;
}


/* Arrow */

.dbl-faq-nav a::after,
.dbl-policy-nav a::after{

  content:"";

  width:10px;
  height:10px;

  background:currentColor;

  -webkit-mask:
    url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg')
    center / contain no-repeat;

  mask:
    url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg')
    center / contain no-repeat;

  transform:rotate(90deg);

  opacity:.7;
}

/* DBL — Policy Lists */

.dbl-policy-body ul, 
.db-faq-body ul{
  list-style:none;
  margin:24px 0;
  padding:0;

  display:flex;
  flex-direction:column;
  gap:12px;
}

.dbl-policy-body li,
.dbl-faq-body li{
  position:relative;
  padding-left:20px;

  line-height:1.45;
}

.dbl-policy-body li::before,
.dbl-faq-body li::before{
  content:"";

  position:absolute;

  left:0;
  top:.55em;

  width:6px;
  height:6px;

  border-radius:50%;

  background:rgba(0,0,0,.38);
}

/* MOBILE */

@media (max-width:1024px){

  .dbl-faq-item,
  .dbl-policy-item{
    padding-top:40px;
  }

  .dbl-faq-split,
  .dbl-policy-split{

    grid-template-columns:1fr;

    row-gap:28px;

    padding-bottom:32px;
  }

  .dbl-faq-heading-row,
  .dbl-policy-heading-row{

    grid-template-columns:
      36px
      minmax(0,1fr);

    column-gap:16px;
  }

  .dbl-faq-question,
  .dbl-policy-heading{
    max-width:100%;
  }

}

/* ================================================
   DBL — 404 Hero
================================================ */

/* Hero Section
---------------------------------- */

.dbl-404-hero{

  min-height:calc(92vh - var(--header-height));

  display:flex;
  justify-content:center;

  padding-top:var(--section-padding);
  padding-bottom:var(--section-padding);

  overflow:hidden;
}


/* Lockup
---------------------------------- */

.dbl-404-lockup{

  display:flex;
  flex-direction:column;

  gap:32px;

  width:100%;
}


/* Work Palette
---------------------------------- */

body.error404{

  --section-500:var(--active-work-500);
  --section-50:var(--active-work-50);
}

body.error404 header.elementor-location-header .pp-menu-toggle-label{

  color:var(--section-500)!important;

  -webkit-text-fill-color:currentColor;
}


/* HTML Widget Width Fix
---------------------------------- */

body.error404 .elementor-widget-html{

  width:100%;
}


/* 404 Layout
---------------------------------- */

body.error404 .dbl-404-justified{

  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  width:100%;
  margin:0;

  font-size:clamp(160px, 18vw, 420px);
  line-height:.78;
  font-weight:900;
  letter-spacing:-0.06em;

  color:#111;

  overflow:visible;
	
  pointer-events:none;
}


/* Animated Characters
---------------------------------- */

body.error404 .dbl-404-justified .char{

  display:block;
  position:relative;
  backface-visibility:hidden;
	
  will-change:transform, opacity;
  transform:translate3d(0, calc(-1.5em + var(--offset,0)), 0) translateZ(0);
	
  animation:dbl-dropDamp 31s linear var(--fall-delay,0s) both 1;
	
  transform:translateZ(0);

}

/* Contents – Copy
---------------------------------- */

.dbl-404-copy{
  padding-top:clamp(24px, 3vw, 64px);
  display:flex;
  flex-direction:column;

  gap:24px;
}

.dbl-404-copy .text-intro{
  font-size:clamp(42px, 4vw, 72px);
  line-height:.88;
  letter-spacing:-0.04em;
  font-weight:700;
  max-width:12ch;
}

.dbl-404-copy .elementor-widget-text-editor:last-child{
  max-width:42ch;
  opacity:.78;
}

.dbl-404-links{
  margin-top:8px;
}

/* Arrows */

body.error404 .e-n-menu-title-container{
  width:auto !important;
}

body.error404 .e-n-menu-heading{
  gap:28px;
}

body.error404 .e-n-menu-title-text{
  display:inline-flex;
  align-items:center;
  gap:8px;
	
  transition:opacity .2s ease;
}

.dbl-404-links a{
  display:inline-flex;
  align-items:center;
  gap:12px;

  text-transform:uppercase;
  letter-spacing:.04em;

  font-size:14px;
}

body.error404 .e-n-menu-title-text::after{
  content:"";

  width:14px;
  height:14px;

  flex-shrink:0;

  background:currentColor;

  mask:url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg') no-repeat center;
  -webkit-mask:url('/wp-content/themes/hello-theme-child-master/assets/dbl-arrow.svg') no-repeat center;

  transition:transform .2s ease;
  transform:translateY(-1px) translateX(4px);
}

body.error404 .e-n-menu-title-text:hover{
  opacity:.7;
}

body.error404 .e-n-menu-title-text:hover::after{
  transform:translateY(-1px) translateX(4px);
}


/* Character Timing
---------------------------------- */

body.error404 .dbl-404-justified .char:nth-child(1){
  --fall-delay:.00s;
  --offset:0.08em;
  --amp:.10em;
}

body.error404 .dbl-404-justified .char:nth-child(2){
  --fall-delay:.12s;
  --offset:-0.34em;
  --amp:.08em;
}

body.error404 .dbl-404-justified .char:nth-child(3){
  --fall-delay:.24s;
  --offset:0.44em;
  --amp:.16em;
}


/* Animation
---------------------------------- */

@keyframes dbl-dropDamp{

  0%{
    transform:translate3d(0, calc(-1.5em + var(--offset)), 0);
    opacity:0;
    filter:blur(4px);

    animation-timing-function:cubic-bezier(.18,.85,.25,1);
  }

  3%{
    transform:translate3d(0, var(--offset), 0);
    opacity:1;
    filter:none;

    animation-timing-function:cubic-bezier(.22,1,.36,1);
  }

  12%{
    transform:translate3d(0, calc(var(--offset) - 1.20 * var(--amp,.12em)), 0);
  }

  22%{
    transform:translate3d(0, calc(var(--offset) + 0.78 * var(--amp,.12em)), 0);
  }

  34%{
    transform:translate3d(0, calc(var(--offset) - 0.50 * var(--amp,.12em)), 0);
  }

  46%{
    transform:translate3d(0, calc(var(--offset) + 0.32 * var(--amp,.12em)), 0);
  }

  60%{
    transform:translate3d(0, calc(var(--offset) - 0.20 * var(--amp,.12em)), 0);
  }

  74%{
    transform:translate3d(0, calc(var(--offset) + 0.11 * var(--amp,.12em)), 0);
  }

  88%{
    transform:translate3d(0, calc(var(--offset) - 0.05 * var(--amp,.12em)), 0);
  }

  100%{
    transform:translate3d(0, var(--offset), 0);
  }
}


/* Reduced Motion
---------------------------------- */

@media (prefers-reduced-motion:reduce){

  body.error404 .dbl-404-justified .char{

    animation:none!important;

    opacity:1!important;

    transform:translate3d(0, var(--offset,0), 0)!important;

    filter:none!important;
  }
}