/*
Theme Name: Golden Globe Rental Landing
Theme URI: https://goldenglobe.co.in/
Author: Golden Globe
Description: Pixel-faithful WordPress conversion of the supplied Golden Globe rental landing HTML.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: golden-globe-rental
*/
/* =========================================================
   GOLDEN GLOBE — Rental Query Landing Page
   ---------------------------------------------------------
   TOKEN SYSTEM
   Color   : Charcoal ground, warm ivory panels, deep red
             brand blood, two golds (foil + soft glow)
   Type    : Playfair Display (editorial, high-contrast)
             for headings; Poppins for interface/body
   Motif   : "The Ribbon Line" — a single gold thread runs
             the spine of the page, echoing the ribbon that
             orbits the globe in the mark. It ties every
             section together like a property survey line.
   ========================================================= */

:root{
  --gg-black:      #0b0b0d;
  --gg-charcoal:   #17161a;
  --gg-charcoal-2: #201f24;
  --gg-ivory:      #faf7f0;
  --gg-ivory-2:    #f2ede2;
  --gg-red:        #9c1027;
  --gg-red-2:      #c31730;
  --gg-red-deep:   #5c0b18;
  --gg-gold:       #c9a34c;
  --gg-gold-light: #eecd80;
  --gg-gold-soft:  #a9853a;
  --gg-ink:        #1b1a1d;
  --gg-ink-soft:   #55525a;

  --font-display: 'Playfair Display', 'Times New Roman', serif;
  --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;

  --ease: cubic-bezier(.22,.68,.2,1);
  --nav-h: 84px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--gg-ink);
  background:var(--gg-ivory);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); }
p{ margin:0; }
.container{
  max-width:1240px;
  margin:0 auto;
  padding:0 32px;
}
section{ position:relative; }

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gg-gold-soft);
}
.eyebrow::before{
  content:"";
  width:28px; height:1px;
  background:var(--gg-gold);
}
.eyebrow.on-dark{ color:var(--gg-gold-light); }

.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.is-visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gg-gold);
  outline-offset:3px;
}

/* ---------- The Ribbon Line (signature element) ---------- */
.ribbon-line{
  position:fixed;
  top:0; left:0;
  width:3px; height:100%;
  z-index:5;
  pointer-events:none;
  mix-blend-mode:normal;
}
.ribbon-line__track{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(201,163,76,.12), rgba(201,163,76,.32) 40%, rgba(201,163,76,.12));
}
.ribbon-line__fill{
  position:absolute; top:0; left:0; width:100%; height:0%;
  background:linear-gradient(180deg, var(--gg-gold-light), var(--gg-gold) 60%, var(--gg-red-2));
  box-shadow:0 0 14px rgba(201,163,76,.65);
  transition:height .08s linear;
}
@media (max-width: 880px){
  .ribbon-line{ display:none; }
}

/* =================== NAVBAR =================== */
.navbar{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  height:var(--nav-h);
  display:flex;
  align-items:center;
  background:transparent;
  transition:background .45s var(--ease), height .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
.navbar.scrolled{
  height:68px;
  background:rgba(11,11,13,.86);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(201,163,76,.22);
  box-shadow:0 12px 30px -18px rgba(0,0,0,.7);
}
.navbar .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
}
.nav-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.nav-brand img{
  height:46px;
  width:auto;
  transition:height .35s var(--ease);
}
.navbar.scrolled .nav-brand img{ height:38px; }
.nav-brand .wordmark{
  font-family:var(--font-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:.06em;
  color:var(--gg-ivory);
  line-height:1.05;
}
.nav-brand .wordmark span{
  display:block;
  font-family:var(--font-body);
  font-weight:500;
  font-size:9.5px;
  letter-spacing:.24em;
  color:var(--gg-gold-light);
  margin-top:3px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:38px;
}
.nav-links a{
  font-size:13px;
  font-weight:500;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(250,247,240,.82);
  position:relative;
  padding:6px 0;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:0; height:1px;
  background:var(--gg-gold);
  transition:width .3s var(--ease);
}
.nav-links a:hover{ color:var(--gg-ivory); }
.nav-links a:hover::after{ width:100%; }

.nav-cta{
  display:flex;
  align-items:center;
  gap:18px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:15px 30px;
  border-radius:2px;
  border:1px solid transparent;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  white-space:nowrap;
}
.btn-gold{
  background:linear-gradient(135deg, var(--gg-gold-light), var(--gg-gold) 55%, var(--gg-gold-soft));
  color:#241a06;
  box-shadow:0 10px 26px -12px rgba(201,163,76,.65);
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -12px rgba(201,163,76,.8); }
.btn-outline-light{
  background:transparent;
  border-color:rgba(250,247,240,.4);
  color:var(--gg-ivory);
}
.btn-outline-light:hover{ border-color:var(--gg-gold); color:var(--gg-gold-light); }
.btn-red{
  background:linear-gradient(135deg, var(--gg-red-2), var(--gg-red-deep));
  color:var(--gg-ivory);
  box-shadow:0 10px 26px -12px rgba(156,16,39,.6);
}
.btn-red:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(156,16,39,.75); }
.btn-ghost-dark{
  background:transparent;
  border-color:rgba(27,26,29,.25);
  color:var(--gg-ink);
}
.btn-ghost-dark:hover{ border-color:var(--gg-red-2); color:var(--gg-red-2); }
.btn-block{ width:100%; }
.btn-lg{ padding:19px 38px; font-size:13px; }

.nav-toggle{
  display:none;
  width:44px; height:44px;
  border:1px solid rgba(250,247,240,.3);
  background:transparent;
  border-radius:2px;
  position:relative;
}
.nav-toggle span{
  position:absolute; left:11px; right:11px; height:1.5px;
  background:var(--gg-ivory);
  transition:transform .3s var(--ease), opacity .3s var(--ease), top .3s var(--ease);
}
.nav-toggle span:nth-child(1){ top:16px; }
.nav-toggle span:nth-child(2){ top:21.5px; }
.nav-toggle span:nth-child(3){ top:27px; }
.nav-toggle.open span:nth-child(1){ top:21.5px; transform:rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ top:21.5px; transform:rotate(-45deg); }

.mobile-menu{
  position:fixed;
  inset:0 0 0 0;
  top:68px;
  background:rgba(11,11,13,.98);
  backdrop-filter:blur(10px);
  z-index:99;
  padding:36px 32px;
  display:flex;
  flex-direction:column;
  gap:6px;
  transform:translateY(-14px);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.mobile-menu.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
.mobile-menu a{
  font-family:var(--font-display);
  font-size:26px;
  font-weight:600;
  color:var(--gg-ivory);
  padding:14px 0;
  border-bottom:1px solid rgba(201,163,76,.15);
}
.mobile-menu .btn{ margin-top:22px; }

@media (max-width: 980px){
  .nav-links{ display:none; }
  .nav-cta .btn-outline-light-desktop{ display:none; }
  .nav-toggle{ display:block; }
}
@media (max-width: 640px){
  .nav-cta .btn{ display:none; }
  .nav-brand .wordmark span{ display:none; }
  .nav-brand .wordmark{ font-size:16px; }
  .nav-brand img{ height:38px; }
  .navbar .container{ padding:0 20px; }
}
@media (min-width: 981px){
  .mobile-menu{ display:none; }
}

/* =================== HERO =================== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#0a0a0c;
}
.hero__bg{
  position:absolute; inset:0;
  background-image:
    linear-gradient(180deg, rgba(8,8,10,.55) 0%, rgba(8,8,10,.72) 55%, rgba(8,8,10,.94) 100%),
    linear-gradient(90deg, rgba(8,8,10,.75) 0%, rgba(8,8,10,.28) 48%, rgba(8,8,10,.72) 100%),
    url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?q=80&w=2400&auto=format&fit=crop');
  background-size:cover;
  background-position:center 38%;
  transform:scale(1.08);
  animation:heroDrift 26s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  from{ transform:scale(1.08) translate3d(0,0,0); }
  to{ transform:scale(1.14) translate3d(-1.4%,-1%,0); }
}
.hero__grain{
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 20% 10%, rgba(201,163,76,.10), transparent 45%),
             radial-gradient(ellipse at 85% 80%, rgba(156,16,39,.16), transparent 50%);
}
.hero__content{
  position:relative;
  z-index:2;
  width:100%;
  padding-top:calc(var(--nav-h) + 30px);
  padding-bottom:70px;
}
.hero__mark{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:34px;
}
.hero__mark img{ height:58px; width:auto; }
.hero__mark-text{
  font-family:var(--font-body);
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gg-gold-light);
  border-left:1px solid rgba(201,163,76,.4);
  padding-left:14px;
  line-height:1.6;
}
.hero h1{
  font-size:clamp(38px, 6.4vw, 82px);
  line-height:1.03;
  font-weight:800;
  color:var(--gg-ivory);
  max-width:15ch;
  letter-spacing:-.01em;
}
.hero h1 em{
  font-style:italic;
  font-weight:600;
  background:linear-gradient(100deg, var(--gg-gold-light), var(--gg-gold) 60%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero__sub{
  margin-top:26px;
  font-size:clamp(16px,2vw,19px);
  color:rgba(250,247,240,.88);
  max-width:46ch;
  line-height:1.65;
  font-weight:300;
}
.hero__line{
  margin-top:14px;
  font-size:14.5px;
  color:rgba(250,247,240,.6);
  max-width:52ch;
  line-height:1.7;
}
.hero__actions{
  margin-top:44px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.hero__stats{
  margin-top:64px;
  display:flex;
  gap:44px;
  flex-wrap:wrap;
}
.hero__stat b{
  display:block;
  font-family:var(--font-display);
  font-size:28px;
  color:var(--gg-gold-light);
  font-weight:700;
}
.hero__stat span{
  display:block;
  margin-top:4px;
  font-size:11.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(250,247,240,.55);
}
.hero__scroll{
  position:absolute;
  left:32px; bottom:34px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(250,247,240,.55);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero__scroll-line{
  width:1px; height:46px;
  background:linear-gradient(180deg, var(--gg-gold), transparent);
  position:relative;
  overflow:hidden;
}
.hero__scroll-line::after{
  content:"";
  position:absolute; left:0; top:-46px; width:100%; height:46px;
  background:linear-gradient(180deg, transparent, var(--gg-gold-light));
  animation:scrollDrip 2.2s ease-in-out infinite;
}
@keyframes scrollDrip{
  0%{ top:-46px; } 100%{ top:46px; }
}
@media (max-width: 640px){
  .hero__scroll{ display:none; }
}

/* =================== SECTION HEADERS =================== */
.section-head{
  max-width:640px;
  margin-bottom:64px;
}
.section-head h2{
  margin-top:16px;
  font-size:clamp(30px,4vw,46px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.01em;
}
.section-head p{
  margin-top:18px;
  font-size:16px;
  line-height:1.7;
  color:var(--gg-ink-soft);
  font-weight:300;
}
.section-head.on-dark h2{ color:var(--gg-ivory); }
.section-head.on-dark p{ color:rgba(250,247,240,.62); }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* =================== REQUIREMENTS =================== */
.requirements{
  background:var(--gg-ivory);
  padding:120px 0 130px;
}
.req-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.req-card{
  position:relative;
  background:#fff;
  border:1px solid rgba(27,26,29,.08);
  padding:44px 34px 38px;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
  overflow:hidden;
}
.req-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--gg-gold), var(--gg-gold-light));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s var(--ease);
}
.req-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 50px -30px rgba(27,26,29,.35);
  border-color:rgba(201,163,76,.4);
}
.req-card:hover::before{ transform:scaleX(1); }
.req-card__icon{
  width:52px; height:52px;
  display:flex; align-items:center; justify-content:center;
  color:var(--gg-red-2);
  margin-bottom:26px;
}
.req-card__icon svg{ width:100%; height:100%; }
.req-card h3{
  font-size:21px;
  font-weight:700;
  margin-bottom:8px;
  letter-spacing:.01em;
}
.req-card__desc{
  font-size:13.5px;
  color:var(--gg-ink-soft);
  margin-bottom:20px;
  line-height:1.6;
}
.req-card ul{ display:flex; flex-direction:column; gap:10px; }
.req-card li{
  font-size:14.5px;
  color:var(--gg-ink);
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:400;
}
.req-card li::before{
  content:"";
  width:5px; height:5px;
  background:var(--gg-gold);
  transform:rotate(45deg);
  flex:none;
}
@media (max-width: 980px){
  .req-grid{ grid-template-columns:1fr; }
}

/* =================== WHY SECTION =================== */
.why{
  background:linear-gradient(180deg, var(--gg-black), var(--gg-charcoal) 60%, var(--gg-black));
  padding:130px 0;
  position:relative;
}
.why::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 82% 12%, rgba(201,163,76,.12), transparent 55%),
             radial-gradient(ellipse at 8% 90%, rgba(156,16,39,.18), transparent 50%);
  pointer-events:none;
}
.why-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1px;
  background:rgba(201,163,76,.16);
  border:1px solid rgba(201,163,76,.16);
}
.why-item{
  background:var(--gg-charcoal);
  padding:48px 44px;
  display:flex;
  gap:26px;
  transition:background .4s var(--ease);
}
.why-item:hover{ background:var(--gg-charcoal-2); }
.why-item__num{
  font-family:var(--font-display);
  font-size:15px;
  font-weight:700;
  color:var(--gg-gold);
  letter-spacing:.06em;
  flex:none;
  padding-top:4px;
  min-width:34px;
}
.why-item h3{
  font-size:19px;
  color:var(--gg-ivory);
  font-weight:700;
  margin-bottom:10px;
  letter-spacing:.01em;
}
.why-item p{
  font-size:14.5px;
  line-height:1.75;
  color:rgba(250,247,240,.58);
  font-weight:300;
}
@media (max-width: 780px){
  .why-grid{ grid-template-columns:1fr; }
  .why-item{ padding:38px 30px; }
}

/* =================== FORM SECTION =================== */
.query-section{
  position:relative;
  padding:130px 0;
  background:var(--gg-ivory-2);
  overflow:hidden;
}
.query-section::before{
  content:"";
  position:absolute; top:-200px; right:-200px;
  width:560px; height:560px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(201,163,76,.18), transparent 70%);
}
.query-wrap{
  position:relative;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:0;
  background:#fff;
  border:1px solid rgba(27,26,29,.08);
  box-shadow:0 60px 90px -60px rgba(27,26,29,.4);
}
.query-aside{
  background:linear-gradient(165deg, var(--gg-black) 0%, var(--gg-red-deep) 130%);
  color:var(--gg-ivory);
  padding:60px 48px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.query-aside::after{
  content:"";
  position:absolute; right:-60px; bottom:-60px;
  width:220px; height:220px;
  border:1px solid rgba(201,163,76,.25);
  border-radius:50%;
}
.query-aside h3{
  font-size:30px;
  line-height:1.25;
  font-weight:700;
  margin-top:16px;
}
.query-aside p{
  margin-top:18px;
  font-size:14.5px;
  color:rgba(250,247,240,.7);
  line-height:1.75;
  font-weight:300;
}
.query-aside__list{
  margin-top:40px;
  display:flex;
  flex-direction:column;
  gap:18px;
  position:relative;
  z-index:1;
}
.query-aside__list li{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:13.5px;
  color:rgba(250,247,240,.85);
}
.query-aside__list li svg{ flex:none; width:18px; height:18px; color:var(--gg-gold-light); }
.query-aside__quote{
  position:relative;
  z-index:1;
  margin-top:46px;
  padding-top:26px;
  border-top:1px solid rgba(201,163,76,.25);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gg-gold-light);
}

.query-form{
  padding:60px 56px;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.field{
  margin-bottom:22px;
  position:relative;
}
.field label{
  display:block;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gg-ink-soft);
  margin-bottom:9px;
}
.field input,
.field select,
.field textarea{
  width:100%;
  border:none;
  border-bottom:1.5px solid rgba(27,26,29,.18);
  background:transparent;
  padding:12px 2px;
  font-family:var(--font-body);
  font-size:15px;
  color:var(--gg-ink);
  transition:border-color .3s var(--ease);
  border-radius:0;
}
.field select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355525a' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 2px center;
  background-size:16px;
  padding-right:24px;
}
.field textarea{ resize:vertical; min-height:96px; }
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--gg-gold);
}
.field.error input,
.field.error select,
.field.error textarea{ border-color:var(--gg-red-2); }
.field__msg{
  display:none;
  margin-top:7px;
  font-size:11.5px;
  color:var(--gg-red-2);
  letter-spacing:.02em;
}
.field.error .field__msg{ display:block; }

.form-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:10px;
  flex-wrap:wrap;
}
.form-foot__note{
  font-size:12px;
  color:var(--gg-ink-soft);
  max-width:300px;
  line-height:1.6;
}

/* success state */
.form-success{
  display:none;
  text-align:center;
  padding:50px 10px 20px;
}
.form-success.show{ display:block; }
.query-form.hidden-form{ display:none; }
.form-success__icon{
  width:74px; height:74px;
  margin:0 auto 26px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gg-gold-light), var(--gg-gold));
  display:flex; align-items:center; justify-content:center;
  animation:popIn .6s var(--ease);
}
.form-success__icon svg{ width:32px; height:32px; color:#241a06; }
@keyframes popIn{
  0%{ transform:scale(0); opacity:0; }
  60%{ transform:scale(1.12); opacity:1; }
  100%{ transform:scale(1); }
}
.form-success h3{
  font-size:26px;
  font-weight:700;
  margin-bottom:12px;
}
.form-success p{
  font-size:14.5px;
  color:var(--gg-ink-soft);
  max-width:36ch;
  margin:0 auto 26px;
  line-height:1.7;
}

@media (max-width: 980px){
  .query-wrap{ grid-template-columns:1fr; }
  .query-aside{ padding:48px 34px; }
  .query-form{ padding:48px 28px; }
}
@media (max-width: 620px){
  .form-row{ grid-template-columns:1fr; gap:0; }
}

/* =================== DIRECT CONTACT BAND =================== */
.contact-band{
  position:relative;
  background:linear-gradient(120deg, var(--gg-red-deep) 0%, var(--gg-red) 45%, var(--gg-black) 130%);
  padding:100px 0;
  overflow:hidden;
}
.contact-band::before{
  content:"";
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(115deg, rgba(201,163,76,.07) 0 2px, transparent 2px 90px);
}
.contact-band__inner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}
.contact-band h2{
  color:var(--gg-ivory);
  font-size:clamp(28px,3.6vw,42px);
  max-width:12ch;
  line-height:1.15;
}
.contact-band p{
  margin-top:16px;
  color:rgba(250,247,240,.82);
  font-size:15px;
  max-width:44ch;
  line-height:1.7;
  font-weight:300;
}
.contact-band__actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

/* =================== CONTACT DETAILS =================== */
.contact-details{
  background:var(--gg-ivory);
  padding:130px 0;
}
.contact-grid{
  display:grid;
  grid-template-columns:.95fr 1.3fr;
  gap:60px;
  align-items:stretch;
}
.contact-card{
  background:#fff;
  border:1px solid rgba(27,26,29,.08);
  padding:16px;
}
.contact-card__item{
  display:flex;
  gap:20px;
  align-items:flex-start;
  padding:26px 20px;
  border-bottom:1px solid rgba(27,26,29,.08);
}
.contact-card__item:last-child{ border-bottom:none; }
.contact-card__icon{
  flex:none;
  width:46px; height:46px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gg-gold-light), var(--gg-gold));
  display:flex; align-items:center; justify-content:center;
  color:#241a06;
}
.contact-card__icon svg{ width:20px; height:20px; }
.contact-card__item h4{
  font-family:var(--font-body);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gg-ink-soft);
  margin-bottom:6px;
}
.contact-card__item a, .contact-card__item span{
  font-size:15.5px;
  color:var(--gg-ink);
  line-height:1.6;
  font-weight:500;
}
.contact-card__item a:hover{ color:var(--gg-red-2); }

.map-embed{
  position:relative;
  min-height:340px;
  border:1px solid rgba(27,26,29,.08);
  overflow:hidden;
  background:
    linear-gradient(0deg, rgba(11,11,13,.06), rgba(11,11,13,.06)),
    repeating-linear-gradient(0deg, #e9e4d6 0 1px, transparent 1px 34px),
    repeating-linear-gradient(90deg, #e9e4d6 0 1px, transparent 1px 34px),
    #f2ede2;
}
.map-embed__pin{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-100%);
  display:flex; flex-direction:column; align-items:center;
}
.map-embed__pin svg{ width:40px; height:40px; color:var(--gg-red-2); filter:drop-shadow(0 8px 10px rgba(0,0,0,.25)); }
.map-embed__pin-ring{
  width:14px; height:14px;
  border-radius:50%;
  border:2px solid var(--gg-red-2);
  margin-top:-6px;
  animation:pinPulse 2.4s ease-out infinite;
}
@keyframes pinPulse{
  0%{ transform:scale(.4); opacity:.9; }
  100%{ transform:scale(2.6); opacity:0; }
}
.map-embed__label{
  position:absolute; left:20px; bottom:20px;
  background:#fff;
  padding:12px 16px;
  font-size:12px;
  color:var(--gg-ink-soft);
  border:1px solid rgba(27,26,29,.1);
  max-width:260px;
  line-height:1.6;
}
.map-embed__label b{ color:var(--gg-ink); display:block; font-size:13px; margin-bottom:3px; }

@media (max-width: 980px){
  .contact-grid{ grid-template-columns:1fr; }
}

/* =================== FOOTER =================== */
.footer{
  background:var(--gg-black);
  color:rgba(250,247,240,.62);
  padding:90px 0 34px;
  border-top:1px solid rgba(201,163,76,.14);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.1fr;
  gap:50px;
  padding-bottom:60px;
  border-bottom:1px solid rgba(250,247,240,.08);
}
.footer-brand img{ height:50px; margin-bottom:20px; }
.footer-brand p{
  font-size:13.5px;
  line-height:1.75;
  max-width:30ch;
  color:rgba(250,247,240,.5);
}
.footer h5{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gg-gold-light);
  margin-bottom:22px;
}
.footer-col ul{ display:flex; flex-direction:column; gap:13px; }
.footer-col a{ font-size:14px; transition:color .3s var(--ease); }
.footer-col a:hover{ color:var(--gg-gold-light); }
.footer-social{
  display:flex;
  gap:12px;
  margin-top:22px;
}
.footer-social a{
  width:38px; height:38px;
  border:1px solid rgba(250,247,240,.18);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.footer-social a:hover{ border-color:var(--gg-gold); color:var(--gg-gold-light); transform:translateY(-3px); }
.footer-social svg{ width:16px; height:16px; }
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  padding-top:30px;
  font-size:12.5px;
  color:rgba(250,247,240,.4);
}
.footer-bottom a{ color:rgba(250,247,240,.4); }
.footer-bottom a:hover{ color:var(--gg-gold-light); }

@media (max-width: 900px){
  .footer-grid{ grid-template-columns:1fr 1fr; row-gap:44px; }
}
@media (max-width: 560px){
  .footer-grid{ grid-template-columns:1fr; }
}

/* =================== STICKY MOBILE CTA =================== */
.sticky-cta{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:90;
  display:none;
  gap:1px;
  background:rgba(201,163,76,.3);
}
.sticky-cta a{
  flex:1;
  text-align:center;
  padding:16px 8px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sticky-cta .sc-call{ background:var(--gg-black); color:var(--gg-gold-light); }
.sticky-cta .sc-wa{ background:linear-gradient(135deg, var(--gg-red-2), var(--gg-red-deep)); color:#fff; }
.sticky-cta .sc-form{ background:linear-gradient(135deg, var(--gg-gold-light), var(--gg-gold)); color:#241a06; }
@media (max-width: 780px){
  .sticky-cta{ display:flex; }
  body{ padding-bottom:54px; }
}

/* =================== GENERIC SECTION SPACING FIX =================== */
@media (max-width: 640px){
  .requirements{ padding:90px 0 100px; }
  .why{ padding:90px 0; }
  .query-section{ padding:90px 0; }
  .contact-details{ padding:90px 0; }
  .contact-band{ padding:70px 0; }
  .footer{ padding:70px 0 28px; }
  .section-head{ margin-bottom:44px; }
}
