/* ============================================================
   Executive Search Dating — Theme stylesheet
   Matches Figma "Matchmaking moodboard Final"
   Fonts: Geist (sans), Newsreader (serif), Rethink Sans (display)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=Newsreader:ital,wght@0,400;0,500;1,400;1,500&family=Rethink+Sans:wght@400;500;600&display=swap');

:root{
  --orange:#EC6921;
  --orange-2:#F26522;
  --ink:#151515;
  --ink-2:#272727;
  --green:#1B2014;
  --cream:#FDFAF0;
  --white:#ffffff;
  --grey-1:#4D4D4D;
  --grey-2:#9B9B9B;
  --grey-3:#D5D5D5;
  --grey-4:#DFDFDF;
  --line:rgba(155,155,155,.3);
  --maxw:1840px;
  --pad:40px;
  --sans:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --display:'Rethink Sans',var(--sans);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--white);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
h1,h2,h3,h4,p{margin:0;}
.serif{font-family:var(--serif);}
.italic{font-style:italic;}
em{font-family:var(--serif);font-style:italic;}

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

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:56px;padding:0 28px;border-radius:60px;
  font-family:var(--sans);font-weight:500;font-size:16px;line-height:1;
  white-space:nowrap;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.btn--primary{background:var(--orange);color:#fff;}
.btn--primary:hover{background:#d65b18;transform:translateY(-2px);}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(21,21,21,.4);}
.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--ink);transform:translateY(-2px);}
.btn--lg{height:56px;}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:18px;}
.link-arrow svg{width:16px;height:16px;}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:absolute;top:0;left:0;right:0;z-index:50;
  height:80px;display:flex;align-items:center;
  border-bottom:.5px solid rgba(255,255,255,.15);
}
.site-header .wrap{display:flex;align-items:center;gap:32px;width:100%;}
.brand{display:flex;align-items:center;flex:0 0 auto;}
.brand__logo{height:38px;width:auto;}
.brand .custom-logo{height:38px;width:auto;max-width:280px;object-fit:contain;}
.brand--footer .brand__logo{height:34px;}
.main-nav{flex:1;display:flex;justify-content:center;}
.main-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.main-nav a{
  color:#fff;font-size:16px;font-weight:400;opacity:.92;
  position:relative;padding:6px 0;transition:opacity .2s;
}
.main-nav a:hover{opacity:1;}
.main-nav a.is-active,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{opacity:1;}
.main-nav a.is-active::after,.main-nav .current-menu-item>a::after,.main-nav .current_page_item>a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--orange);
}
.main-nav .esd-menu,.main-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.header-call{
  flex:0 0 auto;display:flex;align-items:center;gap:8px;
  height:48px;padding:0 22px;border-radius:6px;
  background:rgba(155,155,155,.16);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
  color:#fff;font-size:14px;
}
.header-call svg{width:15px;height:15px;}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:32px;height:32px;align-items:center;justify-content:center;}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;transition:.25s;}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;min-height:1080px;height:100vh;max-height:1080px;
  display:flex;align-items:flex-end;
  background:#2a2a2a;color:#fff;overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.35) 38%,rgba(0,0,0,0) 66%),
             linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 22%);
}
.hero__inner{position:relative;z-index:2;width:100%;padding-bottom:64px;}
.hero__eyebrow{
  font-size:13px;letter-spacing:.32em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:22px;font-weight:400;
}
.hero__title{
  font-family:var(--display);font-weight:400;
  font-size:64px;line-height:1.18;letter-spacing:-.01em;
  color:#eaeaea;max-width:880px;margin-bottom:22px;text-wrap:balance;
}
.hero__title em{font-family:var(--serif);font-style:italic;color:#fff;}
.hero__sub{font-size:16px;color:rgba(255,255,255,.78);margin-bottom:32px;}
.hero__sub b{font-weight:500;color:#fff;}

/* ============================================================
   PRESS MARQUEE
   ============================================================ */
.press{background:var(--green);padding:30px 0;overflow:hidden;border-bottom:.5px solid rgba(255,255,255,.06);}
.marquee{display:flex;width:max-content;animation:scroll-x 38s linear infinite;}
.marquee:hover{animation-play-state:paused;}
.marquee__group{display:flex;align-items:center;gap:72px;padding-right:72px;flex:0 0 auto;}
.press-logo{
  font-family:var(--serif);color:rgba(255,255,255,.62);
  font-size:30px;line-height:1;white-space:nowrap;display:flex;align-items:center;gap:6px;
}
.press-logo--sans{font-family:var(--sans);font-weight:700;letter-spacing:.02em;}
.press-logo small{font-size:11px;font-family:var(--sans);font-weight:700;letter-spacing:.05em;vertical-align:top;}
@keyframes scroll-x{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ============================================================
   SECTION SHELL
   ============================================================ */
.section{padding:96px 0;}
.section--green{background:var(--green);color:#fff;}
.section--cream{background:var(--cream);color:var(--ink);}
.section--white{background:#fff;color:var(--ink);}
.section-head{text-align:center;max-width:760px;margin:0 auto 64px;}
.section-title{
  font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.12;letter-spacing:-.01em;
}
.section-title em{font-style:italic;}
.section-sub{margin-top:14px;font-size:16px;color:rgba(255,255,255,.6);}
.section--cream .section-sub,.section--white .section-sub{color:var(--grey-1);}

/* ---------- How it works (3 steps) ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.step{padding:0 56px;position:relative;}
.step+.step::before{content:"";position:absolute;left:0;top:0;bottom:0;width:.5px;background:rgba(255,255,255,.18);}
.step__num{font-family:var(--serif);font-style:italic;font-size:52px;color:var(--orange);line-height:1;margin-bottom:28px;}
.step__title{font-size:22px;font-weight:400;margin-bottom:14px;color:#fff;}
.step__body{font-size:15px;line-height:1.7;color:rgba(255,255,255,.62);}

/* ============================================================
   WHO ARE WE
   ============================================================ */
.who{background:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.who__media{min-height:760px;background-size:cover;background-position:center;}
.who__content{
  background:var(--cream);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:96px 80px;
}
.who__title{font-family:var(--serif);font-size:40px;font-weight:400;margin-bottom:14px;}
.who__eyebrow{font-family:var(--serif);font-style:italic;color:var(--orange);font-size:20px;line-height:1.4;max-width:420px;margin-bottom:36px;}
.who__photo{width:348px;max-width:100%;aspect-ratio:348/428;object-fit:cover;margin-bottom:36px;}
.who__text{font-size:15px;line-height:1.8;color:var(--grey-1);max-width:560px;margin-bottom:30px;}

/* ============================================================
   SUCCESS STORIES (home)
   ============================================================ */
.stories-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:54px;}
.stories-head .section-title{text-align:left;}
.stories-head p{margin-top:10px;font-size:15px;color:rgba(255,255,255,.6);}
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.story{padding:0 48px;position:relative;}
.story:first-child{padding-left:0;}
.story+.story::before{content:"";position:absolute;left:0;top:0;bottom:0;width:.5px;background:rgba(255,255,255,.18);}
.story__title{font-size:22px;font-weight:400;font-family:var(--serif);margin-bottom:18px;color:#fff;}
.story__quote{font-size:14px;line-height:1.75;color:rgba(255,255,255,.6);margin-bottom:28px;}
.story__person{display:flex;align-items:center;gap:14px;}
.story__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.story__name{font-family:var(--serif);font-style:italic;font-size:15px;color:#fff;}
.story__watch{display:flex;align-items:center;gap:7px;color:var(--orange);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:6px;}
.story__watch::before{content:"";border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--orange);}

/* ============================================================
   COMMITMENT
   ============================================================ */
.commit-wrap{padding:104px 0;}
.commit{
  background:var(--cream);border-radius:2px;
  display:grid;grid-template-columns:1.05fr 1fr 1fr;
}
.commit__col{padding:56px;position:relative;}
.commit__col+.commit__col::before{content:"";position:absolute;left:0;top:40px;bottom:40px;width:.5px;background:var(--line);}
.commit__title{font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.15;margin-bottom:22px;}
.commit__text{font-size:18px;line-height:1.5;color:var(--ink-2);}
.commit__list{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column;gap:18px;}
.commit__list li{display:flex;gap:12px;font-size:15px;color:var(--ink-2);line-height:1.5;}
.commit__list li::before{
  content:"";flex:0 0 auto;width:18px;height:18px;margin-top:1px;
  background:var(--orange);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat;
}
.commit__intro{font-size:15px;font-weight:500;margin-bottom:14px;}
.commit__col .btn{width:100%;}

/* ---------- city marquee ---------- */
.cities{background:var(--cream);border-top:.5px solid var(--line);padding:22px 0;overflow:hidden;}
.cities .marquee{animation-duration:30s;}
.city-tag{font-family:var(--serif);font-size:15px;letter-spacing:.06em;color:var(--ink);opacity:.75;white-space:nowrap;}
.cities .marquee__group{gap:40px;padding-right:40px;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--green);color:#fff;position:relative;overflow:hidden;padding:80px 0 40px;}
.site-footer .wrap{display:flex;flex-direction:column;}
.footer-top{max-width:560px;margin-bottom:72px;}
.footer-top h3{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:16px;}
.footer-top p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.5);}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,260px));gap:48px;position:relative;z-index:2;}
.footer-col h4{font-family:var(--serif);font-size:18px;font-weight:400;margin-bottom:22px;}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;}
.footer-col--links ul a,.footer-col--loc ul span{font-size:14px;color:rgba(255,255,255,.6);transition:color .2s;}
.footer-col--links ul a:hover{color:#fff;}
.footer-contact p{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:10px;}
.socials{display:flex;gap:14px;margin-top:22px;}
.socials a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .2s;}
.socials a:hover{background:var(--orange);}
.socials svg{width:16px;height:16px;fill:#fff;}
.footer-watermark{
  position:absolute;right:var(--pad);bottom:40px;z-index:1;
  width:min(48%,720px);line-height:0;pointer-events:none;user-select:none;
}
.footer-watermark img{display:block;width:100%;height:auto;filter:brightness(0) invert(1);opacity:.06;}
.footer-bottom{
  margin-top:64px;padding-top:24px;border-top:.5px solid rgba(255,255,255,.1);
  font-size:12px;color:rgba(255,255,255,.45);position:relative;z-index:2;
}

/* ============================================================
   SUBPAGE HERO (success stories / location)
   ============================================================ */
.page-hero{
  position:relative;min-height:620px;display:flex;align-items:center;
  background:linear-gradient(180deg,#d7d4cf 0%,#9a978f 55%,#5a5750 100%);
  color:#fff;overflow:hidden;
}
.page-hero--photo{background:#2a2a2a;}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.page-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.1) 60%);}
.page-hero__inner{position:relative;z-index:2;padding-top:80px;}
.page-hero__title{font-family:var(--serif);font-size:56px;font-weight:400;line-height:1.1;margin-bottom:28px;color:#fff;}
.page-hero__title em{font-style:italic;}

/* ---------- testimonial cards (success stories page) ---------- */
.testimonials{max-width:1180px;margin:0 auto;padding:90px var(--pad);display:flex;flex-direction:column;gap:40px;}
.t-card{background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.05);overflow:hidden;}
.t-card__body{padding:44px 48px;}
.t-card__quote{font-style:italic;font-size:16px;line-height:1.7;color:#333;}
.t-card__quote p+p{margin-top:18px;}
.t-card__foot{display:flex;align-items:center;gap:16px;background:#eef0f2;padding:24px 48px;position:relative;}
.t-card__avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.t-card__name{font-weight:600;font-size:16px;color:var(--ink);}
.t-card__role{font-size:14px;color:var(--grey-1);}
.t-card__mark{position:absolute;right:44px;font-family:var(--serif);font-size:64px;line-height:1;color:#c9ccd1;}

/* ---------- location intro ---------- */
.loc-intro{padding:96px 0;background:#fff;}
.loc-intro__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start;}
.loc-intro__title{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.15;}
.loc-intro__title em{font-style:italic;}
.loc-intro p{font-size:15px;line-height:1.7;color:var(--grey-1);}
.loc-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;}

/* ---------- locations grid (carousel) ---------- */
.loc-cards{background:var(--cream);padding:90px 0;}
.loc-cards__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;}
.loc-cards__head .section-title{text-align:left;}
.loc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.loc-card{position:relative;}
.loc-card__img{aspect-ratio:3/4;border-radius:4px;background:#cfd3d8 center/cover no-repeat;position:relative;overflow:hidden;}
.loc-card__img .go{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;}
.loc-card__img .go svg{width:16px;height:16px;fill:#fff;}
.loc-card__name{margin-top:14px;font-size:16px;}
.loc-card--empty .loc-card__img{background:#fff;box-shadow:inset 0 0 0 1px #eee;}
.loc-card--empty .go{background:transparent;}
.loc-card--empty .go svg{fill:var(--grey-2);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1200px){
  .hero__title{font-size:52px;}
  .footer-watermark{font-size:104px;}
  .commit{grid-template-columns:1fr;}
  .commit__col+.commit__col::before{left:40px;right:40px;top:0;bottom:auto;width:auto;height:.5px;}
}
@media (max-width:1024px){
  :root{--pad:28px;}
  .main-nav{display:none;}
  .nav-toggle{display:flex;}
  .header-call{display:none;}
  .who{grid-template-columns:1fr;}
  .who__media{min-height:420px;}
  .who__content{padding:64px 36px;}
  .loc-grid{grid-template-columns:repeat(2,1fr);}
  .loc-intro__grid{grid-template-columns:1fr;gap:32px;}
}
@media (max-width:820px){
  .section{padding:64px 0;}
  .steps,.stories{grid-template-columns:1fr;gap:44px;}
  .step,.story{padding:0;}
  .step+.step::before,.story+.story::before{display:none;}
  .step{padding-top:44px;border-top:.5px solid rgba(255,255,255,.15);}
  .story+.story{padding-top:44px;border-top:.5px solid rgba(255,255,255,.15);}
  .story:first-child{border-top:none;padding-top:0;}
  .stories-head{flex-direction:column;align-items:flex-start;}
  .section-title{font-size:34px;}
  .footer-cols{grid-template-columns:1fr;gap:40px;order:1;}
  .footer-top{order:2;margin-bottom:0;margin-top:44px;max-width:none;}
  .footer-bottom{order:3;}
  .footer-watermark{position:static;order:4;width:100%;margin-top:36px;margin-bottom:-8px;overflow:hidden;}
  .footer-watermark img{opacity:.3;-webkit-mask:linear-gradient(180deg,#000 48%,transparent 100%);mask:linear-gradient(180deg,#000 48%,transparent 100%);}
  .testimonials{padding:56px 20px;}
  .t-card__body{padding:32px 28px;}
  .t-card__foot{padding:20px 28px;}
}
@media (max-width:600px){
  :root{--pad:20px;}
  .hero{min-height:640px;height:auto;padding:120px 0 0;}
  .hero__inner{padding-bottom:48px;}
  .hero__title{font-size:38px;}
  .page-hero__title{font-size:38px;}
  .who__photo{width:100%;}
  .footer-cols{grid-template-columns:1fr;}
  .footer-col ul{grid-template-columns:1fr 1fr;}
  .loc-grid{grid-template-columns:1fr;}
  .btn{width:100%;}
  .hero .btn{width:auto;}
}

/* ---------- generic content (page / posts) ---------- */
.entry{max-width:820px;margin:0 auto;padding:80px var(--pad);font-size:17px;line-height:1.75;color:var(--grey-1);}
.entry h1,.entry h2,.entry h3{font-family:var(--serif);color:var(--ink);font-weight:400;line-height:1.2;margin:1.4em 0 .5em;}
.entry h2{font-size:30px;}.entry h3{font-size:24px;}
.entry p{margin:0 0 1.2em;}
.entry a{color:var(--orange);text-decoration:underline;text-underline-offset:2px;}
.entry img{border-radius:4px;margin:1em 0;}
.entry blockquote{border-left:3px solid var(--orange);margin:1.5em 0;padding:.2em 0 .2em 24px;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink);}
.entry ul,.entry ol{margin:0 0 1.2em;padding-left:22px;}
.post-list{max-width:820px;margin:0 auto;padding:80px var(--pad);display:flex;flex-direction:column;gap:56px;}
.post-item__title{font-family:var(--serif);font-weight:400;font-size:32px;margin-bottom:8px;}
.post-item__title a:hover{color:var(--orange);}
.post-item__meta{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-2);margin-bottom:16px;}
.post-item__excerpt{color:var(--grey-1);line-height:1.7;margin-bottom:16px;}
.esd-pagination{max-width:820px;margin:0 auto;padding:0 var(--pad) 80px;}
.esd-pagination .nav-links{display:flex;gap:10px;flex-wrap:wrap;}
.esd-pagination a,.esd-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:50px;font-size:15px;box-shadow:inset 0 0 0 1px rgba(21,21,21,.15);}
.esd-pagination .current{background:var(--orange);color:#fff;box-shadow:none;}

/* ---------- mobile menu drawer ---------- */
.mobile-menu{
  position:fixed;inset:0;z-index:200;background:var(--green);color:#fff;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;padding:28px var(--pad);
}
.mobile-menu.is-open{transform:translateX(0);}
.mobile-menu__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;}
.mobile-menu__close{font-size:30px;color:#fff;line-height:1;}
.mobile-menu nav a{display:block;font-family:var(--serif);font-size:30px;padding:14px 0;border-bottom:.5px solid rgba(255,255,255,.1);}
.mobile-menu .btn{margin-top:32px;}
.mobile-menu__call{margin-top:auto;padding-top:24px;color:rgba(255,255,255,.6);font-size:15px;}
body.menu-open{overflow:hidden;}

/* ============================================================
   BOOKING MODAL (Gravity Forms)
   ============================================================ */
.esd-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;}
.esd-modal[hidden]{display:none;}
.esd-modal__backdrop{position:absolute;inset:0;background:rgba(15,18,12,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.esd-modal__dialog{position:relative;z-index:1;background:#fff;border-radius:14px;max-width:580px;width:100%;max-height:90vh;overflow:auto;padding:48px 48px 40px;box-shadow:0 30px 90px rgba(0,0,0,.45);animation:esd-pop .28s cubic-bezier(.2,.8,.3,1);}
@keyframes esd-pop{from{transform:translateY(16px) scale(.98);opacity:0;}to{transform:none;opacity:1;}}
.esd-modal__close{position:absolute;top:12px;right:18px;font-size:32px;line-height:1;color:var(--ink-2);transition:color .2s;}
.esd-modal__close:hover{color:var(--orange);}
body.esd-modal-open{overflow:hidden;}
/* Brand the Gravity Form inside the modal */
.esd-modal .gform_heading{margin-bottom:18px;}
.esd-modal .gform_title{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--ink);}
.esd-modal .gfield_label{font-family:var(--sans);font-weight:500;font-size:14px;color:var(--ink);}
.esd-modal .ginput_container input,
.esd-modal .ginput_container textarea,
.esd-modal .ginput_container select{font-family:var(--sans);font-size:15px;width:100%;padding:12px 14px;border:1px solid #d9d7d1;border-radius:8px;background:#fff;}
.esd-modal .ginput_container input:focus,
.esd-modal .ginput_container textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(236,105,33,.15);}
.esd-modal .gform_footer{margin-top:22px;}
.esd-modal .gform_button{background:var(--orange);color:#fff;border:none;border-radius:60px;height:54px;padding:0 30px;font-family:var(--sans);font-weight:500;font-size:16px;cursor:pointer;transition:background .2s,transform .2s;}
.esd-modal .gform_button:hover{background:#d65b18;transform:translateY(-2px);}
@media (max-width:600px){
  .esd-modal__dialog{padding:40px 24px 28px;border-radius:12px;}
}
