/* ── FULL-WIDTH BREAKOUT ── */
.entry-content.is-layout-constrained,
.wp-block-post-content.is-layout-constrained,
.has-global-padding{padding-left:0!important;padding-right:0!important;max-width:none!important}
.entry-content>.wp-block-html,.wp-block-post-content>.wp-block-html{
  max-width:none!important;width:100%!important;margin:0!important;padding:0!important;
}
.ll-hero{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;}
.ll-trust{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;}
.ll-cta-band{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;}
.ll-disclaimer{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;}
.ll-section{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;}

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* ── BRAND TOKENS ── */
:root{
  --ll-navy:#0D1B3E;--ll-navy-mid:#152447;--ll-navy-light:#1E3163;
  --ll-gold:#C4A064;--ll-gold-light:#D4B57A;
  --ll-white:#fff;--ll-off-white:#F8F6F1;--ll-gray:#8A9AB5;--ll-text:#2C3E5C;
  --ll-serif:'Playfair Display',Georgia,serif;
  --ll-sans:'Inter',-apple-system,sans-serif;
}

/* ── HIDE OLD THEME HEADER / SITE TITLE AREA ── */
.wp-block-template-part[data-slug="header"],
.wp-site-blocks > header,
.site-header,
header.wp-block-template-part {
  display: none !important;
}

/* ── FULL-WIDTH SECTIONS — remove theme content constraints ── */
.wp-site-blocks,
.wp-site-blocks > main,
.wp-block-group.is-layout-constrained,
.entry-content,
.wp-block-post-content,
.wp-block-post-content > .wp-block-html {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.wp-block-html { margin: 0 !important; }

/* ── SECTION BASE ── */
.ll-section { padding: 100px 0; position: relative; }
.ll-dark  { background: var(--ll-navy); color: #fff; }
.ll-white-bg { background: #fff; color: var(--ll-text); }

/* ── CONTAINER ── */
.ll-container {
  max-width: 1160px; margin: 0 auto;
  padding: 0 48px; box-sizing: border-box;
}

/* ── TYPOGRAPHY ── */
.ll-eyebrow {
  font-family: var(--ll-sans); font-size: 11px; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--ll-gold); margin-bottom: 16px; display: block;
}
.ll-h1 {
  font-family: var(--ll-serif); font-size: clamp(40px,5vw,68px);
  font-weight: 700; line-height: 1.1; color: #fff; margin: 0 0 24px;
}
.ll-h2 {
  font-family: var(--ll-serif); font-size: clamp(30px,3.5vw,48px);
  font-weight: 600; line-height: 1.2; margin: 0 0 20px;
}
.ll-h3 {
  font-family: var(--ll-serif); font-size: 22px;
  font-weight: 600; line-height: 1.3; margin: 0 0 12px;
}
.ll-body {
  font-family: var(--ll-sans); font-size: 17px;
  line-height: 1.75; font-weight: 300;
}

/* ── BUTTONS ── */
.ll-btn {
  display: inline-block; font-family: var(--ll-sans); font-size: 13px;
  font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
  padding: 16px 36px; border-radius: 2px;
  text-decoration: none !important; transition: all .3s ease;
  cursor: pointer; border: none;
}
.ll-btn-gold { background: var(--ll-gold); color: var(--ll-navy) !important; }
.ll-btn-gold:hover { background: var(--ll-gold-light); transform: translateY(-2px); box-shadow: 0 6px 24px rgba(196,160,100,.35); }
.ll-btn-outline { background: transparent; color: #fff !important; border: 1.5px solid rgba(196,160,100,.6); }
.ll-btn-outline:hover { border-color: var(--ll-gold); background: rgba(196,160,100,.08); transform: translateY(-2px); }
.ll-btn-group { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 36px; align-items: center; }

/* ── HERO ── */
.ll-hero {
  min-height: 90vh;
  background: linear-gradient(135deg,#0A1630 0%,#0D1B3E 50%,#152447 100%);
  display: flex; align-items: center; position: relative; overflow: hidden;
  width: 100%;
}
.ll-hero::before {
  content: ''; position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C4A064' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.ll-hero::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 120px; background: linear-gradient(to top,#0D1B3E,transparent);
}
.ll-hero-inner { position: relative; z-index: 2; max-width: 780px; }
.ll-gold-bar { width: 60px; height: 3px; background: var(--ll-gold); margin-bottom: 32px; }
.ll-hero-sub {
  font-family: var(--ll-sans); font-size: 18px; line-height: 1.7;
  color: rgba(255,255,255,.72); font-weight: 300; max-width: 580px; margin-bottom: 0;
}

/* ── TRUST BAR ── */
.ll-trust {
  background: var(--ll-navy-light); width: 100%;
  border-top: 1px solid rgba(196,160,100,.2);
  border-bottom: 1px solid rgba(196,160,100,.2); padding: 36px 0;
}
.ll-trust-grid { display: grid; grid-template-columns: repeat(3,1fr); text-align: center; }
.ll-trust-item { padding: 0 32px; position: relative; }
.ll-trust-item + .ll-trust-item::before {
  content: ''; position: absolute; left: 0; top: 10%; bottom: 10%;
  width: 1px; background: rgba(196,160,100,.25);
}
.ll-trust-label {
  font-family: var(--ll-sans); font-size: 11px; letter-spacing: .15em;
  text-transform: uppercase; color: var(--ll-gold); display: block; margin-bottom: 6px;
}
.ll-trust-value { font-family: var(--ll-serif); font-size: 18px; color: #fff; }

/* ── SERVICE CARDS ── */
.ll-services-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 2px; background: rgba(196,160,100,.12);
}
.ll-service-card {
  background: var(--ll-navy-mid); padding: 48px 36px;
  position: relative; transition: all .3s ease;
}
.ll-service-card:hover { background: var(--ll-navy-light); transform: translateY(-3px); }
.ll-service-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 2px; background: var(--ll-gold); opacity: 0; transition: opacity .3s;
}
.ll-service-card:hover::before { opacity: 1; }
.ll-service-icon { width: 48px; height: 48px; margin-bottom: 24px; color: var(--ll-gold); }
.ll-service-card .ll-h3 { color: #fff; font-size: 20px; margin-bottom: 14px; }
.ll-service-card p { font-family: var(--ll-sans); font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.62); margin: 0; }
.ll-service-link {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 20px;
  font-family: var(--ll-sans); font-size: 12px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--ll-gold) !important; text-decoration: none !important; transition: gap .2s;
}
.ll-service-link:hover { gap: 14px; }
.ll-service-link::after { content: '→'; }

/* ── DIVIDER ── */
.ll-divider { display: flex; align-items: center; gap: 16px; margin: 0 auto 48px; }
.ll-divider .ll-line { flex: 1; height: 1px; background: var(--ll-gold); opacity: .3; }
.ll-divider .ll-diamond { width: 8px; height: 8px; background: var(--ll-gold); transform: rotate(45deg); flex-shrink: 0; }
.ll-text-center { text-align: center; }
.ll-max-640 { max-width: 640px; margin-left: auto; margin-right: auto; }

/* ── WHY US ── */
.ll-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.ll-why-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 32px; }
.ll-why-item { display: flex; gap: 20px; align-items: flex-start; }
.ll-why-num { font-family: var(--ll-serif); font-size: 36px; font-weight: 700; color: var(--ll-gold); opacity: .3; line-height: 1; min-width: 48px; }
.ll-why-text strong { font-family: var(--ll-serif); font-size: 18px; font-weight: 600; color: var(--ll-navy); display: block; margin-bottom: 6px; }
.ll-why-text p { font-family: var(--ll-sans); font-size: 15px; color: #5A6B85; margin: 0; line-height: 1.65; }
.ll-why-card { background: var(--ll-navy); border: 1px solid rgba(196,160,100,.2); padding: 52px 44px; text-align: center; }
.ll-why-card-title { font-family: var(--ll-serif); font-size: 40px; color: var(--ll-gold); line-height: 1; margin-bottom: 8px; }
.ll-why-card-sub { font-family: var(--ll-sans); font-size: 12px; color: rgba(255,255,255,.45); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 32px; }
.ll-gold-divider { width: 40px; height: 1px; background: var(--ll-gold); margin: 0 auto 32px; }
.ll-why-features { list-style: none; padding: 0; margin: 0; text-align: left; display: flex; flex-direction: column; gap: 14px; }
.ll-why-feature { font-family: var(--ll-sans); font-size: 14px; color: rgba(255,255,255,.68); padding-left: 22px; position: relative; line-height: 1.5; }
.ll-why-feature::before { content: '✦'; position: absolute; left: 0; color: var(--ll-gold); font-size: 9px; top: 3px; }

/* ── TESTIMONIALS ── */
.ll-testimonials-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ll-testimonial { background: #fff; border: 1px solid rgba(196,160,100,.15); border-top: 3px solid var(--ll-gold); padding: 40px 32px; position: relative; }
.ll-quote-mark { font-family: var(--ll-serif); font-size: 80px; color: var(--ll-gold); opacity: .1; line-height: .8; position: absolute; top: 20px; left: 20px; }
.ll-testimonial p { font-family: var(--ll-sans); font-size: 15px; line-height: 1.75; color: var(--ll-text); margin: 24px 0 20px; font-style: italic; }
.ll-testimonial-author { font-family: var(--ll-sans); font-size: 12px; font-weight: 600; color: var(--ll-navy); letter-spacing: .08em; text-transform: uppercase; }
.ll-testimonial-loc { font-family: var(--ll-sans); font-size: 12px; color: var(--ll-gray); margin-top: 3px; }
.ll-stars { color: var(--ll-gold); font-size: 13px; letter-spacing: 3px; }

/* ── ABOUT ── */
.ll-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.ll-about-box { background: linear-gradient(135deg,var(--ll-navy) 0%,var(--ll-navy-light) 100%); border: 1px solid rgba(196,160,100,.25); padding: 60px 48px; text-align: center; box-sizing: border-box; }
.ll-about-logo-text { font-family: var(--ll-serif); font-size: 30px; color: #fff; margin-bottom: 6px; }
.ll-about-logo-sub { font-family: var(--ll-sans); font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--ll-gold); margin-bottom: 36px; }
.ll-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.ll-stat-box { background: rgba(255,255,255,.04); border: 1px solid rgba(196,160,100,.12); padding: 18px 14px; text-align: center; }
.ll-stat-num { font-family: var(--ll-serif); font-size: 26px; color: var(--ll-gold); }
.ll-stat-label { font-family: var(--ll-sans); font-size: 10px; color: rgba(255,255,255,.45); letter-spacing: .1em; text-transform: uppercase; margin-top: 4px; }

/* ── CTA BAND ── */
.ll-cta-band {
  background: linear-gradient(135deg,#0A1630 0%,var(--ll-navy) 100%); width: 100%;
  border-top: 1px solid rgba(196,160,100,.2);
  border-bottom: 1px solid rgba(196,160,100,.2);
  padding: 90px 0; text-align: center;
}

/* ── CONTACT — fix text visibility ── */
.ll-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.ll-contact-info { display: flex; flex-direction: column; gap: 28px; margin-top: 28px; }
.ll-contact-item { display: flex; gap: 18px; align-items: flex-start; }
.ll-contact-icon {
  width: 44px; height: 44px;
  background: rgba(196,160,100,.08); border: 1px solid rgba(196,160,100,.2);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 18px;
}
.ll-contact-label { font-family: var(--ll-sans); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--ll-gold); display: block; margin-bottom: 4px; }
.ll-contact-value { font-family: var(--ll-sans); font-size: 16px; color: var(--ll-text); line-height: 1.5; }
/* Force contact section text to be visible regardless of animation state */
#contact .ll-h2,
#contact p,
#contact .ll-contact-value,
#contact .ll-contact-label,
.ll-section.ll-white-bg .ll-h2,
.ll-section.ll-white-bg p,
.ll-section.ll-white-bg .ll-why-text strong,
.ll-section.ll-white-bg .ll-why-text p { opacity: 1 !important; transform: none !important; }

/* ── DISCLAIMER ── */
.ll-disclaimer { background: var(--ll-navy); padding: 28px 0; text-align: center; width: 100%; }
.ll-disclaimer p { font-family: var(--ll-sans); font-size: 12px; color: rgba(255,255,255,.32); margin: 0 auto; max-width: 700px; line-height: 1.6; }

/* ── SCROLL ANIMATIONS — start visible, animate on scroll ── */
.ll-fade-up { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.ll-fade-up.ll-visible { opacity: 1; transform: none; }
.ll-fade-up:nth-child(2) { transition-delay: .1s; }
.ll-fade-up:nth-child(3) { transition-delay: .2s; }
.ll-fade-up:nth-child(4) { transition-delay: .3s; }
.ll-fade-up:nth-child(5) { transition-delay: .4s; }

/* ── RESPONSIVE ── */
@media(max-width:960px) {
  .ll-services-grid { grid-template-columns: 1fr 1fr; }
  .ll-why-grid,.ll-about-grid,.ll-contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .ll-testimonials-grid { grid-template-columns: 1fr; }
  .ll-trust-grid { grid-template-columns: 1fr; gap: 20px; }
  .ll-trust-item + .ll-trust-item::before { display: none; }
  .ll-hero-inner { max-width: 100%; }
}
@media(max-width:600px) {
  .ll-section { padding: 60px 0; }
  .ll-container { padding: 0 20px; }
  .ll-services-grid { grid-template-columns: 1fr; }
  .ll-btn-group { flex-direction: column; }
  .ll-btn { text-align: center; width: 100%; box-sizing: border-box; }
}