/*!
Theme Name: main
Theme URI: http://underscores.me/
Author: Sukhdev
Author URI: http://underscores.me/
Description: Custom WooCommerce Theme
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: main-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

main is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}
.phone-num a {
    color: #fff;
    text-decoration: none;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}



/* header css */
 * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  @import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500&family=Inter:wght@300;400&display=swap");

  .header-wrap {
    width: 100%;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);
    position: relative;
    z-index: 100;
	position:absolute;
  }

  .logo {
    width: 40px;
    height: 40px;
    border: 1.5px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn 1s ease forwards;
  }
  .logo svg {
    width: 18px;
    height: 18px;
    fill: white;
  }

  .nav {
    display: flex;
    align-items: center;
    gap: 2rem;
  }

  .nav-item {
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.04em;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    opacity: 0;
    animation: slideDown 0.6s ease forwards;
    transition: color 0.2s;
  }
  .nav-item:hover {
    color: #fff;
  }

  .nav-item:nth-child(1) {
    animation-delay: 0.2s;
  }
  .nav-item:nth-child(2) {
    animation-delay: 0.35s;
  }
  .nav-item:nth-child(3) {
    animation-delay: 0.5s;
  }

  .nav-item .close-x {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.5);
  }

  .nav-item .menu-icon {
    display: flex;
    flex-direction: column;
    gap: 3px;
  }
  .nav-item .menu-icon span {
    width: 14px;
    height: 1px;
    background: rgba(255, 255, 255, 0.7);
    display: block;
  }

  .nav-item .insta-icon {
    font-size: 16px;
  }

  .cta-btn {
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #0a0a0a;
    background: white;
    border: none;
    padding: 10px 22px;
    cursor: pointer;
    letter-spacing: 0.04em;
    opacity: 0;
    animation: slideDown 0.6s ease 0.65s forwards;
    transition:
      background 0.2s,
      color 0.2s;
  }
  .cta-btn:hover {
    background: #ddd;
  }

  /* Mobile hamburger - hidden on desktop */
  .hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 4px;
  }
  .hamburger span {
    width: 20px;
    height: 1px;
    background: rgba(255, 255, 255, 0.85);
    display: block;
  }

.menu-links {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  .menu-link {
    font-family: "Playfair Display", serif;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 400;
    color: white;
    cursor: pointer;
    line-height: 1.1;
    opacity: 0;
    transform: translateY(20px);
    animation: menuItemIn 0.5s ease forwards;
    transition: opacity 0.2s;
  }
  .menu-link:hover {
    opacity: 0.6;
  }
  .menu-link:nth-child(1) {
    animation-delay: 0.1s;
  }
  .menu-link:nth-child(2) {
    animation-delay: 0.2s;
  }
  .menu-link:nth-child(3) {
    animation-delay: 0.3s;
  }
  .menu-link:nth-child(4) {
    animation-delay: 0.4s;
  }
  .menu-link:nth-child(5) {
    animation-delay: 0.5s;
  }

  .menu-right {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    padding-top: 0.5rem;
    gap: 1.5rem;
  }

  .call-label {
    font-family: "Inter", sans-serif;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .phone-num {
    font-family: "Playfair Display", serif;
    font-size: clamp(1.8rem, 3.5vw, 3.2rem);
    color: white;
    font-weight: 400;
    opacity: 0;
    animation: menuItemIn 0.6s ease 0.5s forwards;
  }

  .star-icon {
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.5rem;
    animation: spin 8s linear infinite;
    display: inline-block;
  }

  .close-btn {
    border: 0.5px solid rgba(255, 255, 255, 0.3);
    width: 52px;
    height: 52px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    gap: 2px;
    background: transparent;
    transition: border-color 0.2s;
    opacity: 0;
    animation: menuItemIn 0.4s ease 0.2s forwards;
  }
  .close-btn:hover {
    border-color: white;
  }
  .close-btn-x {
    font-size: 22px;
    color: white;
    line-height: 1;
    font-weight: 300;
    font-family: "Inter", sans-serif;
  }
  .close-btn-label {
    font-size: 9px;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.08em;
    font-family: "Inter", sans-serif;
    text-transform: uppercase;
  }
.menu-panel{
    position: fixed;
    top: 0px;
    left: 0;
    width: 100%;
    height: calc(115vh - 90px);

background:#0B131C;
	padding:11rem 2rem;
    display:flex;
    justify-content:space-between;
    z-index:10;
    border-top:.5px solid rgba(255,255,255,.08);
    opacity:0;
    transform:translateY(-40px);

    overflow:hidden;
}


.menu-link{
    opacity:0;
    transform:translateY(50px);
    animation:menuItemIn .6s forwards;
}
.menu-link{
    opacity:0;
    transform:translateY(60px);
}

.menu-link.animate{
    animation: menuItemIn .7s cubic-bezier(.22,.61,.36,1) forwards;
}
div#menuPanel {
    display: flex;
    justify-content: space-between;
}
/* ================= MENU ICON ================= */

.menu-icon{
    position:relative;
    width:16px;
    height:14px;
    display:inline-block;
    margin-left:8px;
    cursor:pointer;
}

.menu-icon span{
    position:absolute;
    left:0;
    width:16px;
    height:1.5px;
    background:rgba(255,255,255,.8);
    transition:all .35s ease;
    transform-origin:center;
}

.menu-icon span:nth-child(1){
    top:0;
}

.menu-icon span:nth-child(2){
    top:6px;
}

.menu-icon span:nth-child(3){
    top:12px;
}

/* ================= ACTIVE (X) ================= */

.menu-icon.active span:nth-child(1){
    top:6px;
    transform:rotate(45deg);
}

.menu-icon.active span:nth-child(2){
    opacity:0;
}

.menu-icon.active span:nth-child(3){
    top:6px;
    transform:rotate(-45deg);
}
body.menu-open{
    overflow: hidden;
    height: 100vh;
}
/* ================= MENU ================= */

.main-menu{
    list-style:none;
    margin:0;
    padding:0;

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

.main-menu li{
    list-style:none;
    margin:0;
    padding:0;
}

.main-menu li a{
display:inline-block;
   font-family:"Noto Serif Display","Noto Serif Display Placeholder",serif;
    font-size:50px;
    font-weight:400;
    line-height:1.05;

    color:#fff;
    text-decoration:none;

    opacity:0;
    transform:translateY(60px);

    animation:menuItemIn .45s cubic-bezier(.22,.61,.36,1) forwards;

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

.main-menu li a:hover{
    opacity:.6;
}

/* Animation Delay */

.main-menu li:nth-child(1) a{
    animation-delay:.05s;
}

.main-menu li:nth-child(2) a{
    animation-delay:.10s;
}

.main-menu li:nth-child(3) a{
    animation-delay:.15s;
}

.main-menu li:nth-child(4) a{
    animation-delay:.20s;
}

.main-menu li:nth-child(5) a{
    animation-delay:.25s;
}

.main-menu li:nth-child(6) a{
    animation-delay:.30s;
}

.main-menu li:nth-child(7) a{
    animation-delay:.35s;
}

/* Bottom → Top Animation */

@keyframes menuItemIn{

    from{
        opacity:0;
        transform:translateY(60px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}
  /* Animations */
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  /* CHANGED: bottom to top panel animation */
  @keyframes panelDown {
    from {
      opacity: 0;
      transform: translateY(-40px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes menuItemIn {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  .hidden {
    display: none !important;
  }
  .toggle-target {
    cursor: pointer;
  }

/* footer css */
  footer {
        position: relative;
        padding: 48px 52px 0;
        background: #0B131C;
      }

      /* ── GRID LINES OVERLAY (always rendered, revealed by mask) ── */
      .grid-lines {
        position: absolute;
        inset: 0;
        pointer-events: none;
        z-index: 10;
        color: rgba(226, 221, 212, 0.55);

        background-image:
        /* Vertical lines at column boundaries */
          linear-gradient(
            to right,
            transparent 0%,
            transparent 33.33%,
            currentcolor 33.33%,
            currentcolor calc(33.33% + 1px),
            transparent calc(33.33% + 1px)
          ),
          linear-gradient(
            to right,
            transparent 0%,
            transparent 66.66%,
            currentcolor 66.66%,
            currentcolor calc(66.66% + 1px),
            transparent calc(66.66% + 1px)
          ),
          /* Horizontal lines */
          linear-gradient(
              transparent 0%,
              transparent 18%,
              currentcolor 18%,
              currentcolor calc(18% + 1px),
              transparent calc(18% + 1px)
            ),
          linear-gradient(
            transparent 0%,
            transparent 38%,
            currentcolor 38%,
            currentcolor calc(38% + 1px),
            transparent calc(38% + 1px)
          ),
          linear-gradient(
            transparent 0%,
            transparent 58%,
            currentcolor 58%,
            currentcolor calc(58% + 1px),
            transparent calc(58% + 1px)
          ),
          linear-gradient(
            transparent 0%,
            transparent 80%,
            currentcolor 80%,
            currentcolor calc(80% + 1px),
            transparent calc(80% + 1px)
          ),
          linear-gradient(
            transparent 0%,
            transparent 94%,
            currentcolor 94%,
            currentcolor calc(94% + 1px),
            transparent calc(94% + 1px)
          );

        background-repeat: no-repeat;
        background-size: 100% 100%;

        opacity: 0;
        mask-image: radial-gradient(
          0px circle at 50% 50%,
          black 0%,
          transparent 0%
        );
        -webkit-mask-image: radial-gradient(
          0px circle at 50% 50%,
          black 0%,
          transparent 0%
        );
        transition: opacity 0.4s ease;
      }
      #compass-cursor{
    opacity:0;
    transition:opacity .25s ease, transform .08s ease;
}
      /* ── TOP ROW ── */
      .footer-top-row {
        padding-bottom: 56px;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
      }

      .footer-logo {
        display: flex;
        flex-direction: column;
        line-height: 1;
       width:120px;
      }
      .logo-mark {
        font-family: "EB Garamond", serif;
        font-size: 34px;
        font-weight: 400;
        letter-spacing: 0.22em;
        color: #e2ddd4;
      }
      .logo-sub {
        font-family: "Inter", sans-serif;
        font-size: 7.5px;
        letter-spacing: 0.55em;
        font-weight: 300;
        color: #e2ddd4;
        margin-top: 5px;
        text-transform: uppercase;
      }

      .footer-address {
        font-family: "EB Garamond", serif;
        font-size: 28px;
        font-weight: 400;
        line-height: 1.3;
        color: #e2ddd4;
        font-style: normal;
      }

      .compass-icon {
        width: 38px;
        height: 38px;
        margin-top: 4px;
      }

      /* ── MAIN GRID ── */
      .footer-main {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        padding-bottom: 80px;
      }

      .col-label {
        font-family: "Inter", sans-serif;
        font-size: 16px;
        font-weight: 300;
        color: #8a8680;
        margin-bottom: 18px;
      }

      .footer-col a,
      .footer-phone {
        display: block;
        font-size: 36px;
        font-family:"Noto Serif Display","Noto Serif Display Placeholder",serif;
        font-weight: 400;
        color: #e2ddd4;
        text-decoration: none;
        line-height: 1.25;
        letter-spacing: 0.01em;
        transition: opacity 0.2s;
      }
      .footer-col a:hover {
        opacity: 0.6;
      }

      .footer-phone {
        margin-bottom: 32px;
      }
      .section-gap {
        margin-top: 36px;
      }

      .hours-text {
        font-family: "Inter", sans-serif;
        font-size: 16px;
        font-weight: 300;
        line-height: 1.9;
        color: #e2ddd4;
      }

      /* ── BOTTOM BAR ── */
      .footer-bottom {
        border-top: 1px solid rgba(226, 221, 212, 0.15);
        padding: 20px 0 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
      }

      .footer-legal {
        display: flex;
        gap: 28px;
      }
      .footer-legal a {
        font-size: 11px;
        font-weight: 300;
        color: #8a8680;
        text-decoration: none;
        letter-spacing: 0.02em;
        transition: color 0.2s;
      }
      .footer-legal a:hover {
        color: #e2ddd4;
      }

      .footer-copy {
        font-size: 11px;
        font-weight: 300;
        color: #8a8680;
        letter-spacing: 0.02em;
      }
      .footer-col ul {
    margin: 0;
    list-style: none;
}
      .footer-icons {
        display: flex;
        gap: 12px;
        align-items: center;
      }
      .icon-btn {
        width: 32px;
        height: 32px;
        border: 1px solid rgba(226, 221, 212, 0.25);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0.6;
        cursor: pointer;
        transition: opacity 0.2s;
      }
      .icon-btn:hover {
        opacity: 1;
      }
      .icon-btn svg {
        width: 14px;
        height: 14px;
      }
      .luxury-contact-form{
    width:100%;
}
.container-footer {
    max-width: 550px;
    margin: 0 auto;
}
.luxury-contact-form .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.luxury-contact-form input[type="text"],
.luxury-contact-form input[type="email"],
.luxury-contact-form input[type="tel"],
.luxury-contact-form textarea{
    display:block;
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid rgba(255,255,255,.15);
    padding:0 0 16px;
    color:#fff;
    font-size:18px;
    outline:none;
    box-shadow:none;
    border-radius:0;
    box-sizing:border-box;
	font-weight:100 !important;
}

.luxury-contact-form input::placeholder,
.luxury-contact-form textarea::placeholder{
    color: #CFC3B6;
    opacity:1;
	font-family:"Noto Serif Display";
   font-weight:100 !important;
   
}

.luxury-contact-form textarea{
    height:120px;
    resize:none;
}
.luxury-contact-form input[type="submit"]{
    width:100%;
    height:58px;
    border:none;
    background: #E76F3C;
    color: #fff;
    cursor:pointer;
    margin-top: 20px;
}
section.footer-contact {
    background: #0B131C;
    padding: 144px 64px 64px;
}
h2.contact-title {
    font-family: "Cormorant Garamond", Sans-serif;
    color:#fff;
    font-size:72px;
   font-weight: 400;
}
.cf-field p {
    margin-bottom: 0;
}
aside#secondary {
    display: none;
}
div#respond {
    display: none;
}
footer.entry-footer {
    display: none;
}

.entry-content {
    margin-top: 0;
}
.typing-text{
    display:inline-block;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    writing-mode: horizontal-tb !important;
    text-align: left !important;
    display: inline-block;
    white-space: nowrap;
	width:200px;
}
.about-banner{
    position: relative;
    overflow: hidden;
}

.about-banner::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 220px; /* adjust as needed */
    pointer-events: none;
    z-index: 5;

    background: linear-gradient(
        to top,
        #0b131c 0%,
        rgba(11, 19, 28, 0.95) 25%,
        rgba(11, 19, 28, 0.7) 50%,
        rgba(11, 19, 28, 0.3) 75%,
        rgba(11, 19, 28, 0) 100%
    );
}

.cc-inquiry-form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.cc-inquiry-form-grid .form-row{
    margin:0;
}

.cc-inquiry-form-grid .form-row--full{
    grid-column:1/-1;
}

.cc-inquiry-form-grid label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    color: #fff;
    font-weight: 300;
}

.cc-inquiry-form-grid .required{
    color:#d32f2f;
}

.cc-inquiry-form-grid input,
.cc-inquiry-form-grid select,
.cc-inquiry-form-grid textarea{
    width:100%;
    border: 1px solid rgb(222 217 213);
    background: #f5f5f5;
    padding:14px 16px;
    font-size:14px;
    color:#444;
    box-sizing:border-box;
    transition:.3s;
}

.cc-inquiry-form-grid input,
.cc-inquiry-form-grid select{
    height:48px;
}

.cc-inquiry-form-grid textarea{
height:120px;
    resize:vertical;
}

.cc-inquiry-form-grid input:focus,
.cc-inquiry-form-grid select:focus,
.cc-inquiry-form-grid textarea:focus{
    border-color:#111;
    outline:none;
}

.form-submit{
    display:flex;
    justify-content:flex-end;
}

.form-submit input[type=submit]{
    background:#111;
    color:#fff;
    border:none;
    cursor:pointer;
    display: inline-block;
    padding: 15px 14px;
    background: #e76f3c;
    color: #fff !important;
    text-decoration: none;
    font-size: 18px;
    transition: 0.35s;
   margin-top:20px;
}

.form-submit input[type=submit]:hover{
    background:#fff;
   color:#000 !important;
}

.form-submit .wpcf7-spinner{
    margin-top:15px;
}
.form-submit .wpcf7-spinner {
    display: block;
}
.wpcf7-form-control,
.wpcf7-form-control:focus,
.wpcf7-form-control:not(:placeholder-shown) {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}
.form-row p {
    margin: 0;
}
.page-id-61 .footer-contact {
    display: none;
}
.floating-contact{
    position:fixed;
    right:0;
    top:50%;
    transform:translateY(-50%);
    z-index:999999;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.fc-item{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    text-decoration:none;
    overflow:hidden;
}

.fc-text{

    background:#e76f3c;
    color:#fff;
    height:52px;
    line-height:52px;
    padding:0 22px;
    border-radius:30px 0 0 30px;

    transform:translateX(100%);
    transition:.35s;

    white-space:nowrap;
    font-size:15px;
}

.fc-icon{width:52px;height:52px;background: #e76f3c;color:#fff;display:flex;align-items:center;justify-content:center;margin-left:-15px;position:relative;z-index:2;flex-shrink:0;}

.fc-icon svg{
width:22px;
 height:22px;
color: #fff !important;
    filter: invert(1);
}

.fc-item:hover .fc-text{

    transform:translateX(0);

}

.whatsapp .fc-icon{background: #e76f3c;}

.whatsapp .fc-text{

    background:#e76f3c;

}
span.fc-icon.chat-icon svg {
    filter: grayscale(1);
}

/* blog page css */
.blog-listing .container{
    width:100%;
    max-width:1320px;
    margin:auto;
}

.blog-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px;
}

.blog-card {
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    transition:.35s ease;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.blog-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.blog-image{
    overflow:hidden;
}

.blog-image img{
    width:100%;
    height:340px;
    object-fit:cover;
    display:block;
    transition:.5s;
}

.blog-card:hover .blog-image img{
    transform:scale(1.08);
}

.blog-content{
    padding:35px;
}

.blog-date{
    display:inline-block;
    font-size:14px;
    color:#999;
    margin-bottom:15px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.blog-content h2{
    margin:0 0 18px;
}

.blog-content h2 a{
       color: #222;
    text-decoration: none;
    line-height: 1.3;
    transition: .3s;
    font-family: "Cormorant Garamond", Sans-serif;
    font-size: 26px;
    font-weight: 600;
}
.blog-content p{
    font-size:16px;
    line-height:1.8;
    color:#666;
    margin-bottom:30px;
}

.blog-btn{
    display:inline-block;
    padding:14px 34px;
    text-decoration:none;
    font-weight:600;
    border-radius:50px;
    transition:.3s;
    color:#fff !important;
     background: #e76f3c;
}
.blog-image img {
    height: 250px !important;
	object-fit:cover;
}
/*====================================
Single Blog
====================================*/
body{
    background-color: #0B131C;
}
.single-blog{
    padding: 130px 0 0px;
}

.single-blog .container{
    width:90%;
    max-width:900px;
    margin:auto;
}

.blog-banner{
    margin-bottom:50px;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.blog-banner img{
    width:100%;
    height:550px;
    object-fit:cover;
    display:block;
}


.blog-content{
    background:#fff;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.blog-date{
    display:inline-block;
    margin-bottom:20px;
    color: #e76f3c;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:14px;
    font-weight:600;
}

.blog-content h1{color: #000;text-decoration: none;line-height: 1.3;transition: .3s;font-family: "Cormorant Garamond", Sans-serif;font-size: 36px;font-weight: 600;}

.blog-body{
    color:#555;
    font-size:18px;
    line-height:1.9;
}

.blog-body p{
    margin-bottom:25px;
}

.blog-body h2{
    margin: 0px;
    text-decoration: none;
    line-height: 1.3;
    transition: .3s;
    font-family: "Cormorant Garamond", Sans-serif;
    font-size: 32px;
    font-weight: 600;
    color: #000;
}

.blog-body h3{
    font-size:28px;
    margin: 0;
    color: #000;
    text-decoration: none;
    line-height: 1.3;
    transition: .3s;
    font-family: "Cormorant Garamond", Sans-serif;
    font-weight: 600;
}

.blog-body h4{
    font-size:22px;
    margin:35px 0 15px;
    color:#222;
}

.blog-body strong{
    color:#111;
}

.blog-body ul,
.blog-body ol{
    margin:25px 0 30px 25px;
}

.blog-body li{
    margin-bottom:14px;
}

.blog-body img{
    width:100%;
    height:auto;
    border-radius:12px;
    margin:35px 0;
}

.blog-body a{
    color:#B68C52;
    text-decoration:none;
    transition:.3s;
}

.blog-body a:hover{
    text-decoration:underline;
}

.blog-body blockquote{
    margin:40px 0;
    padding:30px;
    background:#faf8f5;
    border-left:4px solid #B68C52;
    font-size:20px;
    font-style:italic;
    color:#444;
}

.blog-body table{
    width:100%;
    border-collapse:collapse;
    margin:35px 0;
}

.blog-body table th,
.blog-body table td{
    border:1px solid #ddd;
    padding:15px;
}

.blog-body table th{
    background:#f3f3f3;
}
.blog-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:25px;
    margin:25px 0 45px;
    padding-bottom:30px;
    border-bottom:1px solid #ececec;
}

.blog-meta span{
    display:flex;
    align-items:center;
    gap:10px;
    color: #000;
    font-size:15px;
    font-weight: 300;
}

.blog-meta svg{
    color: #e76f3c;
    flex-shrink:0;
}
 .page-id-62 .blog-content {
    box-shadow: none;
}
 .gt_float_switcher .gt-selected .gt-current-lang{
		 padding: 5px 10px !important;
	  }
	  div#gt_float_wrapper {
    top: 27px !important;
}
.desktop-menu{
    display:block;
}

.header-menu{
    display:flex;
    align-items:center;
    gap:35px;
    list-style:none;
    margin:0;
    padding:0;
}

.header-menu li{
    margin:0;
    padding:0;
}

.header-menu li a{
    color:#fff;
    text-decoration:none;
    font-family: "Noto Serif Display", "Noto Serif Display Placeholder", serif;
    font-size:18px;
    font-weight:400;
    transition:.3s ease;
}

.header-menu li a:hover{
    color:rgba(255,255,255,.7);
}
.gt_float_switcher .gt_options{
    position:absolute !important;
    right:30px;
    top:100%;
    z-index:99999;
	
}
/* Desktop */
@media (min-width:992px){
    .desktop-menu{
        display:block;
    }

    .toggle-target,
    .menu-panel{
        display:none !important;
    }
}

/* Mobile */
@media (max-width:991px){
    .desktop-menu{
        display:none;
    }

    .toggle-target{
        display:flex;
    }
}
@media(max-width:768px){
.blog-grid {
    grid-template-columns: repeat(1, 1fr);
}

.fc-icon{

width:46px;
height:46px;

}

.fc-text{

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

}
 .single-blog{
        padding: 100px 0 0px;
    }

    .blog-content{
        padding:25px;
    }

    .blog-content h1{
        font-size:30px;
    }

    .blog-banner img{
        height:240px;
    }

    .blog-body{
        font-size:16px;
    }

    .blog-body h2{
        font-size:26px;
    }

    .blog-body h3{
        font-size:22px;
    }
    section.footer-contact {
    padding: 50px 20px;
}

h2.contact-title {
    font-size: 40px;
}

}
 @media (max-width: 800px) {
        .footer-top-row {
          grid-template-columns: 1fr auto;
        }
        .footer-address {
          display: none;
        }
        .footer-main {
          grid-template-columns: 1fr 1fr;
          gap: 40px;
        }
      }
      @media (max-width: 500px) {
        footer {
          padding: 40px 24px 0;
        }
        .footer-main {
          grid-template-columns: 1fr;
        }
        .footer-col a,
        .footer-phone {
          font-size: 30px;
        }
      }
  /* Responsive */
  @media (max-width: 768px) {
    .header-wrap {
    padding: 0px 20px;
}

.menu-panel{
	padding: 10rem 20px;
 }
	  .gt_float_switcher .gt-selected .gt-current-lang{
		 padding: 5px 10px !important;
	  }
	  div#gt_float_wrapper {
    right: 102px !important;
    top: 27px !important;
}
    .cta-btn {
      display: none;
    }
    .hamburger {
      display: flex;
    }
	 .cc-inquiry-form-grid{
    grid-template-columns:1fr;
}

.cc-inquiry-form-grid .form-row--full{
    grid-column:auto;
}

.form-submit{
    justify-content:center;
}

.form-submit input[type=submit]{
    width:100%;
}
div#menuPanel {
    display: block;
}

button#closeBtn {
    display: none;
}

.main-menu li a {
    font-size: 30px;
}

.call-center {
    margin-top: 30px;
}
}

/*==================================================
  HOMEPAGE CLIENT REFINEMENTS
==================================================*/

/* Match the upper-right navigation typography and keep the hero CTA white. */
body.home .hero .hero-subtitle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: min(920px, 92vw);
    margin: 0 auto;
    padding: 0 0 15px;
    color: #fff !important;
    font-family: "Noto Serif Display", "Noto Serif Display Placeholder", serif !important;
    font-size: clamp(28px, 2.65vw, 44px);
    font-weight: 400 !important;
    line-height: 1.16;
    letter-spacing: -0.025em;
    text-align: center;
    text-decoration: none;
    text-wrap: balance;
    text-shadow: 0 3px 22px rgba(0, 0, 0, 0.6);
    opacity: 1 !important;
    transform: none !important;
    transition: opacity 0.3s ease;
}

body.home .hero .hero-subtitle::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 58px;
    height: 1px;
    background: rgba(255, 255, 255, 0.72);
    content: "";
    transform: translateX(-50%);
    transition: width 0.3s ease;
}

body.home .hero .hero-subtitle.is-letter-ready::after {
    width: 0;
    opacity: 0;
}

body.home .hero .hero-subtitle.is-letter-revealed::after {
    width: 58px;
    opacity: 1;
}

body.home .hero .hero-letter-visual {
    display: inline;
}

body.home .hero .hero-letter-word {
    display: inline-block;
    white-space: nowrap;
}

body.home .hero .hero-letter {
    display: inline-block;
    opacity: 0;
    filter: blur(3px);
    transform: translateY(0.36em);
    animation: hero-letter-reveal 0.42s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    animation-delay: calc(0.12s + (var(--letter-index) * 28ms));
    will-change: opacity, filter, transform;
}

@keyframes hero-letter-reveal {
    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }
}

body.home .hero a.hero-subtitle:hover,
body.home .hero a.hero-subtitle:focus-visible {
    color: #fff !important;
    opacity: 0.78 !important;
}

body.home .hero a.hero-subtitle:hover::after,
body.home .hero a.hero-subtitle:focus-visible::after {
    width: 92px;
}

@media (prefers-reduced-motion: reduce) {
    body.home .hero .hero-letter {
        opacity: 1;
        filter: none;
        transform: none;
        animation: none;
    }
}

/* Keep the audio control with the hero instead of covering later content. */
body.home .hero .hero-play {
    position: absolute !important;
    right: 40px;
    bottom: 48px;
}

section.footer-contact.footer-contact--home {
    position: relative;
    z-index: 1;
    isolation: isolate;
    overflow: hidden;
    margin: 0;
    padding: clamp(96px, 9vw, 148px) clamp(28px, 5vw, 80px);
    background:
        radial-gradient(circle at 8% 18%, rgba(231, 111, 60, 0.13), transparent 31%),
        linear-gradient(135deg, #09131c 0%, #0b1721 48%, #081119 100%);
    color: #fff;
}

.footer-contact--home::before,
.footer-contact--home::after {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
}

.footer-contact--home::before {
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px);
    background-size: 88px 88px;
    -webkit-mask-image: linear-gradient(90deg, #000, transparent 62%);
    mask-image: linear-gradient(90deg, #000, transparent 62%);
}

.footer-contact--home::after {
    top: 0;
    right: clamp(28px, 5vw, 80px);
    width: 1px;
    height: 100%;
    background: linear-gradient(transparent, rgba(255, 255, 255, 0.12) 15%, rgba(255, 255, 255, 0.12) 85%, transparent);
}

.contact-background {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.contact-background__word {
    position: absolute;
    right: -0.035em;
    bottom: -0.24em;
    color: transparent;
    font-family: "Noto Serif Display", serif;
    font-size: clamp(150px, 22vw, 360px);
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -0.08em;
    opacity: 0.055;
    -webkit-text-stroke: 1px #fff;
}

.contact-background__ring {
    position: absolute;
    border: 1px solid rgba(231, 111, 60, 0.28);
    border-radius: 50%;
}

.contact-background__ring--one {
    top: -180px;
    left: -135px;
    width: 410px;
    height: 410px;
}

.contact-background__ring--two {
    top: -114px;
    left: -70px;
    width: 280px;
    height: 280px;
}

.contact-shell {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(360px, 0.88fr) minmax(560px, 1.12fr);
    gap: clamp(64px, 8vw, 132px);
    align-items: center;
    width: min(1320px, 100%);
    margin: 0 auto;
}

.contact-intro {
    max-width: 540px;
}

.contact-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 38px;
    color: #e76f3c;
    font-family: Inter, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.contact-eyebrow span {
    display: block;
    width: 38px;
    height: 1px;
    background: currentColor;
}

.footer-contact--home h2.contact-title {
    max-width: 520px;
    margin: 0;
    color: #fff;
    font-family: "Noto Serif Display", "Noto Serif Display Placeholder", serif;
    font-size: clamp(72px, 7.2vw, 112px);
    font-weight: 400;
    line-height: 0.87;
    letter-spacing: -0.065em;
}

.footer-contact--home h2.contact-title em {
    display: block;
    color: #e9d8ca;
    font-weight: 400;
}

.contact-copy {
    max-width: 460px;
    margin: 36px 0 0;
    color: rgba(255, 255, 255, 0.66);
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.85;
}

.contact-services {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin: 30px 0 0;
    padding: 0;
    color: rgba(255, 255, 255, 0.5);
    font-family: Inter, sans-serif;
    font-size: 11px;
    letter-spacing: 0.08em;
    list-style: none;
    text-transform: uppercase;
}

.contact-services li {
    position: relative;
    padding-left: 13px;
}

.contact-services li::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #e76f3c;
    content: "";
    transform: translateY(-50%);
}

.contact-whatsapp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(100%, 405px);
    margin-top: 42px;
    padding: 19px 22px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    text-decoration: none;
    transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}

.contact-whatsapp span,
.contact-whatsapp small,
.contact-whatsapp strong {
    display: block;
}

.contact-whatsapp small {
    margin-bottom: 5px;
    color: rgba(255, 255, 255, 0.5);
    font-family: Inter, sans-serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.contact-whatsapp strong {
    font-family: "Noto Serif Display", serif;
    font-size: 19px;
    font-weight: 400;
    letter-spacing: 0.02em;
}

.contact-whatsapp svg {
    color: #e76f3c;
    transition: transform 0.3s ease;
}

.contact-whatsapp:hover,
.contact-whatsapp:focus-visible {
    border-color: rgba(231, 111, 60, 0.7);
    background: rgba(231, 111, 60, 0.08);
    color: #fff;
    transform: translateY(-2px);
}

.contact-whatsapp:hover svg,
.contact-whatsapp:focus-visible svg {
    transform: translate(3px, -3px);
}

.contact-form-panel {
    position: relative;
    padding: clamp(38px, 4.2vw, 64px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(15, 29, 40, 0.76);
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.2);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.contact-form-panel::before {
    position: absolute;
    top: -1px;
    left: -1px;
    width: 92px;
    height: 2px;
    background: #e76f3c;
    content: "";
}

.contact-form-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 44px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.contact-form-heading p,
.contact-form-heading span {
    margin: 0;
    font-family: Inter, sans-serif;
}

.contact-form-heading p {
    flex: 0 0 auto;
    color: #e76f3c;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.19em;
    text-transform: uppercase;
}

.contact-form-heading span {
    max-width: 245px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    line-height: 1.6;
    text-align: right;
}

.footer-contact--home .wpcf7,
.footer-contact--home .luxury-contact-form {
    width: 100%;
}

.footer-contact--home .luxury-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 30px;
}

.footer-contact--home .cf-field,
.footer-contact--home .cf-field p,
.footer-contact--home .cf-field label,
.footer-contact--home .cf-submit,
.footer-contact--home .cf-submit p {
    margin: 0;
}

.footer-contact--home .cf-field label,
.footer-contact--home .luxury-contact-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.footer-contact--home .cf-field br,
.footer-contact--home .cf-submit br {
    display: none;
}

.footer-contact--home .cf-field:nth-child(5),
.footer-contact--home .cf-submit {
    grid-column: 1 / -1;
}

.footer-contact--home .luxury-contact-form input[type="text"],
.footer-contact--home .luxury-contact-form input[type="email"],
.footer-contact--home .luxury-contact-form input[type="tel"],
.footer-contact--home .luxury-contact-form textarea {
    min-height: 44px;
    margin: 0;
    padding: 0 0 13px;
    border-bottom-color: rgba(255, 255, 255, 0.2);
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 300 !important;
    line-height: 1.5;
    transition: border-color 0.25s ease;
}

.footer-contact--home .luxury-contact-form textarea {
    height: 94px;
    padding-top: 4px;
}

.footer-contact--home .luxury-contact-form input::placeholder,
.footer-contact--home .luxury-contact-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.56);
    font-family: Inter, sans-serif;
    font-weight: 300 !important;
}

.footer-contact--home .luxury-contact-form input:focus,
.footer-contact--home .luxury-contact-form textarea:focus {
    border-bottom-color: #e76f3c;
}

.footer-contact--home .luxury-contact-form input[type="submit"] {
    width: min(100%, 250px);
    height: 56px;
    margin-top: 4px;
    border: 1px solid #e76f3c;
    background: #e76f3c !important;
    background-color: #e76f3c !important;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transition: background 0.3s ease, color 0.3s ease;
}

.footer-contact--home .luxury-contact-form input[type="submit"]:hover,
.footer-contact--home .luxury-contact-form input[type="submit"]:focus-visible {
    background: transparent !important;
    background-color: transparent !important;
    color: #e76f3c;
}

.footer-contact--home .wpcf7-response-output {
    margin: 26px 0 0 !important;
    color: rgba(255, 255, 255, 0.75);
    font-family: Inter, sans-serif;
    font-size: 12px;
}

@media (max-width: 1120px) {
    .contact-shell {
        grid-template-columns: minmax(290px, 0.82fr) minmax(500px, 1.18fr);
        gap: 54px;
    }

    .footer-contact--home h2.contact-title {
        font-size: clamp(66px, 7vw, 88px);
    }
}

@media (max-width: 920px) {
    section.footer-contact.footer-contact--home {
        padding: 92px 36px;
    }

    .contact-shell {
        grid-template-columns: 1fr;
        gap: 68px;
    }

    .contact-intro {
        max-width: 650px;
    }

    .footer-contact--home h2.contact-title {
        max-width: 650px;
        font-size: clamp(64px, 12vw, 96px);
    }

    .contact-copy {
        max-width: 560px;
    }
}

@media (max-width: 600px) {
    body.home .hero .hero-subtitle {
        max-width: 88vw;
        padding-bottom: 12px;
        font-size: clamp(24px, 7vw, 32px);
        line-height: 1.22;
    }

    body.home .hero .hero-play {
        right: 20px;
        bottom: 24px;
    }

    section.footer-contact.footer-contact--home {
        padding: 76px 22px;
    }

    .footer-contact--home::after {
        right: 22px;
    }

    .contact-eyebrow {
        margin-bottom: 28px;
    }

    .footer-contact--home h2.contact-title {
        font-size: clamp(58px, 19vw, 78px);
    }

    .contact-copy {
        margin-top: 28px;
        font-size: 14px;
    }

    .contact-services {
        display: grid;
        gap: 10px;
    }

    .contact-whatsapp {
        margin-top: 34px;
    }

    .contact-form-panel {
        padding: 34px 24px;
    }

    .contact-form-heading {
        display: block;
        margin-bottom: 36px;
    }

    .contact-form-heading span {
        display: block;
        max-width: none;
        margin-top: 12px;
        text-align: left;
    }

    .footer-contact--home .luxury-contact-form {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-contact--home .cf-field:nth-child(5),
    .footer-contact--home .cf-submit {
        grid-column: auto;
    }

    .footer-contact--home .luxury-contact-form input[type="submit"] {
        width: 100%;
    }
}
