@charset "utf-8";

/*--------------------------------------------------------------------------------------------------
CSS Styles for <qre8.studio>.
author: Espectro [espectro.org@gmail.com] web: tempteam.dev
version:   1.0
--------------------------------------------------------------------------------------------------*/
/* =CSS Reset
--------------------------------------------------------------------------------------------------*/

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* End CSS Reset
--------------------------------------------------------------------------------------------------*/

/* =Toolkit
--------------------------------------------------------------------------------------------------*/

/* Micro Clearfix Hack by Nicholas Gallagher (http://nicolasgallagher.com/micro-clearfix-hack/) */
/* For modern browsers */ 
.cf:before, .cf:after { content:""; display:table; }
.cf:after { clear:both; }
/* For IE 6/7 (trigger hasLayout) */
.cf { zoom:1; }

/* general purpose classes */
.nodisplay { display:none; }
.nodisplay_strict { display:none !important; }
.alignleft { float:left; }
.alignright { float:right; }

/* End Toolkit
--------------------------------------------------------------------------------------------------*/

/* =Normalization - mostly derived from normalize.css (https://github.com/necolas/normalize.css/) but without comments and compressed to keep the file small
--------------------------------------------------------------------------------------------------*/

hr { display:block; height:1px; border:0; margin:1em 0; padding:0;
	border-top:1px solid #cccccc; /* change border colour to suit your needs */
}
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
body, button, input, select, textarea { font-family: sans-serif; }
a:focus { outline: none; }
a:hover, a:active { outline: 0; }
h1 { font-size: 2em; }
h1, h2, h3, h4, h5, h6, p, pre, blockquote, form, fieldset, table, ul { margin: 0; }
del { text-decoration: line-through; }
abbr[title] { border-bottom: 1px dotted; cursor:help; }
b, strong { font-weight: bold; }
dfn { font-style: italic; }
mark { background: #ff0; color: #000; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
small { font-size: 75%; }
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; -ms-interpolation-mode: bicubic; }
svg:not(:root) { overflow: hidden; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { border: 0; *margin-left: -7px; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
input, select { vertical-align:middle; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }
.cleaner {clear: both; height: 1px; font-size: 1px;}
:focus { outline: none; -webkit-appearance: none;}
input[type="checkbox"]{
  -webkit-appearance: checkbox;
}
input[type="radio"]{
  -webkit-appearance: radio;
}
:-moz-placeholder {opacity:  1;}
::-moz-placeholder {opacity:  1;}
input, textarea {
 -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
 -webkit-border-radius: 0;
 border-radius: 0;
}
/* End Normalization
--------------------------------------------------------------------------------------------------*/

/* =Typography
--------------------------------------------------------------------------------------------------*/

/* Setting up the fonts */
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Regular.woff2') format('woff2'),
       url('../fonts/Manrope-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Medium.woff2') format('woff2'),
       url('../fonts/Manrope-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Semibold.woff2') format('woff2'),
       url('../fonts/Manrope-Semibold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Bold.woff2') format('woff2'),
       url('../fonts/Manrope-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
html {scroll-behavior: smooth;}
body {font-family: 'Manrope', Arial, Helvetica, sans-serif; background: #000; color: #fff; overflow-x: hidden;}
body.menu-open,
body.lightbox-open {overflow: hidden;}
input, button, select, textarea {}
.btn {line-height: 51px; background: #fff; border-radius: 30px; font-weight: 500; font-size: 19px; display: inline-block; padding: 0 30px; color: #010101; position: relative; overflow: hidden; isolation: isolate; transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;}
.btn:before {content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 0%, transparent 35%, rgba(255,255,255,0.95) 48%, rgba(255,255,255,0.4) 56%, transparent 70%, transparent 100%); transform: translateX(-125%); transition: transform 620ms ease; pointer-events: none; z-index: 1;}
.btn:hover {background: #f3f3f3; box-shadow: 0 0 24px rgba(255,255,255,0.32); transform: translateY(-2px); color: #111;}
.btn:hover:before {transform: translateX(125%);}
.medium {line-height: 46px; font-size: 16px; color: #010101;}

/* End Typography
--------------------------------------------------------------------------------------------------*/

/* =Header
--------------------------------------------------------------------------------------------------*/
.header {width: 100%; padding: 32px 66px; box-sizing: border-box; display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr); align-items: center; position: fixed; top: 0; left: 0; z-index: 99; transition: background-color 260ms ease, padding 260ms ease, box-shadow 260ms ease, backdrop-filter 260ms ease;}
.header.has-background {background: rgba(0,0,0,0.88); box-shadow: 0 12px 34px rgba(0,0,0,0.28); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);}
.header .logo {width: 178px; position: relative; z-index: 2;}
.header .logo img {display: block; width: 139px; height: auto;}
.header .nav {display: flex; justify-content: center;}
.header .nav ul {display: flex; align-items: center; gap: 30px;}
.header .nav ul li {font-size: 17px; font-weight: 500;}
.header .nav ul li a {position: relative; color: #fff;}
.header .nav ul li a:hover {}
.header .nav ul li a:before {content: ''; height: 1px; width: 100%; position: absolute; bottom: -3px; left: 0; background: #fff; transform: scaleX(0); transform-origin: left center; transition: transform 260ms ease;}
.header .nav ul li a:hover:before, .header .nav ul li.current-menu-item a:before, .header .mobile-nav ul li.current-menu-item a:before, .widget_nav_menu nav ul li.current-menu-item a:before {transform: scaleX(1);}
.header .holder {display: flex; align-items: center; justify-content: flex-end; gap: 18px; position: relative; z-index: 2;}
.social-link {display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 48px; color: #fff; position: relative; transition: transform 220ms ease, opacity 220ms ease;}
.social-link + .social-link {margin-left: -10px;}
.social-link svg {width: var(--social-icon-size, 28px); height: var(--social-icon-size, 28px); fill: none; stroke: currentColor; stroke-width: var(--social-stroke-width, 1.7); stroke-linecap: round; stroke-linejoin: round;}
.social-link--instagram {--social-icon-size: 24px;}
.social-link--tiktok {--social-icon-size: 30px; --social-stroke-width: 1.85;}
.social-link--youtube {--social-icon-size: 31px;}
.social-link:hover {opacity: 0.82; transform: translateY(-1px);}
.mobile-socials {display: none;}
.language-switcher {display: flex; align-items: center; gap: 4px; padding: 3px; border: 1px solid rgba(255,255,255,0.26); border-radius: 999px; background: rgba(255,255,255,0.08);}
.language-switcher a {min-width: 35px; line-height: 32px; border-radius: 999px; color: rgba(255,255,255,0.72); font-size: 14px; font-weight: 500; text-align: center; transition: color 220ms ease, background-color 220ms ease, box-shadow 220ms ease;}
.language-switcher a:hover {color: #fff; background: rgba(255,255,255,0.14);}
.language-switcher a.active {color: #010101; background: #fff; box-shadow: 0 0 18px rgba(255,255,255,0.22);}
.menu-toggle {display: none; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,0.24); border-radius: 50%; background: rgba(255,255,255,0.08); padding: 0; cursor: pointer; position: relative; transition: background-color 220ms ease, transform 220ms ease;}
.menu-toggle span {position: absolute; left: 13px; width: 18px; height: 1px; background: #fff; transition: transform 260ms ease, top 260ms ease;}
.menu-toggle span:first-child {top: 18px;}
.menu-toggle span:last-child {top: 26px;}
.menu-toggle:hover {background: rgba(255,255,255,0.16); transform: translateY(-1px);}
.header.menu-open .menu-toggle span:first-child {top: 22px; transform: rotate(45deg);}
.header.menu-open .menu-toggle span:last-child {top: 22px; transform: rotate(-45deg);}
.mobile-menu {display: none;}
/* End Header
--------------------------------------------------------------------------------------------------*/

/* Legal Pages
--------------------------------------------------------------------------------------------------*/
.legal-page {width: min(1040px, calc(100% - 96px)); margin: 0 auto; padding: 164px 0 118px;}
.legal-hero {margin-bottom: 58px; text-align: center;}
.legal-kicker {margin: 0 0 18px; color: rgba(255,255,255,0.76); font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase;}
.legal-hero h1 {font-size: 82px; line-height: 88px; font-weight: 400; letter-spacing: 0; color: #fff;}
.legal-content-wrap {padding: 1px; border-radius: 18px; background: linear-gradient(180deg, rgba(255,255,255,0.2), rgba(255,255,255,0.05));}
.legal-content {padding: 54px 58px; border-radius: 17px; background: #101010; color: rgba(255,255,255,0.78); font-size: 17px; line-height: 1.72;}
.legal-content > *:first-child {margin-top: 0;}
.legal-content > *:last-child {margin-bottom: 0;}
.legal-content h1 {margin: 0 0 28px; color: #fff; font-size: 42px; line-height: 50px; font-weight: 500; letter-spacing: 0;}
.legal-content h2 {margin: 46px 0 18px; color: #fff; font-size: 32px; line-height: 40px; font-weight: 500; letter-spacing: 0;}
.legal-content h3 {margin: 34px 0 14px; color: #fff; font-size: 23px; line-height: 31px; font-weight: 500; letter-spacing: 0;}
.legal-content h4 {margin: 28px 0 12px; color: #fff; font-size: 19px; line-height: 27px; font-weight: 600;}
.legal-content p,
.legal-content ul,
.legal-content ol,
.legal-content table,
.legal-content blockquote {margin: 0 0 20px;}
.legal-content ul,
.legal-content ol {padding-left: 24px;}
.legal-content ul {list-style: disc;}
.legal-content ol {list-style: decimal;}
.legal-content li {margin: 0 0 9px; padding-left: 4px;}
.legal-content a {color: #fff; border-bottom: 1px solid rgba(255,255,255,0.42); transition: border-color 220ms ease, color 220ms ease;}
.legal-content a:hover {border-color: #fff; color: rgba(255,255,255,0.84);}
.legal-content strong,
.legal-content b {color: #fff; font-weight: 700;}
.legal-content em {font-style: italic;}
.legal-content hr {margin: 36px 0; border: 0; border-top: 1px solid rgba(255,255,255,0.12);}
.legal-content table {width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 12px; border: 1px solid rgba(255,255,255,0.12);}
.legal-content th,
.legal-content td {padding: 14px 16px; border-top: 1px solid rgba(255,255,255,0.1); text-align: left; vertical-align: top;}
.legal-content th {color: #fff; background: rgba(255,255,255,0.08); font-weight: 600;}
.legal-content tr:first-child th,
.legal-content tr:first-child td {border-top: 0;}

/* End Legal Pages
--------------------------------------------------------------------------------------------------*/

/* 404 Page
--------------------------------------------------------------------------------------------------*/
.error-page {min-height: 100svh; display: flex; align-items: center; justify-content: center; padding: 150px 32px 110px; box-sizing: border-box; overflow: hidden;}
.error-hero {width: min(1080px, 100%); position: relative; text-align: center;}
.error-hero:before {content: ''; position: absolute; left: 50%; top: 50%; width: 620px; height: 620px; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.11) 0%, rgba(255,255,255,0.045) 34%, rgba(255,255,255,0) 70%); pointer-events: none;}
.error-hero__code {position: relative; z-index: 1; margin: -16px 0 -34px; color: rgba(255,255,255,0.08); font-size: clamp(150px, 23vw, 330px); line-height: 0.86; font-weight: 700; letter-spacing: 0;}
.error-hero__content {position: relative; z-index: 2; max-width: 760px; margin: 0 auto;}
.error-hero h1 {margin: 0 0 22px; color: #fff; font-size: 68px; line-height: 74px; font-weight: 500; letter-spacing: 0;}
.error-hero p:not(.studio-kicker) {max-width: 640px; margin: 0 auto; color: rgba(255,255,255,0.72); font-size: 19px; line-height: 32px;}
.error-hero__actions {display: flex; justify-content: center; align-items: center; gap: 26px; margin-top: 38px;}
.error-link {position: relative; color: #fff; font-size: 17px; line-height: 24px; font-weight: 500;}
.error-link:before {content: ''; position: absolute; left: 0; bottom: -4px; width: 100%; height: 1px; background: #fff; transform: scaleX(0); transform-origin: left center; transition: transform 260ms ease;}
.error-link:hover:before {transform: scaleX(1);}
/* End 404 Page
--------------------------------------------------------------------------------------------------*/

/* Hero 
--------------------------------------------------------------------------------------------------*/
:root {
      --card-width: 1345px;
      --card-height: 756px;
      --progress: 0;
    }

    .scroll-stage {
      position: relative;
      height: 260vh;
    }

    .hero-pin {
      position: sticky;
      top: 0;
      height: 100vh;
      display: grid;
      place-items: center;
      overflow: clip;
      isolation: isolate;
    }

    .hero-pin::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 50% 18%, rgba(255, 211, 155, 0.18), transparent 35%);
      opacity: calc(1 - (var(--progress) * 0.55));
      transition: opacity 180ms linear;
      pointer-events: none;
      z-index: 0;
    }

    .hero-pin::after {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 70vh;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0) 100%);
      opacity: calc(1 - min(var(--progress) * 3.2, 1));
      transition: opacity 180ms linear;
      pointer-events: none;
      z-index: 2;
    }

    .hero-copy {
      position: absolute;
      inset: 171px 0 8vh;
      display: flex;
      justify-content: center;
      padding: 0 24px;
      opacity: calc(1 - (var(--progress) * 1.35));
      transform: translateY(calc(var(--progress) * -48px));
      transition: opacity 180ms linear, transform 180ms linear;
	  z-index: 991;
    }
	.btn-holder {padding: 121px 0 0 0;}

    .hero-copy-inner {
      width: min(860px, 100%);
      text-align: center;
    }

    .eyebrow {
      margin: 0 0 12px;
      color: rgba(255, 231, 198, 0.85);
      letter-spacing: 0.28em;
      text-transform: uppercase;
      font: 600 12px/1.2 Arial, sans-serif;
    }

    .hero-copy h1 {
      margin: 0;
      font-size: 125px;
      line-height: 120px;
      letter-spacing: -0.04em;
      text-wrap: balance;
	  color: #fff;
	  opacity: 0.6;
    }

    .hero-copy p {
      margin: 18px auto 0;
      max-width: 640px;
      font-size: clamp(1rem, 2vw, 1.25rem);
      line-height: 1.7;
      color: rgba(247, 243, 236, 0.72);
    }

    .video-shell {
      position: relative;
      width: calc(100vw - ((100vw - min(var(--card-width), calc(100vw - 32px))) * var(--progress)));
      height: calc(100vh - ((100vh - var(--card-height)) * var(--progress)));
      border-radius: calc(30px * var(--progress));
      overflow: hidden;
      box-shadow:
        0 calc(40px * var(--progress)) calc(100px * var(--progress)) rgba(0, 0, 0, calc(0.45 * var(--progress)));
      transform:
        translateY(calc(38px * var(--progress)))
        scale(calc(1 - (var(--progress) * 0.012)));
      transition: width 180ms linear, height 180ms linear, border-radius 180ms linear,
        box-shadow 180ms linear, transform 180ms linear;
      z-index: 1;
      will-change: width, height, border-radius, transform, box-shadow;
    }

    .video-shell video {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      transform: scale(calc(1 + ((1 - var(--progress)) * 0.045)));
      filter: saturate(calc(0.96 + (var(--progress) * 0.14))) contrast(calc(1 + (var(--progress) * 0.06)));
      transition: transform 180ms linear, filter 180ms linear;
    }

    .video-desktop {
      display: block;
    }

    .video-shell .video-mobile {
      display: none;
    }

.content {position: relative; z-index: 3; padding: 120px 0 120px; max-width: 1052px; margin: 0 auto;}

a {text-decoration: none; color: #fff;}
p {font-size: 18px; line-height: 30px;}

.block-first .sub {padding: 0 0 8px;}
.block-first .sub p {color: #dadada; font-size: 18px;}
.block-first h2 {font-size: 65px; padding: 0 0 18px;}
.block-first p {font-size: 18px; line-height: 30px; color: #dadada;}
.block-first figure {position: relative; max-height: 480px; margin: 30px 0 0 0; border-radius: 15px; overflow: hidden;}
.content figure img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; transform: scale(1.14); transition: transform 1300ms cubic-bezier(0.16, 1, 0.3, 1); will-change: transform;}
.content figure.is-visible img {transform: scale(1);}

.block-about {padding: 170px 0; display: flex; justify-content: space-between;}
.block-about p {font-size: 55px; line-height: 65px;}
.block-about .holder {margin: 15px 0 0 0;}
.block-about .btn {white-space: nowrap;}

.block-two {display: flex; gap: 40px; align-items: center; margin: 0 0 180px;}
.block-two .col h2 {font-size: 65px; line-height: 75px;}
.block-two .col p {font-size: 18px; line-height: 30px; padding: 20px 0 30px 0;}
.block-two figure {border-radius: 15px; overflow: hidden; width: 504px; min-width: 504px; aspect-ratio: 1 / 1;}
.block-two.rev {flex-direction: row-reverse;}

@media (prefers-reduced-motion: reduce) {
  .content figure img {transition: none; transform: none;}
}

.block-book {text-align: center;}
.block-book p {margin: 0 0 30px; font-size: 64px; line-height: 75px; color: #fff;}

.footer {border-top: 1px solid #222222; padding: 44px 0 0;}
.footer .line-holder {overflow: hidden;}
.footer .line {white-space: nowrap; font-size: 120px; color: #c0c0c0; text-transform: uppercase; font-weight: 600; display: inline-block; min-width: max-content; animation: line-run 66s linear infinite;}
.footer .line:after {content: ' \2022  Kreativit\00e4t \2022  Emotionen \2022  \00c4sthetik \2022  Momente \2022  Licht \2022  Details \2022  Vision \2022  Story';}
.footer .sub {padding: 34px 0; border-top: 1px solid #222222; margin: 0 64px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.footer .sub p {font-size: 14px; color: #dadada;}
.footer-holder {display: flex; justify-content: space-between; padding: 44px 64px; max-width: 1200px; margin: 0 auto;}
.footer-holder .menu-widget p {color: #cccccc; padding: 0 0 6px;}
.widget-holder {display: flex; gap: 100px; padding: 20px 0 40px;}
.menu-widget li {font-size: 17px; line-height: 31px; font-weight: 500;}
.menu-widget li a {position: relative;}
.menu-widget li a:before {content: ''; height: 1px; width: 100%; position: absolute; bottom: 0; left: 0; background: #fff; transform: scaleX(0); transform-origin: left center; transition: transform 260ms ease;}
.menu-widget li a:hover:before, .menu-widget li.active a:before {transform: scaleX(1);}

/* Booking Light Theme
--------------------------------------------------------------------------------------------------*/
body.qre8-light-theme {background: #fbfbfb; color: #101010;}
body.qre8-light-theme a {color: #101010;}
body.qre8-light-theme .header {color: #101010; background: rgba(251,251,251,0.92); box-shadow: 0 12px 34px rgba(16,21,34,0.08); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);}
body.qre8-light-theme .header.has-background {background: rgba(251,251,251,0.96); box-shadow: 0 12px 34px rgba(16,21,34,0.1);}
body.qre8-light-theme .header .nav ul li a,
body.qre8-light-theme .mobile-nav a {color: #101010;}
body.qre8-light-theme .header .nav ul li a:before,
body.qre8-light-theme .mobile-nav a:before,
body.qre8-light-theme .menu-widget li a:before {background: #101010;}
body.qre8-light-theme .social-link {color: #101010;}
body.qre8-light-theme .language-switcher {border-color: rgba(16,21,34,0.18); background: rgba(16,21,34,0.06);}
body.qre8-light-theme .language-switcher a {color: rgba(16,21,34,0.62);}
body.qre8-light-theme .language-switcher a:hover {color: #101010; background: rgba(16,21,34,0.08);}
body.qre8-light-theme .language-switcher a.active {color: #fff; background: #101010; box-shadow: none;}
body.qre8-light-theme .header .btn,
body.qre8-light-theme .btn.medium {background: #101010; color: #fff;}
body.qre8-light-theme .header .btn:hover,
body.qre8-light-theme .btn.medium:hover {background: #1d1d1d; box-shadow: 0 0 24px rgba(16,21,34,0.18);}
body.qre8-light-theme .header .btn:before,
body.qre8-light-theme .btn.medium:before {background: linear-gradient(110deg, transparent 0%, transparent 35%, rgba(255,255,255,0.35) 48%, rgba(255,255,255,0.2) 56%, transparent 70%, transparent 100%);}
body.qre8-light-theme .menu-toggle {border-color: rgba(16,21,34,0.2); background: rgba(16,21,34,0.06);}
body.qre8-light-theme .menu-toggle span {background: #101010;}
body.qre8-light-theme .mobile-menu {background: rgba(251,251,251,0.96); box-shadow: -24px 0 60px rgba(16,21,34,0.16);}
body.qre8-booking-flow .header .logo img {max-width: 139px; height: auto;}
body.qre8-booking-flow main,
body.qre8-booking-flow .site-main,
body.qre8-booking-flow .content-area,
body.qre8-booking-flow article.page,
body.qre8-booking-flow .entry-content {background: #fbfbfb;}
body.qre8-booking-flow.woocommerce-cart .woocommerce,
body.qre8-booking-flow.woocommerce-checkout .woocommerce,
body.qre8-booking-flow.woocommerce-order-received .woocommerce,
body.qre8-booking-flow.woocommerce-order-pay .woocommerce {padding-top: 132px;}
body.qre8-booking-flow .ebc-booking,
body.qre8-booking-flow .ebc-booking-checkout,
body.qre8-booking-flow .woocommerce,
body.qre8-booking-flow .woocommerce-order {color: #101522;}
body.qre8-booking-flow,
body.qre8-booking-flow button,
body.qre8-booking-flow input,
body.qre8-booking-flow select,
body.qre8-booking-flow textarea,
body.qre8-booking-flow .woocommerce,
body.qre8-booking-flow .woocommerce *,
body.qre8-booking-flow .wp-block-woocommerce-checkout,
body.qre8-booking-flow .wp-block-woocommerce-checkout * {font-family: 'Manrope', Arial, Helvetica, sans-serif;}
body.qre8-booking-flow .woocommerce-checkout-payment #place_order,
body.qre8-booking-flow .wc-block-components-checkout-place-order-button {width: 100% !important; max-width: none !important;}
body.qre8-booking-flow .footer {background: #fbfbfb; color: #101010; border-top-color: #e4e4e4;}
body.qre8-booking-flow .footer .line-holder {border-color: #e4e4e4;}
body.qre8-booking-flow .footer .line {color: #1a1a1a;}
body.qre8-booking-flow .footer .sub {border-top-color: #e4e4e4;}
body.qre8-booking-flow .footer .sub p,
body.qre8-booking-flow .footer-holder .menu-widget p {color: rgba(16,16,16,0.68);}
body.qre8-booking-flow .menu-widget li a {color: #101010;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details {max-width: 760px; margin: 0 auto 42px; padding: 28px; box-sizing: border-box; border: 1px solid #e3ded6; border-radius: 16px; background: #f4f1ed; color: #101522; box-shadow: 0 18px 50px rgba(16,21,34,0.08);}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details img {display: block; width: auto; max-width: 92px !important; height: auto; margin: 0 0 14px;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .wc-ew_wise-bank-details-heading,
body.qre8-booking-flow .woocommerce-ew_wise-bank-details-heading {margin: 0 0 12px !important; padding: 0 !important; color: #101010; font-size: 28px !important; line-height: 34px !important; font-weight: 600;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details p {max-width: 650px; margin: 0 0 22px; color: rgba(16,21,34,0.76); font-size: 15px; line-height: 26px;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details p br {display: block; content: ""; margin-top: 4px;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details {display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details li {float: none !important; clear: none !important; display: block !important; width: auto !important; min-width: 0; margin: 0 !important; padding: 14px 16px !important; border: 1px solid #e2ddd5 !important; border-radius: 12px; background: #fbfbfb; color: rgba(16,21,34,0.62); font-size: 12px; line-height: 17px; text-transform: uppercase; letter-spacing: 0.04em;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details strong {display: block; margin-top: 4px; color: #101522; font-size: 15px; line-height: 21px; font-weight: 700; text-transform: none; letter-spacing: 0;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details .bic,
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details .iban,
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details .branch {grid-column: 1 / -1;}
body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details hr {display: none;}
body.qre8-booking-flow .ebc-order-booking-details {max-width: 760px; margin: 0 auto 56px; color: #101522;}
body.qre8-booking-flow .ebc-order-booking-details .woocommerce-order-details__title {margin: 34px 0 14px; color: #101010; font-size: 26px; line-height: 32px; font-weight: 600;}
body.qre8-booking-flow .ebc-order-booking-details .woocommerce-order-details__title:first-child {margin-top: 0;}
body.qre8-booking-flow .ebc-order-booking-details .shop_table {width: 100%; margin: 0; overflow: hidden; border: 1px solid #e3ded6 !important; border-radius: 16px; border-collapse: separate !important; border-spacing: 0; background: #f4f1ed; box-shadow: 0 18px 50px rgba(16,21,34,0.07);}
body.qre8-booking-flow .ebc-order-booking-details .shop_table tr {background: transparent;}
body.qre8-booking-flow .ebc-order-booking-details .shop_table th,
body.qre8-booking-flow .ebc-order-booking-details .shop_table td {padding: 15px 18px !important; border: 0 !important; border-bottom: 1px solid #e1dcd4 !important; background: transparent !important; font-size: 15px; line-height: 22px; text-align: left;}
body.qre8-booking-flow .ebc-order-booking-details .shop_table tr:last-child th,
body.qre8-booking-flow .ebc-order-booking-details .shop_table tr:last-child td {border-bottom: 0 !important;}
body.qre8-booking-flow .ebc-order-booking-details .shop_table th {width: 42% !important; color: rgba(16,21,34,0.58); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; font-size: 12px;}
body.qre8-booking-flow .ebc-order-booking-details .shop_table td {color: #101522; font-weight: 600;}
body.qre8-booking-flow .ebc-order-booking-details .shop_table tr:nth-child(even) {background: rgba(255,255,255,0.42);}
body.qre8-booking-flow .ebc-order-booking-details .ebc-order-total-row th,
body.qre8-booking-flow .ebc-order-booking-details .ebc-order-total-row td {background: #101010 !important; color: #fff !important; font-size: 17px; line-height: 24px; text-transform: none; letter-spacing: 0;}
body.qre8-booking-flow .ebc-order-booking-details .ebc-order-total-row .amount {color: inherit; font-size: inherit; font-weight: 700;}

@keyframes line-run {
  from {transform: translateX(0);}
  to {transform: translateX(-50%);}
}


/* End Hero
--------------------------------------------------------------------------------------------------*/

/* =Links
--------------------------------------------------------------------------------------------------*/
a {text-decoration: none;}
/* End Links
--------------------------------------------------------------------------------------------------*/

/* Studio Page
--------------------------------------------------------------------------------------------------*/
.studio-page {max-width: 1180px; padding-top: 118px;}
.studio-intro {max-width: 850px; margin: 0 auto 56px; padding-top: 120px; text-align: center;}
.studio-kicker {font-size: 15px; line-height: 1.4; color: #dadada; text-transform: uppercase; letter-spacing: 0.16em;}
.studio-intro h1 {margin: 14px 0 18px; font-size: 82px; line-height: 88px; font-weight: 500; color: #fff;}
.studio-intro > p:last-child {max-width: 760px; margin: 0 auto; color: #d7d7d7;}

.circle-gallery {width: 100%; margin: -18px 0 118px; padding: 34px 0 58px; overflow: hidden; position: relative; isolation: isolate;}
.circle-gallery:before,
.circle-gallery:after {content: ''; position: absolute; top: 0; bottom: 0; width: 12%; z-index: 2; pointer-events: none;}
.circle-gallery:before {left: 0; background: linear-gradient(90deg, #000 0%, rgba(0,0,0,0) 100%);}
.circle-gallery:after {right: 0; background: linear-gradient(270deg, #000 0%, rgba(0,0,0,0) 100%);}
.circle-gallery-track {display: flex; align-items: center; gap: 0; width: max-content; animation: studio-gallery-run 35.2s linear infinite; will-change: transform; transform: translate3d(0,0,0);}
.circle-gallery figure {width: 220px; aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden; box-shadow: 0 28px 90px rgba(0,0,0,0.48); transform: rotate(-4deg); backface-visibility: hidden; -webkit-backface-visibility: hidden; will-change: transform;}
.circle-gallery figure:nth-child(2n) {width: 270px; transform: rotate(5deg) translateY(24px);}
.circle-gallery figure:nth-child(3n) {width: 190px; transform: rotate(-8deg) translateY(-18px);}
.circle-gallery figure + figure {margin-left: -42px;}
.studio-page .circle-gallery figure img,
.about-page .circle-gallery figure img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: translate3d(0,0,0); backface-visibility: hidden; -webkit-backface-visibility: hidden; transition: none;}

.section-heading {max-width: 820px; margin: 0 auto 38px; text-align: center;}
.section-heading h2,
.studio-contact h2 {font-size: 58px; line-height: 66px; font-weight: 500; margin: 10px 0 16px;}
.section-heading p:last-child,
.studio-contact > p {color: #d7d7d7;}
.studio-plan {margin: 0 0 92px;}
.studio-plan figure {max-width: 560px; margin: 0 auto; padding: 26px; border-radius: 18px; background: #f4f1ed; box-shadow: 0 30px 80px rgba(0,0,0,0.36); opacity: 0; transform: translateY(36px); transition: opacity 700ms ease, transform 900ms cubic-bezier(0.16, 1, 0.3, 1);}
.studio-plan figure.is-visible {opacity: 1; transform: translateY(0);}
.gallery-trigger {display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; cursor: zoom-in; font: inherit;}
.fancybox-hidden {display: none;}
.fancybox__container {--fancybox-bg: rgba(0,0,0,0.92); --fancybox-color: #fff; font-family: 'Manrope', Arial, Helvetica, sans-serif;}
.fancybox__caption {font-size: 15px; line-height: 22px; color: rgba(255,255,255,0.86);}
.f-button {background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); color: #fff;}
.f-button:hover {background: rgba(255,255,255,0.14);}
.studio-plan .gallery-trigger {height: auto;}
.studio-page .studio-plan figure img {display: block; width: 100%; height: auto; transform: none; transition: none;}

.studio-features {--studio-card-image-height: clamp(330px, 38vw, 448px); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 58px 40px; margin: 0 0 118px;}
.studio-card {opacity: 0; transform: translateY(42px); transition: opacity 700ms ease, transform 900ms cubic-bezier(0.16, 1, 0.3, 1);}
.studio-card.is-visible {opacity: 1; transform: translateY(0);}
.studio-card.small {grid-column: span 2;}
.studio-card.large {grid-column: span 3;}
.studio-card.wide {grid-column: 1 / -1;}
.studio-card figure {height: var(--studio-card-image-height); overflow: hidden; border-radius: 18px; margin: 0 0 18px; background: #161616;}
.studio-card.small figure {aspect-ratio: 1 / 1;}
.studio-card figure img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.1); transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);}
.studio-card.is-visible figure img {transform: scale(1);}
.studio-card h3 {font-size: 25px; line-height: 32px; font-weight: 600; margin: 0 0 8px;}
.studio-card p {max-width: 620px; color: #d7d7d7; font-size: 17px; line-height: 28px;}

.studio-contact {max-width: 840px; margin: 0 auto; text-align: center; opacity: 0; transform: translateY(36px); transition: opacity 700ms ease, transform 900ms cubic-bezier(0.16, 1, 0.3, 1);}
.studio-contact.is-visible {opacity: 1; transform: translateY(0);}
.contact-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 38px 0 24px; text-align: left;}
.contact-grid div {padding: 24px; border: 1px solid #222; border-radius: 16px; background: rgba(255,255,255,0.035);}
.contact-grid span {display: block; margin: 0 0 10px; color: #9e9e9e; font-size: 13px; line-height: 1.3; text-transform: uppercase; letter-spacing: 0.12em;}
.contact-grid a,
.contact-grid p {font-size: 17px; line-height: 28px; color: #fff;}
.booking-note {max-width: 780px; margin: 60px auto 48px; text-align: center;}
.booking-note h3 {font-size: 24px; line-height: 31px; font-weight: 600; margin: 0 0 8px;}
.booking-icon {display: inline-block; width: 20px; height: 20px; margin: 0 7px 0 0; border: 2px solid #fff; border-radius: 4px; position: relative; top: 3px; box-sizing: border-box;}
.booking-icon:before {content: ''; position: absolute; left: -2px; right: -2px; top: 4px; height: 2px; background: #fff;}
.booking-icon:after {content: ''; position: absolute; left: 4px; top: -5px; width: 8px; height: 5px; border-left: 2px solid #fff; border-right: 2px solid #fff;}
.booking-note p {font-size: 20px; line-height: 32px; color: #fff;}
.booking-note + .btn {line-height: 58px; padding: 0 34px; font-size: 20px;}

.lightbox {position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; padding: 34px; box-sizing: border-box; opacity: 0; pointer-events: none; transition: opacity 240ms ease;}
.lightbox.is-open {opacity: 1; pointer-events: auto;}
.lightbox-backdrop {position: absolute; inset: 0; background: rgba(0,0,0,0.88); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);}
.lightbox-dialog {position: relative; z-index: 1; width: min(1180px, 100%); height: min(780px, calc(100svh - 68px)); display: grid; grid-template-columns: 58px minmax(0, 1fr) 58px; align-items: center; gap: 18px;}
.lightbox figure {grid-column: 2; min-width: 0; max-height: 100%; margin: 0; text-align: center;}
.lightbox img {display: block; max-width: 100%; max-height: calc(100svh - 150px); margin: 0 auto; border-radius: 18px; object-fit: contain; box-shadow: 0 34px 110px rgba(0,0,0,0.55);}
.lightbox.is-plan .lightbox-dialog {width: min(940px, 100%);}
.lightbox.is-plan img {width: min(780px, 92vw); max-height: calc(100svh - 130px); background: #f4f1ed;}
.lightbox figcaption {display: flex; justify-content: center; gap: 16px; padding: 16px 0 0; color: #fff; font-size: 16px; line-height: 24px;}
.lightbox-count {color: #bdbdbd;}
.lightbox-close,
.lightbox-nav {display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.055); color: #fff; cursor: pointer; transition: background-color 220ms ease, border-color 220ms ease, transform 220ms ease;}
.lightbox-close {position: absolute; top: 0; right: 0; width: 44px; height: 44px; border-radius: 50%; font-size: 28px; font-weight: 200; line-height: 1; z-index: 2; padding: 0;}
.lightbox-nav {width: 52px; height: 52px; border-radius: 50%; padding: 0;}
.lightbox-nav svg {width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;}
.lightbox-close:hover,
.lightbox-nav:hover {background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.34); transform: translateY(-1px);}
.lightbox.is-single .lightbox-nav,
.lightbox.is-single .lightbox-count {display: none;}
.lightbox.is-single .lightbox-dialog {grid-template-columns: minmax(0, 1fr);}
.lightbox.is-single figure {grid-column: 1;}

@keyframes studio-gallery-run {
  from {transform: translate3d(0,0,0);}
  to {transform: translate3d(-50%,0,0);}
}
/* End Studio Page
--------------------------------------------------------------------------------------------------*/

/* Contact Page
--------------------------------------------------------------------------------------------------*/
.contact-template .footer {margin-top: 0;}
.contact-page {max-width: 1180px; min-height: 720px; margin: 0 auto; padding: 190px 0 86px;}
.contact-hero {display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, 558px); gap: 24px; align-items: start;}
.contact-pill {display: block; margin: 0 0 22px; padding: 0; border-radius: 0; background: transparent; min-width: 0; min-height: 0; font-size: 15px; line-height: 1.4; color: #dadada; text-transform: uppercase; letter-spacing: 0.16em;}
.contact-info h1 {max-width: 680px; margin: 0 0 52px; font-size: 66px; line-height: 74px; font-weight: 600; letter-spacing: -0.03em;}
.contact-list {max-width: 470px;}
.contact-list-item {padding: 0 0 27px; margin: 0 0 27px; border-bottom: 1px solid rgba(255,255,255,0.12);}
.contact-list-item span {display: block; margin: 0 0 8px; color: rgba(255,255,255,0.72); font-size: 16px; line-height: 22px;}
.contact-list-item a,
.contact-list-item p {color: #fff; font-size: 18px; line-height: 27px;}
.contact-social-card {display: flex; align-items: center; gap: 16px; width: min(470px, 100%); min-height: 80px; padding: 0 26px; box-sizing: border-box; border-radius: 12px; background: rgba(255,255,255,0.06); color: #fff; transition: background-color 220ms ease, transform 220ms ease;}
.contact-social-card svg {width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;}
.contact-social-card span {font-size: 18px; line-height: 24px;}
.contact-social-card:hover {background: rgba(255,255,255,0.1); transform: translateY(-2px);}

.contact-form-card {margin-top: 72px; padding: 44px; border: 1px solid rgba(255,255,255,0.13); border-radius: 10px; background: rgba(255,255,255,0.065); box-sizing: border-box;}
.contact-form-card h2 {margin: 0 0 8px; font-size: 30px; line-height: 38px; font-weight: 500;}
.contact-form-card > p {max-width: 460px; margin: 0 0 46px; color: rgba(255,255,255,0.82); font-size: 17px; line-height: 27px;}
.contact-form {display: grid; gap: 24px;}
.contact-form .wpcf7-spinner {display: none;}
.contact-form .wpcf7-not-valid-tip {display: block; margin: 8px 0 0; color: #ffb4b4; font-size: 13px; line-height: 18px;}
.contact-form-card .wpcf7-response-output {margin: 18px 0 0; padding: 12px 14px; border: 1px solid rgba(255,255,255,0.18); border-radius: 8px; color: rgba(255,255,255,0.86); font-size: 14px; line-height: 21px;}
.form-row {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;}
.contact-form label {display: block;}
.contact-form label span {display: block; margin: 0 0 9px; color: rgba(255,255,255,0.8); font-size: 13px; line-height: 18px;}
.contact-form input,
.contact-form textarea {display: block; width: 100%; box-sizing: border-box; border: 1px solid rgba(255,255,255,0.05); border-radius: 8px; background: rgba(255,255,255,0.07); color: #fff; font: 500 15px/22px 'Manrope', Arial, Helvetica, sans-serif; transition: border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease;}
.contact-form input {height: 40px; padding: 0 13px;}
.contact-form textarea {height: 150px; min-height: 150px; padding: 12px 13px; resize: vertical;}
.contact-form input::placeholder,
.contact-form textarea::placeholder {color: rgba(255,255,255,0.42); opacity: 1;}
.contact-form input:focus,
.contact-form textarea:focus {border-color: rgba(255,255,255,0.34); background: rgba(255,255,255,0.1); box-shadow: 0 0 0 3px rgba(255,255,255,0.06);}
.contact-submit {width: 100%; margin: 21px 0 0; border: 0; line-height: 40px; border-radius: 8px; font-size: 16px; text-align: center;}
.contact-consent {margin: -4px 0 0; color: rgba(255,255,255,0.72); font-size: 13px; line-height: 20px;}
.contact-consent .wpcf7-form-control-wrap {display: block;}
.contact-consent .wpcf7-list-item {display: block; margin: 0;}
.contact-consent label {display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start;}
.contact-consent input[type="checkbox"] {width: 16px; height: 16px; margin: 2px 0 0; accent-color: #fff;}
.contact-consent .wpcf7-list-item-label {display: block; margin: 0; color: rgba(255,255,255,0.72); font-size: 13px; line-height: 20px;}
.contact-consent a {color: #fff; text-decoration: underline; text-underline-offset: 3px;}
.contact-consent a:hover {text-decoration: none;}
.contact-submit:disabled,
.contact-submit.is-disabled {cursor: not-allowed; opacity: 0.48; transform: none; box-shadow: none;}
.contact-submit:disabled:before,
.contact-submit.is-disabled:before {display: none;}
/* End Contact Page
--------------------------------------------------------------------------------------------------*/

/* About Page
--------------------------------------------------------------------------------------------------*/
.about-page {max-width: 1180px; margin: 0 auto; padding: 170px 0 118px;}
.about-intro {max-width: 900px; margin: 0 auto 34px; text-align: center;}
.about-intro h1 {margin: 14px 0 22px; font-size: 74px; line-height: 80px; font-weight: 500; letter-spacing: -0.035em;}
.about-intro p:last-child {max-width: 850px; margin: 0 auto; color: #d7d7d7;}
.about-gallery {margin: -8px 0 112px;}
.about-gallery .circle-gallery-track {animation-duration: 40s;}
.about-copy {max-width: 850px; margin: 0 auto 92px; text-align: center;}
.about-copy h2 {margin: 0 0 18px; font-size: 52px; line-height: 60px; font-weight: 500; letter-spacing: -0.025em;}
.about-copy p {margin: 0 auto 18px; color: #d7d7d7;}

.about-spec-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; margin: 0 0 108px;}
.about-spec-grid article {opacity: 0; transform: translateY(42px); transition: opacity 700ms ease, transform 900ms cubic-bezier(0.16, 1, 0.3, 1);}
.about-spec-grid article.is-visible {opacity: 1; transform: translateY(0);}
.about-spec-grid figure {height: 360px; margin: 0 0 20px; border-radius: 18px; overflow: hidden; background: #151515;}
.about-spec-grid figure img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.12); transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);}
.about-spec-grid article.is-visible figure img,
.about-spec-grid article:hover figure img {transform: scale(1);}
.about-spec-grid h3 {margin: 0 0 9px; font-size: 27px; line-height: 34px; font-weight: 600;}
.about-spec-grid p {max-width: 520px; color: #d7d7d7; font-size: 17px; line-height: 28px;}

.about-details {display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; margin: 0 0 42px; padding: 44px; border: 1px solid rgba(255,255,255,0.12); border-radius: 18px; background: rgba(255,255,255,0.055);}
.about-details h2 {margin: 10px 0 0; font-size: 43px; line-height: 51px; font-weight: 500; letter-spacing: -0.025em;}
.about-details ul {display: grid; gap: 16px;}
.about-details li {position: relative; padding: 0 0 0 24px; color: #dedede; font-size: 17px; line-height: 28px;}
.about-details li:before {content: ''; position: absolute; left: 0; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: #fff;}

.about-addons {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0 0 104px;}
.about-addons article {padding: 26px; border: 1px solid #222; border-radius: 16px; background: rgba(255,255,255,0.035);}
.about-addons span {display: block; margin: 0 0 16px; color: #9e9e9e; font-size: 13px; line-height: 1.3; text-transform: uppercase; letter-spacing: 0.12em;}
.about-addons h3 {margin: 0 0 10px; font-size: 25px; line-height: 32px; font-weight: 600;}
.about-addons p {color: #d7d7d7; font-size: 16px; line-height: 27px;}

.about-equipment {margin: 0 0 112px;}
.about-equipment-list {display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 920px; margin: 0 auto;}
.about-equipment-list span {display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border: 1px solid rgba(255,255,255,0.12); border-radius: 999px; background: rgba(255,255,255,0.055); color: #fff; font-size: 15px; line-height: 21px;}
.about-contact {margin-top: 0; opacity: 1; transform: none;}
.ebc-rules span {line-height: 19px;}
.ebc-rules span a {text-decoration: underline;}
.ebc-rules span a:hover {text-decoration: none;}
.ebc-order-booking-details {margin-top: 40px;}
.bank-details-info {}
.bank-details-info h2 {padding: 0 0 10px; font-size: 18px; font-weight: bold;}
.bank-details-info p {padding-bottom: 20px;}
.ebc-card__price {padding-top: 10px;}
.dev {font-size: 13px;}
.dev a {color: #2e2e2e; position: relative; transition: all 260ms ease;}
.dev a:hover {color: #ccc;}
.dev a:after {content: ''; height: 1px; width: 100%; position: absolute; bottom: -3px; left: 0; background: #fff; transform: scaleX(0); transform-origin: left center; transition: transform 260ms ease;}
.dev a:hover:after {transform: scaleX(1);}
.qre8-light-theme .dev a {color: #ccc;}
.qre8-light-theme .dev a:hover {color: #2e2e2e;}
.dev a:hover:after {color: #000;}
.woocommerce ul.order_details:before {display: none;}
/* End About Page
--------------------------------------------------------------------------------------------------*/



/* mobile styles */
@media (max-width: 1400px) {
  .content {margin-top: -8vh;}
}

@media (max-width: 1180px) {
  .header {padding: 26px 34px;}
  .content {width: calc(100% - 64px); max-width: 940px;}
  .about-page {width: calc(100% - 64px); max-width: 940px; padding-top: 150px;}
  .about-intro h1 {font-size: 62px; line-height: 68px;}
  .about-spec-grid {gap: 28px;}
  .about-spec-grid figure {height: 300px;}
  .about-details {grid-template-columns: 1fr; gap: 30px;}
  .about-addons {grid-template-columns: 1fr;}
  .contact-page {width: calc(100% - 64px); max-width: 940px; padding-top: 160px;}
  .contact-hero {grid-template-columns: 1fr; gap: 48px;}
  .contact-form-card {margin-top: 0;}
  .contact-info h1 {max-width: 760px;}
  .studio-page {max-width: 940px;}
  .studio-intro h1 {font-size: 66px; line-height: 72px;}
  .section-heading h2,
  .studio-contact h2 {font-size: 50px; line-height: 58px;}
  .circle-gallery figure {width: 190px;}
  .circle-gallery figure:nth-child(2n) {width: 230px;}
  .circle-gallery figure:nth-child(3n) {width: 170px;}
  .hero-copy h1 {font-size: 96px; line-height: 96px;}
  .block-first h2,
  .block-two .col h2 {font-size: 54px; line-height: 62px;}
  .block-about p,
  .block-book p {font-size: 50px; line-height: 60px;}
  .block-two figure {width: 44vw; min-width: 420px;}
}

@media (max-width: 980px) {
  .header {grid-template-columns: auto 1fr; padding: 18px 24px;}
  .header > .nav,
  .header > .holder > .social-link,
  .header > .holder > .language-switcher {display: none;}
  .header .holder {gap: 12px;}
  .menu-toggle {display: inline-flex;}
  .mobile-menu {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: fixed;
    top: 0;
    right: 0;
    width: min(420px, 86vw);
    height: 100svh;
    padding: 110px 32px 34px;
    box-sizing: border-box;
    background: rgba(0,0,0,0.94);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    box-shadow: -24px 0 60px rgba(0,0,0,0.42);
    transform: translateX(105%);
    opacity: 0;
    pointer-events: none;
    transition: transform 340ms cubic-bezier(0.16, 1, 0.3, 1), opacity 260ms ease;
    z-index: 1;
  }
  .header.menu-open .mobile-menu {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-nav li {font-size: 34px; line-height: 1.15; font-weight: 500; margin: 0 0 24px;}
  .mobile-nav a {position: relative; color: #fff;}
  .mobile-nav a:before {content: ''; height: 1px; width: 100%; position: absolute; bottom: -6px; left: 0; background: #fff; transform: scaleX(0); transform-origin: left center; transition: transform 260ms ease;}
  .mobile-nav a:hover:before {transform: scaleX(1);}
  .mobile-socials {display: flex; align-items: center; gap: 10px; margin: 6px 0 16px -11px;}
  .mobile-socials .social-link {width: 44px; height: 44px; margin-left: 0;}
  .mobile-socials .social-link--instagram {--social-icon-size: 27px;}
  .mobile-socials .social-link--tiktok {--social-icon-size: 33px;}
  .mobile-socials .social-link--youtube {--social-icon-size: 34px;}
  .mobile-menu .language-switcher {width: max-content; margin: 0;}

  .scroll-stage {height: 220vh;}
  .hero-copy {inset: 120px 0 8vh;}
  .hero-copy h1 {font-size: 70px; line-height: 72px;}
  .btn-holder {padding: 76px 0 0;}

  .content {width: calc(100% - 48px); padding: 90px 0;}
  .about-page {width: calc(100% - 48px); padding: 132px 0 90px;}
  .about-intro {text-align: left; margin-bottom: 26px;}
  .about-intro h1 {font-size: 52px; line-height: 58px;}
  .about-gallery {margin-bottom: 86px;}
  .about-copy {text-align: left; margin-bottom: 72px;}
  .about-copy h2 {font-size: 42px; line-height: 50px;}
  .about-spec-grid {grid-template-columns: 1fr; margin-bottom: 82px;}
  .about-spec-grid figure {height: auto; aspect-ratio: 16 / 10;}
  .about-details {padding: 34px;}
  .about-equipment {margin-bottom: 84px;}
  .contact-page {width: calc(100% - 48px); padding: 138px 0 70px;}
  .error-page {padding: 138px 24px 86px;}
  .error-hero__code {margin-bottom: -18px;}
  .error-hero h1 {font-size: 52px; line-height: 59px;}
  .error-hero p:not(.studio-kicker) {font-size: 18px; line-height: 30px;}
  .legal-page {width: calc(100% - 48px); padding: 136px 0 86px;}
  .legal-hero {margin-bottom: 42px; text-align: left;}
  .legal-hero h1 {font-size: 56px; line-height: 62px;}
  .legal-content {padding: 38px; font-size: 16px; line-height: 1.7;}
  .legal-content h1 {font-size: 34px; line-height: 42px;}
  .legal-content h2 {font-size: 29px; line-height: 37px;}
  .legal-content h3 {font-size: 22px; line-height: 30px;}
  .contact-info h1 {margin-bottom: 42px; font-size: 56px; line-height: 63px;}
  .contact-list {max-width: none;}
  .contact-social-card {width: 100%;}
  .contact-form-card {padding: 34px;}
  .hero-section + .content {margin-top: -38vh;}
  .studio-page {padding-top: 86px;}
  .studio-intro {margin-bottom: 46px; padding-top: 88px;}
  .studio-intro h1 {font-size: 56px; line-height: 62px;}
  .circle-gallery {margin-bottom: 88px; padding-bottom: 52px;}
  .studio-plan {margin-bottom: 76px;}
  .studio-features {gap: 46px 24px; margin-bottom: 90px;}
  .studio-card h3 {font-size: 23px; line-height: 30px;}
  .contact-grid {grid-template-columns: 1fr; text-align: center;}
  body.qre8-booking-flow .woocommerce-ew_wise-bank-details {padding: 22px; border-radius: 14px;}
  body.qre8-booking-flow .woocommerce-ew_wise-bank-details-heading {font-size: 24px; line-height: 30px;}
  body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details {grid-template-columns: 1fr;}
  body.qre8-booking-flow .woocommerce-ew_wise-bank-details .ew_wise_details strong {overflow-wrap: anywhere;}
  body.qre8-booking-flow .ebc-order-booking-details .woocommerce-order-details__title {font-size: 23px; line-height: 29px;}
  body.qre8-booking-flow .ebc-order-booking-details .shop_table th,
  body.qre8-booking-flow .ebc-order-booking-details .shop_table td {display: block; width: 100% !important; padding: 12px 16px !important;}
  body.qre8-booking-flow .ebc-order-booking-details .shop_table th {padding-bottom: 3px !important; border-bottom: 0 !important;}
  body.qre8-booking-flow .ebc-order-booking-details .shop_table td {padding-top: 0 !important;}
  .block-first h2,
  .block-two .col h2 {font-size: 46px; line-height: 54px;}
  .block-about {padding: 120px 0; display: block;}
  .block-about p,
  .block-book p {font-size: 44px; line-height: 54px;}
  .block-two,
  .block-two.rev {flex-direction: column; align-items: stretch; gap: 28px; margin: 0 0 120px;}
  .block-two .col {order: 1;}
  .block-two figure {order: 2; width: 100%; min-width: 0;}
  .footer .line {font-size: 84px;}
  .footer-holder {padding: 38px 32px;}
  .footer .sub {margin: 0 32px;}
}

@media (max-width: 640px) {
  .video-shell .video-desktop {display: none;}
  .video-shell .video-mobile {display: block;}
  .footer .sub {display: block; text-align: center;}
  .footer .sub .dev {padding-top: 30px;}
}

@media (max-width: 640px) {
  .header {padding: 16px 18px;}
  .header .logo {width: auto;}
  .header .logo img {width: 112px; height: auto;}
  .header .holder {gap: 8px;}
  .social-link {width: 38px; height: 38px;}
  .social-link svg {width: var(--social-icon-size, 24px); height: var(--social-icon-size, 24px);}
  .social-link--instagram {--social-icon-size: 21px;}
  .social-link--tiktok {--social-icon-size: 26px;}
  .social-link--youtube {--social-icon-size: 27px;}
  .header .btn.medium {line-height: 40px; padding: 0 16px; font-size: 14px;}
  .menu-toggle {width: 42px; height: 42px;}
  .menu-toggle span {left: 12px;}
  .menu-toggle span:first-child {top: 16px;}
  .menu-toggle span:last-child {top: 24px;}
  .header.menu-open .menu-toggle span:first-child,
  .header.menu-open .menu-toggle span:last-child {top: 20px;}
  .mobile-menu {width: 100vw; padding: 104px 24px 30px;}
  .mobile-nav li {font-size: 30px; margin: 0 0 22px;}

  .scroll-stage {height: auto; padding: 96px 0 60px;}
  .hero-pin {position: relative; top: auto; display: block; height: auto; overflow: visible;}
  .hero-pin::before {opacity: 0.4;}
  .hero-pin::after {height: 72%; opacity: 1;}
  .hero-copy {inset: 74px 0 auto; padding: 0 18px; opacity: 1; transform: none; transition: none;}
  .hero-copy h1 {font-size: 50px; line-height: 54px; opacity: 0.72;}
  .btn-holder {padding: 32px 0 0;}
  .hero-copy .btn {line-height: 48px; font-size: 16px; padding: 0 24px;}
  .video-shell {width: calc(100% - 32px); height: min(70svh, 600px); margin: 0 auto; border-radius: 22px; transform: none; transition: none; box-shadow: 0 28px 80px rgba(0,0,0,0.45);}
  .video-shell video {transform: none; filter: none; transition: none;}

  .content {width: calc(100% - 32px); padding: 72px 0;}
  .about-page {width: calc(100% - 32px); padding: 116px 0 74px;}
  .about-intro h1 {font-size: 40px; line-height: 46px;}
  .about-intro p:last-child,
  .about-copy p {font-size: 16px; line-height: 27px;}
  .about-gallery {margin-bottom: 68px;}
  .about-copy {margin-bottom: 58px;}
  .about-copy h2 {font-size: 34px; line-height: 41px;}
  .about-spec-grid {gap: 42px; margin-bottom: 66px;}
  .about-spec-grid h3 {font-size: 23px; line-height: 30px;}
  .about-spec-grid p,
  .about-details li,
  .about-addons p {font-size: 16px; line-height: 27px;}
  .about-details {padding: 24px; border-radius: 14px;}
  .about-details h2 {font-size: 31px; line-height: 38px;}
  .about-addons {margin-bottom: 68px;}
  .about-addons article {padding: 22px;}
  .about-equipment-list {display: grid; grid-template-columns: 1fr; gap: 10px;}
  .about-equipment-list span {justify-content: center; text-align: center; border-radius: 14px; padding: 12px 16px;}
  .contact-page {width: calc(100% - 32px); padding: 124px 0 58px;}
  .error-page {min-height: auto; padding: 124px 18px 72px;}
  .error-hero {text-align: left;}
  .error-hero:before {width: 420px; height: 420px; opacity: 0.82;}
  .error-hero__code {margin: 0 0 -8px; font-size: 142px; line-height: 0.9;}
  .error-hero__content {margin: 0;}
  .error-hero h1 {font-size: 38px; line-height: 45px;}
  .error-hero p:not(.studio-kicker) {margin: 0; font-size: 16px; line-height: 27px;}
  .error-hero__actions {justify-content: flex-start; flex-wrap: wrap; gap: 18px; margin-top: 30px;}
  .error-hero__actions .btn {line-height: 46px; padding: 0 22px; font-size: 16px;}
  .legal-page {width: calc(100% - 32px); padding: 124px 0 68px;}
  .legal-hero {margin-bottom: 30px;}
  .legal-kicker {margin-bottom: 14px; font-size: 12px; line-height: 17px;}
  .legal-hero h1 {font-size: 42px; line-height: 48px;}
  .legal-content-wrap {border-radius: 14px;}
  .legal-content {padding: 24px; border-radius: 13px; font-size: 15px; line-height: 1.68;}
  .legal-content h1 {margin-bottom: 22px; font-size: 29px; line-height: 36px;}
  .legal-content h2 {margin: 34px 0 14px; font-size: 25px; line-height: 32px;}
  .legal-content h3 {margin: 28px 0 12px; font-size: 20px; line-height: 28px;}
  .legal-content h4 {font-size: 17px; line-height: 25px;}
  .legal-content p,
  .legal-content ul,
  .legal-content ol,
  .legal-content table,
  .legal-content blockquote {margin-bottom: 17px;}
  .legal-content table {display: block; overflow-x: auto;}
  .legal-content th,
  .legal-content td {padding: 12px 14px;}
  .contact-hero {gap: 36px;}
  .contact-pill {margin-bottom: 18px;}
  .contact-info h1 {margin-bottom: 34px; font-size: 42px; line-height: 48px;}
  .contact-list-item {padding-bottom: 22px; margin-bottom: 22px;}
  .contact-list-item a,
  .contact-list-item p {font-size: 16px; line-height: 25px;}
  .contact-social-card {min-height: 70px; padding: 0 20px;}
  .contact-form-card {padding: 24px; border-radius: 12px;}
  .contact-form-card h2 {font-size: 26px; line-height: 34px;}
  .contact-form-card > p {margin-bottom: 32px; font-size: 16px; line-height: 26px;}
  .form-row {grid-template-columns: 1fr;}
  .contact-form textarea {height: 142px; min-height: 142px;}
  .hero-section + .content {margin-top: 0;}
  .studio-page {padding-top: 58px;}
  .studio-intro {text-align: left; margin-bottom: 38px; padding-top: 124px;}
  .studio-intro h1 {font-size: 42px; line-height: 48px;}
  .studio-kicker {font-size: 12px;}
  .circle-gallery {margin-bottom: 70px; padding: 28px 0 46px;}
  .circle-gallery:before,
  .circle-gallery:after {width: 7%;}
  .circle-gallery-track {gap: 0; animation-duration: 34s;}
  .circle-gallery figure {width: 150px; border-radius: 16px;}
  .circle-gallery figure:nth-child(2n) {width: 180px; transform: rotate(5deg) translateY(16px);}
  .circle-gallery figure:nth-child(3n) {width: 130px; transform: rotate(-8deg) translateY(-12px);}
  .circle-gallery figure + figure {margin-left: -28px;}
  .section-heading {text-align: left; margin-bottom: 28px;}
  .section-heading h2,
  .studio-contact h2 {font-size: 36px; line-height: 42px;}
  .studio-plan {margin-bottom: 64px;}
  .studio-plan figure {padding: 16px; border-radius: 14px;}
  .studio-features {display: block; margin-bottom: 76px;}
  .studio-card {margin-bottom: 42px;}
  .studio-card.small,
  .studio-card.large,
  .studio-card.wide {grid-column: auto;}
  .studio-card figure,
  .studio-card.large figure,
  .studio-card.wide figure {height: auto; aspect-ratio: 1 / 1; border-radius: 16px;}
  .studio-card h3 {font-size: 22px; line-height: 29px;}
  .studio-card p {font-size: 16px; line-height: 27px;}
  .studio-contact {text-align: left;}
  .contact-grid {margin: 30px 0 22px;}
  .booking-note h3 {font-size: 21px; line-height: 28px;}
  .booking-note p {font-size: 17px; line-height: 28px;}
  .studio-contact .btn {display: table; margin-left: auto; margin-right: auto;}
  .lightbox {padding: 18px;}
  .lightbox-dialog {height: calc(100svh - 36px); grid-template-columns: 1fr; gap: 12px;}
  .lightbox img {max-height: calc(100svh - 148px); border-radius: 14px;}
  .lightbox.is-plan img {width: min(100%, 520px); max-height: calc(100svh - 128px);}
  .lightbox figcaption {font-size: 14px; line-height: 21px; padding-top: 12px;}
  .lightbox-close {top: 0; right: 0; width: 42px; height: 42px; font-size: 27px;}
  .lightbox-nav {position: absolute; top: 50%; width: 44px; height: 44px; transform: translateY(-50%);}
  .lightbox-nav svg {width: 22px; height: 22px;}
  .lightbox-prev {left: 8px;}
  .lightbox-next {right: 8px;}
  .lightbox-nav:hover {transform: translateY(-50%);}
  .block-first h2,
  .block-two .col h2 {font-size: 36px; line-height: 43px;}
  .block-first p,
  .block-two .col p {font-size: 16px; line-height: 27px;}
  .block-first p br {display: none;}
  .block-first figure {max-height: none; aspect-ratio: 1 / 1; border-radius: 18px;}
  .block-about {padding: 90px 0;}
  .block-about p,
  .block-book p {font-size: 34px; line-height: 42px;}
  .block-about .holder {margin: 28px 0 0;}
  .block-two,
  .block-two.rev {gap: 24px; margin: 0 0 92px;}
  .block-two figure {border-radius: 18px;}
  .footer .line {font-size: 58px;}
  .footer-holder {display: block;}
  .widget-holder {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 20px 0 28px;}
  .menu-widget {margin: 0;}
  .footer-holder {padding: 34px 24px;}
  .footer .sub {margin: 0 24px;}
  .home-content {padding-top: 20px;}
}

@media (max-width: 375px) {
  .header .logo img {width: 106px;}
  .header .holder {gap: 6px;}
  .social-link {width: 34px; height: 34px;}
  .social-link svg {width: var(--social-icon-size, 22px); height: var(--social-icon-size, 22px);}
  .social-link + .social-link {margin-left: -8px;}
  .social-link--instagram {--social-icon-size: 20px;}
  .social-link--tiktok {--social-icon-size: 24px;}
  .social-link--youtube {--social-icon-size: 25px;}
  .header .btn.medium {display: inline-flex; align-items: center; gap: 6px; min-width: 0; min-height: 36px; line-height: 36px; padding: 0 11px; border-radius: 999px; font-size: 13px; white-space: nowrap;}
  .menu-toggle {width: 38px; height: 38px; flex: 0 0 38px;}
  .menu-toggle span {left: 11px; width: 16px;}
  .menu-toggle span:first-child {top: 15px;}
  .menu-toggle span:last-child {top: 23px;}
  .header.menu-open .menu-toggle span:first-child,
  .header.menu-open .menu-toggle span:last-child {top: 19px;}
}
