
:root{
  --bg:#050505;
  --panel:#0b0b0a;
  --panel-soft:#11100e;
  --text:#f5f0e8;
  --muted:rgba(245,240,232,.68);
  --dim:rgba(245,240,232,.52);
  --line:rgba(255,255,255,.12);
  --gold:#c8a96a;
  --gold-soft:#ead7ab;
  --radius:28px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 12% 8%,rgba(200,169,106,.10),transparent 26%),radial-gradient(circle at 85% 16%,rgba(255,255,255,.06),transparent 25%),#050505}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{margin:0;color:var(--muted)}p+p{margin-top:12px}h1,h2,h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.05}h1{font-size:clamp(3.2rem,8vw,7.8rem);letter-spacing:-.055em;max-width:980px}h2{font-size:clamp(2.25rem,4.6vw,4.9rem);letter-spacing:-.04em;max-width:920px}h3{font-size:clamp(1.35rem,2.3vw,2.1rem);letter-spacing:-.025em}.site-header{position:fixed;top:0;left:0;right:0;height:78px;z-index:99;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,4rem);background:rgba(6,6,6,.62);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:42px;height:42px;border:1px solid rgba(200,169,106,.52);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-family:"Playfair Display",Georgia,serif;font-size:1rem;letter-spacing:-.04em}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-word{letter-spacing:.34em;font-size:.88rem;font-weight:700}.brand-sub{margin-top:.28rem;letter-spacing:.28em;font-size:.62rem;color:var(--gold);font-weight:700}.nav{display:flex;align-items:center;gap:1.25rem;color:rgba(245,240,232,.74);font-size:.88rem}.nav a:hover{color:var(--text)}.nav-cta{border:1px solid rgba(200,169,106,.5);border-radius:999px;padding:.68rem 1rem;color:var(--gold)!important}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.65rem 1rem;font:inherit}.hero{min-height:92vh;display:flex;align-items:flex-end;position:relative;padding:9rem clamp(1.2rem,5vw,5rem) 5.5rem;background-size:cover;background-position:center;isolation:isolate;overflow:hidden}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero[style]{background-color:#050505}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.32)),linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.08) 56%)}.hero-inner{max-width:960px}.hero-caption{position:absolute;right:clamp(1.2rem,5vw,5rem);bottom:1.35rem;z-index:1;padding:.55rem .8rem;border:1px solid rgba(200,169,106,.3);border-radius:999px;background:rgba(0,0,0,.42);backdrop-filter:blur(10px);color:rgba(245,240,232,.78);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;font-weight:700}.lead{font-size:clamp(1.12rem,1.8vw,1.42rem);max-width:760px;margin-top:1.4rem;color:rgba(245,240,232,.8)}.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.86rem 1.45rem;border-radius:999px;background:var(--text);color:#050505;font-weight:700;font-size:.9rem;border:1px solid transparent}.btn.secondary{background:transparent;color:var(--text);border-color:rgba(255,255,255,.25)}.btn.gold{background:var(--gold);color:#050505}.section{max-width:var(--max);margin:0 auto;padding:clamp(4.8rem,8vw,8rem) clamp(1.2rem,5vw,5rem)}.section.slim{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem)}.narrow{max-width:880px}.section-header{max-width:850px;margin-bottom:3rem}.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));border-radius:var(--radius);padding:clamp(1.35rem,2.4vw,2.1rem)}.card p,.image-card p{margin-top:.9rem}.card:hover,.link-card:hover{border-color:rgba(200,169,106,.58);background:linear-gradient(180deg,rgba(200,169,106,.105),rgba(255,255,255,.025));transform:translateY(-6px)}.link-card{display:block;transition:transform .35s ease,border-color .35s ease,background .35s ease}.num{color:var(--gold);font-size:.78rem;letter-spacing:.22em;margin-bottom:1rem;text-transform:uppercase}.kpi{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:var(--max);margin:0 auto}.kpi div{padding:2rem;border-right:1px solid var(--line)}.kpi div:last-child{border-right:0}.kpi strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:2.6rem;line-height:1;color:var(--gold)}.kpi span{display:block;margin-top:.85rem;color:rgba(245,240,232,.66);font-size:.92rem;line-height:1.42}.split{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:stretch}.feature{min-height:560px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end}.feature:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.1) 70%)}.feature-content{position:relative;padding:2rem}.image-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024))}.image-card img{height:260px;width:100%;object-fit:cover}.image-card div{padding:1.5rem}.quote-band{max-width:var(--max);margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(1.2rem,5vw,5rem);border-top:1px solid rgba(200,169,106,.25);border-bottom:1px solid rgba(200,169,106,.25);text-align:center}.quote-band h2{margin:0 auto}.quote-band p{margin:1.3rem auto 0;max-width:820px}.tag{display:inline-flex;border:1px solid rgba(200,169,106,.36);border-radius:999px;padding:.34rem .72rem;margin:.25rem;color:#ead7ab;font-size:.8rem}.steps{counter-reset:steps;display:grid;gap:1rem}.step{counter-increment:steps;display:grid;grid-template-columns:80px 1fr;gap:1.2rem;align-items:start;border:1px solid var(--line);border-radius:24px;padding:1.35rem;background:rgba(255,255,255,.028)}.step:before{content:"0" counter(steps);font-family:"Playfair Display",Georgia,serif;font-size:2.1rem;color:var(--gold);line-height:1}.cta-panel{max-width:var(--max);margin:clamp(3rem,6vw,5rem) auto;padding:clamp(2rem,4vw,3.7rem);border:1px solid rgba(200,169,106,.35);border-radius:32px;background:radial-gradient(circle at top right,rgba(200,169,106,.14),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));text-align:center}.cta-panel p{max-width:760px;margin:1rem auto 0}.cta-panel .actions{justify-content:center}.note{font-size:.88rem;color:var(--dim);margin-top:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form{display:grid;gap:1rem;margin-top:2rem}.form input,.form textarea,.form select{width:100%;padding:1rem;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;color:var(--text);font:inherit}.form textarea{min-height:150px}.legal h2{font-size:clamp(1.7rem,3vw,2.6rem);margin-top:2.4rem}.legal ul{color:var(--muted)}
/* Legal page width alignment */
.legal-wide{max-width:var(--max)}
.legal-wide .breadcrumb,.legal-wide p,.legal-wide ul{max-width:1040px}
.legal-wide h2{max-width:980px}
.footer{border-top:1px solid var(--line);padding:4rem clamp(1.2rem,5vw,5rem) 2rem;background:#030303}.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.footer a{display:block;color:var(--muted);margin:.45rem 0}.footer h4{color:var(--gold);margin:0 0 1rem}.footer-logo{letter-spacing:.34em;font-size:.86rem;font-weight:700}.footer-affiliation{max-width:var(--max);margin:2rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(200,169,106,.14);font-size:.82rem;letter-spacing:.02em;color:rgba(245,240,232,.52)}.footer-bottom{max-width:var(--max);margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;color:rgba(245,240,232,.48);font-size:.86rem}.fade{opacity:0;transform:translateY(32px);transition:.8s}.fade.visible{opacity:1;transform:translateY(0)}.breadcrumb{font-size:.82rem;color:var(--dim);margin-bottom:1.25rem}.breadcrumb a{color:var(--gold)}
.benefit-card{display:flex;flex-direction:column}.benefit-list{margin:1.15rem 0 0;padding:0;list-style:none;display:grid;gap:.72rem;color:rgba(245,240,232,.72)}.benefit-list li{position:relative;padding-left:1.25rem;line-height:1.5}.benefit-list li:before{content:"";position:absolute;left:0;top:.68em;width:.42rem;height:.42rem;border-radius:999px;background:var(--gold);box-shadow:0 0 0 3px rgba(200,169,106,.12)}.benefit-support{margin-top:1.25rem}.benefit-support .card{background:linear-gradient(180deg,rgba(200,169,106,.08),rgba(255,255,255,.024))}
@media(max-width:950px){.menu-toggle{display:block}.nav{display:none;position:fixed;top:82px;left:1rem;right:1rem;flex-direction:column;align-items:stretch;background:#0a0a0a;border:1px solid var(--line);border-radius:22px;padding:1rem}.nav.open{display:flex}.grid-2,.grid-3,.grid-4,.footer-grid,.split,.form-grid,.kpi{grid-template-columns:1fr}.kpi div{border-right:0;border-bottom:1px solid var(--line)}.kpi div:last-child{border-bottom:0}.hero{padding-inline:1.2rem;min-height:86vh}.feature{min-height:420px}.footer-bottom{flex-direction:column}.brand-word{font-size:.8rem}.brand-sub{font-size:.58rem}.step{grid-template-columns:1fr}.site-header{padding-inline:1rem}}

.faq-grid,.faq-list{display:grid;gap:1rem}.faq-item{border:1px solid rgba(200,169,106,.22);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden;transition:border-color .25s ease,background .25s ease,transform .25s ease}.faq-item:hover{border-color:rgba(200,169,106,.38);background:rgba(255,255,255,.035)}.accordion-faq .faq-item[open],.faq-list .faq-item[open]{border-color:rgba(200,169,106,.48);background:rgba(255,255,255,.04)}.accordion-faq summary,.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.03em;color:var(--text)}.accordion-faq summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.faq-icon{position:relative;flex:0 0 auto;width:1.55rem;height:1.55rem;border:1px solid rgba(200,169,106,.5);border-radius:999px}.faq-icon:before,.faq-icon:after{content:"";position:absolute;left:50%;top:50%;width:.7rem;height:1px;background:var(--gold);transform:translate(-50%,-50%);transition:transform .25s ease}.faq-icon:after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item[open] .faq-icon:after{transform:translate(-50%,-50%) rotate(0deg)}.faq-item p{margin:0;padding:0 1.4rem 1.25rem;color:var(--muted)}.benefits-grid .card h3{font-size:clamp(1.2rem,1.8vw,1.55rem)}

.partner-programme-card .partner-logo-wrap{height:260px;border-bottom:1px solid rgba(200,169,106,.22);background:#f6f1e8;display:grid;place-items:center;padding:2rem}.partner-programme-card .partner-logo-wrap img{width:100%;height:100%;object-fit:contain;filter:none}.partner-brand-section{padding-top:0}.partner-brand-panel{display:grid;grid-template-columns:minmax(260px,.72fr) 1.28fr;gap:clamp(1.4rem,3vw,2.8rem);align-items:center;border:1px solid rgba(200,169,106,.28);border-radius:32px;padding:clamp(1.4rem,3vw,2.8rem);background:radial-gradient(circle at top left,rgba(200,169,106,.14),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02))}.partner-logo-wrap.large{min-height:230px;border:1px solid rgba(200,169,106,.36);border-radius:24px;background:#f6f1e8;display:grid;place-items:center;padding:2rem;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.partner-logo-wrap.large img{max-width:100%;max-height:170px;object-fit:contain;filter:none}.partner-brand-panel p{margin-top:1rem;max-width:720px}
@media(max-width:950px){.partner-brand-panel{grid-template-columns:1fr}.partner-logo-wrap.large{min-height:180px}.partner-programme-card .partner-logo-wrap{height:220px}}

/* Partner brand card layout fix: keeps partner logo/image in a dedicated top area and prevents overlap with the programme name. */
.partner-programme-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  position:relative;
  overflow:hidden;
}
.partner-programme-card > .partner-logo-wrap{
  box-sizing:border-box;
  width:100%;
  height:275px;
  min-height:275px;
  flex:0 0 275px;
  display:grid;
  place-items:center;
  padding:2.4rem !important;
  margin:0;
  border:0;
  border-bottom:1px solid rgba(200,169,106,.26);
  border-radius:0;
  background:#f6f1e8;
  position:relative;
  z-index:1;
}
.partner-programme-card > .partner-logo-wrap img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:202px;
  object-fit:contain;
  filter:none;
}
.partner-programme-card > div:not(.partner-logo-wrap){
  box-sizing:border-box;
  padding:1.65rem !important;
  position:relative;
  z-index:2;
  flex:1;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));
}
.partner-programme-card h3{
  margin-top:0;
  position:relative;
  z-index:3;
}
.partner-programme-card p{
  position:relative;
  z-index:3;
}
.partner-logo-wrap.large{
  overflow:hidden;
}
.partner-logo-wrap.large img{
  width:auto;
  height:auto;
  max-width:min(100%,430px);
  max-height:195px;
  object-fit:contain;
}
@media(max-width:950px){
  .partner-programme-card > .partner-logo-wrap{
    height:230px;
    min-height:230px;
    flex-basis:230px;
    padding:2rem !important;
  }
  .partner-programme-card > .partner-logo-wrap img{
    max-height:163px;
  }
}

/* Partner logo final sizing: keep a clean 20px clearance around the limiting edge while letting the logo fill the panel neatly. */
.partner-programme-card > .partner-logo-wrap{
  height:275px;
  min-height:275px;
  flex-basis:275px;
  padding:20px !important;
}
.partner-programme-card > .partner-logo-wrap img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.partner-logo-wrap.large{
  min-height:270px;
  padding:20px !important;
}
.partner-logo-wrap.large img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
@media(max-width:950px){
  .partner-programme-card > .partner-logo-wrap{
    height:230px;
    min-height:230px;
    flex-basis:230px;
    padding:20px !important;
  }
  .partner-logo-wrap.large{
    min-height:230px;
    padding:20px !important;
  }
}

/* Partner logo containment: logos stay in the top logo section, with the earlier approved sizing restored. */
.partner-programme-card.image-card{
  display:grid !important;
  grid-template-rows:275px minmax(0,1fr) !important;
  min-height:100% !important;
  overflow:hidden !important;
}
.partner-programme-card.image-card > .partner-logo-wrap{
  grid-row:1 !important;
  box-sizing:border-box !important;
  width:100% !important;
  height:275px !important;
  min-height:275px !important;
  max-height:275px !important;
  padding:2.4rem !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f6f1e8 !important;
  border:0 !important;
  border-bottom:1px solid rgba(200,169,106,.26) !important;
  border-radius:0 !important;
  overflow:hidden !important;
  position:relative !important;
  z-index:1 !important;
}
.partner-programme-card.image-card > .partner-logo-wrap img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:202px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  filter:none !important;
  position:static !important;
}
.partner-programme-card.image-card > .partner-programme-body,
.partner-programme-card.image-card > div:not(.partner-logo-wrap){
  grid-row:2 !important;
  box-sizing:border-box !important;
  padding:1.65rem !important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024)) !important;
  position:relative !important;
  z-index:2 !important;
}
.partner-programme-card.image-card h3,
.partner-programme-card.image-card p{
  position:relative !important;
  z-index:3 !important;
}
.partner-brand-panel{
  align-items:center !important;
}
.partner-logo-wrap.large{
  box-sizing:border-box !important;
  min-height:230px !important;
  padding:2rem !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#f6f1e8 !important;
}
.partner-logo-wrap.large img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:170px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  filter:none !important;
}
@media(max-width:950px){
  .partner-programme-card.image-card{
    grid-template-rows:230px minmax(0,1fr) !important;
  }
  .partner-programme-card.image-card > .partner-logo-wrap{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
    padding:2rem !important;
  }
  .partner-programme-card.image-card > .partner-logo-wrap img{
    max-height:163px !important;
  }
  .partner-logo-wrap.large{
    min-height:180px !important;
    padding:2rem !important;
  }
  .partner-logo-wrap.large img{
    max-height:140px !important;
  }
}


/* Site logo and footer alignment updated to match the GUESTX Hospitality template. */
.brand{display:flex;align-items:center;gap:.75rem;min-width:0}
.brand-logo{display:block;width:clamp(138px,12vw,178px);height:auto;max-height:42px;object-fit:contain}
.brand-subline{display:inline-flex;align-items:center;min-height:24px;border-left:1px solid rgba(200,169,106,.38);padding-left:.78rem;color:var(--gold);font-size:.62rem;font-weight:700;letter-spacing:.32em;line-height:1;text-transform:uppercase}
.footer-logo-image{display:inline-flex!important;align-items:center;margin:0 0 1rem 0!important;max-width:180px}
.footer-logo-image img{display:block;width:180px;max-width:100%;height:auto;max-height:44px;object-fit:contain}
.footer .footer-grid p{max-width:360px}
.footer-bottom{align-items:flex-end}
.footer-bottom .footer-affiliation{display:inline;color:rgba(245,240,232,.62);font-size:inherit;letter-spacing:inherit;margin:0;padding:0;border:0;max-width:none}
.footer-bottom .footer-affiliation a{display:inline;color:var(--gold);margin:0;text-decoration:none}
.footer-copyright{white-space:nowrap;text-align:right;color:rgba(245,240,232,.58)}
@media(max-width:950px){.brand-logo{width:138px}.brand-subline{display:none}.footer-bottom{align-items:flex-start}.footer-copyright{text-align:left;white-space:normal}.footer-logo-image img{width:160px}}


/* Curator.io social feed styling for Ideas & News. */
.curator-section .section-header{max-width:860px;margin-bottom:1.75rem}
.curator-feed-panel{border:1px solid rgba(200,169,106,.22);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));box-shadow:0 24px 70px rgba(0,0,0,.28);padding:1.35rem;overflow:hidden}
.curator-feed-panel #curator-feed-default-feed-layout{min-height:260px}
.curator-feed-panel .crt-logo.crt-tag{display:inline-flex;margin:.25rem 0 0 0;color:rgba(245,240,232,.56);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
@media(max-width:720px){.curator-feed-panel{border-radius:22px;padding:1rem}.curator-feed-panel #curator-feed-default-feed-layout{min-height:220px}}


/* Canva inspiration gallery for Ideas & News. */
.canva-section{padding-top:clamp(3rem,6vw,5.5rem)}
.canva-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start}
.canva-card{display:flex;flex-direction:column;border:1px solid rgba(200,169,106,.22);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));box-shadow:0 24px 70px rgba(0,0,0,.24);padding:.9rem;overflow:hidden}
.canva-frame{position:relative;width:100%;height:0;padding-top:var(--ratio);overflow:hidden;border-radius:20px;background:#111;box-shadow:0 2px 8px rgba(63,69,81,.16);will-change:transform}
.canva-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;margin:0}
.canva-book-link{display:inline-flex;align-items:center;justify-content:center;margin-top:.9rem;padding:.78rem 1rem;border-radius:999px;background:var(--gold);color:#111!important;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.canva-book-link:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 30px rgba(200,169,106,.22)}
@media(max-width:950px){.canva-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.canva-gallery{grid-template-columns:1fr}.canva-card{border-radius:22px;padding:.75rem}.canva-frame{border-radius:16px}}

/* Plan a Trip embedded enquiry form */
.enquiry-intro{padding-bottom:clamp(3rem,6vw,5rem)}
.plan-form-section{padding-top:0}
.form-embed-panel{border:1px solid rgba(200,169,106,.30);border-radius:32px;background:radial-gradient(circle at top left,rgba(200,169,106,.12),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:0 24px 70px rgba(0,0,0,.28);padding:clamp(1.35rem,3vw,2.6rem);overflow:hidden}
.form-embed-panel .lead{max-width:760px}
.mighty-form-wrap{margin-top:2rem;border:1px solid rgba(200,169,106,.22);border-radius:24px;background:#f7f3eb;padding:clamp(.8rem,2vw,1.35rem);overflow:hidden}
.mighty-form-wrap #mf_placeholder{width:100%;min-height:4167px}
@media(max-width:720px){.form-embed-panel{border-radius:24px}.mighty-form-wrap{border-radius:18px;padding:.65rem}.mighty-form-wrap #mf_placeholder{min-height:4167px}}


.support-strip{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid rgba(200,169,106,.30);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.022));padding:clamp(1.35rem,2.5vw,2.2rem)}
.support-strip h3{margin-bottom:.8rem}
.support-strip .btn{flex:0 0 auto;text-align:center}
.mighty-form-wrap.existing-booking-form #mf_placeholder{min-height:988px}
.mighty-form-wrap.general-contact-form #mf_placeholder{min-height:921px}
@media(max-width:720px){.support-strip{display:block}.support-strip .btn{width:100%;margin-top:1.25rem}.mighty-form-wrap.existing-booking-form #mf_placeholder{min-height:988px}.mighty-form-wrap.general-contact-form #mf_placeholder{min-height:921px}}

/* Footer logo alignment: keep the footer brand mark flush left within its column. */
.footer-logo-image{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  text-align:left!important;
  width:fit-content;
  margin-left:0!important;
  margin-right:auto!important;
}
.footer-logo-image img{
  margin-left:0!important;
  margin-right:auto!important;
}



/* Site-wide GDPR / cookie notice */
.gdpr-banner{
  position:fixed;
  left:50%;
  bottom:clamp(1rem,3vw,1.6rem);
  z-index:9999;
  width:min(1120px,calc(100% - 2rem));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  padding:1rem;
  border:1px solid rgba(200,169,106,.38);
  border-radius:24px;
  background:rgba(8,8,8,.94);
  color:#f5f0e8;
  box-shadow:0 24px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(16px);
  transform:translate(-50%,24px);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease,transform .28s ease;
}
.gdpr-banner.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.gdpr-banner__content p{
  margin:0;
  color:rgba(245,240,232,.78);
  font-size:.92rem;
  line-height:1.55;
}
.gdpr-banner__content strong{
  color:#f5f0e8;
  font-weight:600;
}
.gdpr-banner__content a{
  color:#c8a96a;
  text-decoration:none;
  border-bottom:1px solid rgba(200,169,106,.45);
}
.gdpr-banner__content a:hover{
  border-bottom-color:rgba(200,169,106,.9);
}
.gdpr-banner__actions{
  display:flex;
  flex:0 0 auto;
  gap:.7rem;
}
.gdpr-btn{
  appearance:none;
  border:1px solid rgba(200,169,106,.72);
  border-radius:999px;
  padding:.72rem 1.05rem;
  background:#c8a96a;
  color:#050505;
  font:600 .78rem/1 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;
}
.gdpr-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.28);
  background:#f5f0e8;
  border-color:rgba(245,240,232,.85);
}
.gdpr-btn--secondary{
  background:transparent;
  color:#f5f0e8;
  border-color:rgba(245,240,232,.24);
}
.gdpr-btn--secondary:hover{
  background:rgba(200,169,106,.1);
  border-color:rgba(200,169,106,.65);
  color:#f5f0e8;
}
@media(max-width:760px){
  .gdpr-banner{
    flex-direction:column;
    align-items:flex-start;
    border-radius:20px;
    padding:1rem;
  }
  .gdpr-banner__actions{
    width:100%;
  }
  .gdpr-btn{
    flex:1;
    text-align:center;
  }
}

.anchor-target{display:block;position:relative;top:-110px;visibility:hidden}
#general-contact-form,#mach-form{scroll-margin-top:120px}

/* Contact intro width and premium MachForm embeds */
.contact-routes-intro{max-width:var(--max)}
.contact-routes-intro h2{max-width:980px}
.contact-routes-intro .lead{max-width:1040px;font-size:clamp(1.05rem,1.35vw,1.18rem);line-height:1.75}
.form-embed-panel{position:relative;border:1px solid rgba(200,169,106,.46);background:radial-gradient(circle at 12% 0%,rgba(200,169,106,.17),transparent 30%),linear-gradient(180deg,rgba(18,15,11,.96),rgba(10,10,10,.95));box-shadow:0 34px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.07)}
.form-embed-panel:before{content:"";position:absolute;left:clamp(1.35rem,3vw,2.6rem);right:clamp(1.35rem,3vw,2.6rem);top:0;height:3px;background:linear-gradient(90deg,transparent,rgba(200,169,106,.95),transparent)}
.form-embed-panel h2{margin-top:.35rem}
.form-embed-panel .eyebrow{display:inline-flex;align-items:center;border:1px solid rgba(200,169,106,.36);border-radius:999px;padding:.38rem .78rem;background:rgba(200,169,106,.08)}
.mighty-form-wrap{position:relative;margin-top:2.1rem;border:1px solid rgba(200,169,106,.55);border-radius:26px;background:linear-gradient(180deg,#fffaf1,#f4efe5);padding:clamp(1rem,2.2vw,1.55rem);box-shadow:0 22px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.72)}
.mighty-form-wrap:before{content:"Secure enquiry form";display:block;margin:0 0 .85rem;color:#6c5528;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.mighty-form-wrap #mf_placeholder{border-radius:18px;overflow:hidden;background:#fff}
@media(max-width:720px){.contact-routes-intro .lead{font-size:1rem;line-height:1.65}.form-embed-panel:before{left:1rem;right:1rem}.mighty-form-wrap:before{font-size:.66rem}}


/* Footer text lockup replacing footer logo image. */
.footer-logo-text{
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  width:fit-content;
  margin:0 0 1rem 0!important;
  color:var(--paper)!important;
  font-size:.9rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.30em;
  text-transform:uppercase;
  text-decoration:none;
}
.footer-logo-text span{
  color:var(--gold);
  margin:0 .35rem;
  letter-spacing:0;
}
@media(max-width:720px){.footer-logo-text{font-size:.82rem;letter-spacing:.24em}}
/* Wider partners introduction to match Hospitality-style page proportions */
.partners-intro{max-width:var(--max)}
.partners-intro h2{max-width:980px}
.partners-intro .lead{max-width:1040px;font-size:clamp(1.05rem,1.35vw,1.18rem);line-height:1.75}
.partners-intro p:not(.lead){max-width:1040px}
@media(max-width:720px){.partners-intro .lead{font-size:1rem;line-height:1.65}}

/* Wider page introduction sections aligned with the GUESTX Hospitality page rhythm */
.page-intro{max-width:var(--max)}
.page-intro h2{max-width:980px}
.page-intro .lead{max-width:1040px;font-size:clamp(1.05rem,1.35vw,1.18rem);line-height:1.75}
.page-intro p:not(.lead){max-width:1040px}
@media(max-width:720px){.page-intro .lead{font-size:1rem;line-height:1.65}}

.legal h3{font-size:clamp(1.15rem,2vw,1.55rem);margin-top:2.2rem;margin-bottom:.8rem;color:var(--gold);letter-spacing:.02em}.legal h3+p{margin-top:.2rem}.legal-wide h3{max-width:980px}
