/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.9
	Stable tag: 3.4.9
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/
/* ============================================================
   GLOBAL CSS — load this on EVERY page (all Elementor templates)
   Put this in header.php ABOVE any page-specific <style> blocks,
   or better: save as its own file and enqueue via functions.php
   with wp_enqueue_style() so it loads no matter what template
   Elementor uses (Canvas, Full Width, Theme Builder, etc).
   ============================================================ */

:root{
  --navy-950:#001124;
  --navy-900:#04192F;
  --navy-800:#0B2740;
  --navy-700:#173650;
  --navy-600:#26496A;
  --navy-500:#3A6188;

  --gold-500:#CA8A3B;
  --gold-400:#DA9F55;
  --gold-300:#E9C088;
  --gold-100:#F5E3C6;

  --cream-100:#F7F2E7;
  --cream-200:#EAE1CE;

  --slate-400:#8FA6B8;
  --slate-500:#6C8598;
  --slate-600:#4E6478;

  --display: 'Fraunces', serif;
  --body: 'Manrope', sans-serif;
  --mono: 'JetBrains Mono', monospace;

  --maxw: 1180px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--navy-950)!important;
  color:var(--cream-100);
  font-family:var(--body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit!important; text-decoration:none;}
ul{list-style:none;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}

::selection{ background:var(--gold-500); color:var(--navy-950); }

a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--gold-400)!important;
  outline-offset:3px;
  border-radius:4px;
}

[type=button], [type=submit], button{
  background:#ca8a3b!important;
  border-color:#ca8a3b!important;
  color:#ffffff!important;
}

h1,h2,h3{ font-family:var(--display); font-weight:500; letter-spacing:-0.01em; }

.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold-400);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:22px; height:1px;
  background:var(--gold-500);
  display:inline-block;
}

/* ---------- NAV (every page) ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 0;
  transition:background .35s ease, padding .35s ease, border-color .35s ease;
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(0,17,36,0.86);
  backdrop-filter:blur(10px);
  padding:14px 0;
  border-bottom:1px solid var(--navy-700);
}
nav{ display:flex; align-items:center; justify-content:space-between; }
.logo{
  display:flex; align-items:center; gap:10px;
  font-family:var(--display); font-size:19px; font-weight:600; color:var(--cream-100);
}
.logo-img{ height:76px; width:auto; display:block; }
.footer-logo{ height:auto; width:100px; display:block; margin-bottom:6px; }
.logo-mark{
  width:30px; height:30px; border-radius:7px;
  background:linear-gradient(135deg, var(--gold-400), var(--gold-500) 60%, #a86c26);
  position:relative;
  flex-shrink:0;
}
.logo-mark::after{
  content:"";
  position:absolute; left:50%; top:50%;
  width:11px; height:11px;
  border:2px solid var(--navy-950);
  border-radius:50%;
  transform:translate(-50%,-58%);
}
.logo-mark::before{
  content:"";
  position:absolute; left:50%; bottom:5px;
  width:2px; height:7px;
  background:var(--navy-950);
  transform:translateX(-50%);
}
.nav-links{ display:flex; gap:36px; font-size:14.5px; color:var(--slate-400); margin-top:8px!important; }
.nav-links a{ transition:color .2s ease; position:relative; }
.nav-links a:hover{ color:var(--cream-100); }
.nav-cta{ display:flex; align-items:center; gap:22px; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--body); font-weight:700; font-size:14px;
  padding:12px 22px; border-radius:8px;
  cursor:pointer; border:1px solid transparent;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn-gold{ background:var(--gold-500); color:var(--navy-950); }
.btn-gold:hover{ background:var(--gold-400); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--cream-100); border-color:var(--navy-600); }
.btn-ghost:hover{ border-color:var(--gold-400); color:var(--gold-300); }
.nav-login{ font-size:14px; color:var(--slate-400); display:none; }
@media(min-width:900px){ .nav-login{ display:inline; } }

.nav-button{ display:flex; align-items:center; }
.nav-button .btn{
  padding:10px 18px;
  font-size:13px;
  background:#ca8a3b!important;
  color:#ffffff!important;
  margin-top:-5px!important;
}

.mobile-toggle{
  display:none;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
  width:42px; height:42px; flex-shrink:0;
  background:transparent; border:1px solid var(--navy-600); border-radius:8px;
  cursor:pointer; padding:0;
  position:relative; z-index:160;
}
.mobile-toggle span{
  display:block; width:18px; height:2px; background:var(--cream-100);
  transition:transform .25s ease, opacity .2s ease;
}
.mobile-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.mobile-toggle.open span:nth-child(2){ opacity:0; }
.mobile-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav-backdrop{
  position:fixed; inset:0; background:rgba(0,10,20,0.55);
  backdrop-filter:blur(2px);
  opacity:0; pointer-events:none; transition:opacity .3s ease;
  z-index:140;
}
.nav-backdrop.open{ opacity:1; pointer-events:auto; }

.nav-mobile-only{ display:none; }

/* ---------- Generic section / reveal utilities (usable anywhere) ---------- */
section{ padding:50px 0; position:relative; }
.section-head{ max-width:640px; margin-bottom:56px; }
.section-head h2{ font-size:clamp(28px,3.2vw,40px); color:var(--cream-100); margin-top:16px; }
.section-head p{ color:var(--slate-400); font-size:16px; margin-top:14px; max-width:560px; }

.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ---------- FOOTER (every page) ---------- */
footer{ padding:64px 0 32px; border-top:1px solid var(--navy-800); }
.footer-top{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:18px;
}
.footer-brand p{ color:var(--slate-500); font-size:14px; margin-top:14px; max-width:280px; line-height:1.6; }
.footer-col h4{ font-size:13px; color:var(--cream-200); margin-bottom:16px; letter-spacing:.03em; }
.footer-col ul li{ margin-bottom:10px; }
.footer-col a{ font-size:14px; color:var(--slate-400)!important; transition:color .2s; }
.footer-col a:hover{ color:var(--gold-300); }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:26px; border-top:1px solid var(--navy-800);
  font-size:12.5px; color:var(--slate-500); flex-wrap:wrap; gap:14px;
}

/* ---------- RESPONSIVE: nav + footer + section only ---------- */
@media(max-width:720px){
  .wrap{ padding:0 20px; }
  .mobile-toggle{ display:flex; }
  .nav-links{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    position:fixed; top:0; right:0; height:100dvh; width:80%; max-width:320px;
    background:var(--navy-900); border-left:1px solid var(--navy-700);
    padding:100px 30px 40px; margin:0;
    transform:translateX(100%);
    transition:transform .35s ease;
    z-index:150; overflow-y:auto;
  }
  .nav-links.open{ transform:translateX(0); }
  .nav-links li{ border-bottom:1px solid var(--navy-800); }
  .nav-links a{ display:block; padding:16px 2px; font-size:16.5px; color:var(--cream-100); }
  .nav-mobile-only{ display:list-item; }
  .nav-login{ display:none !important; }
  .nav-cta{ gap:12px; }
  .nav-cta .btn-gold{ padding:11px 16px; font-size:13.5px; }

  .nav-button{ padding:16px 2px; border-bottom:1px solid var(--navy-800); }
  .nav-button .btn{ width:100%; padding:13px 18px; text-align:center; }

  .footer-top{ grid-template-columns:1fr; }
  section{ padding:76px 0; }
  .section-head{ margin-bottom:40px; }
}
@media(max-width:980px){
  .footer-top{ grid-template-columns:1fr 1fr; row-gap:32px; }
}
@media(max-width:480px){
  .wrap{ padding:0 16px; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:8px; }
}