:root {
  --bpt-nice-black: #08090b;
  --bpt-nice-panel: #101216;
  --bpt-nice-panel-soft: #16181d;
  --bpt-nice-ivory: #f7f2e7;
  --bpt-nice-muted: #b8b4aa;
  --bpt-nice-gold: #d5ae55;
  --bpt-nice-gold-light: #f0d58a;
  --bpt-nice-line: rgba(213, 174, 85, .25);
}

.bpt-nice-page,
.bpt-nice-page * { box-sizing: border-box; }
.bpt-nice-page {
  width: calc(100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px));
  max-width: none;
  margin-top: 0;
  margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important;
  margin-bottom: 0;
  margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;
  background: var(--bpt-nice-black);
  color: var(--bpt-nice-ivory);
  font-family: inherit;
}
.bpt-nice-page h1,
.bpt-nice-page h2,
.bpt-nice-page h3,
.bpt-nice-page p { margin-top: 0; }
.bpt-nice-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.bpt-nice-section { padding: 112px 0; }
.bpt-nice-kicker,
.bpt-nice-eyebrow { margin-bottom: 22px; color: var(--bpt-nice-gold-light); font-size: 12px; font-weight: 700; letter-spacing: .2em; line-height: 1.5; text-transform: uppercase; }
.bpt-nice-page h2 { max-width: 850px; margin-bottom: 32px; color: var(--bpt-nice-ivory); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 5vw, 64px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; }
.bpt-nice-page h3 { color: var(--bpt-nice-ivory); font-size: 21px; font-weight: 600; line-height: 1.25; }
.bpt-nice-page p { color: var(--bpt-nice-muted); font-size: 17px; line-height: 1.8; }

.bpt-nice-hero { position: relative; min-height: 720px; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; background-image: linear-gradient(90deg, rgba(4,5,7,.96) 0%, rgba(4,5,7,.72) 44%, rgba(4,5,7,.18) 100%), var(--bpt-nice-hero); background-position: center; background-size: cover; }
.bpt-nice-hero__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, var(--bpt-nice-black) 0%, transparent 42%), radial-gradient(circle at 72% 32%, rgba(213,174,85,.14), transparent 35%); }
.bpt-nice-hero__content { padding-top: 150px; padding-bottom: 88px; }
.bpt-nice-eyebrow { margin-bottom: 28px; }
.bpt-nice-hero h1 { max-width: 920px; margin-bottom: 28px; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(50px, 7vw, 92px); font-weight: 400; letter-spacing: -.045em; line-height: .98; }
.bpt-nice-hero h1 em { display: inline-block; color: var(--bpt-nice-gold-light); font-weight: 400; }
.bpt-nice-lead { max-width: 720px; margin-bottom: 38px !important; color: rgba(255,255,255,.82) !important; font-size: clamp(18px, 2vw, 22px) !important; line-height: 1.65 !important; }
.bpt-nice-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.bpt-nice-btn { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 14px 25px; border: 1px solid transparent; border-radius: 1px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: .25s ease; }
.bpt-nice-btn--gold { background: var(--bpt-nice-gold); color: #090a0b; }
.bpt-nice-btn--gold:hover { background: var(--bpt-nice-gold-light); transform: translateY(-2px); }
.bpt-nice-btn--ghost { border-color: rgba(255,255,255,.32); color: #fff; }
.bpt-nice-btn--ghost:hover { border-color: var(--bpt-nice-gold); color: var(--bpt-nice-gold-light); }
.bpt-nice-proof { margin-top: 62px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.bpt-nice-proof span { padding: 21px 24px; border-right: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.64); font-size: 13px; letter-spacing: .03em; }
.bpt-nice-proof span:first-child { padding-left: 0; }
.bpt-nice-proof span:last-child { border-right: 0; }
.bpt-nice-proof strong { display: block; margin-bottom: 4px; color: #fff; font-size: 14px; font-weight: 600; }

.bpt-nice-intro { background: var(--bpt-nice-black); }
.bpt-nice-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.bpt-nice-intro h2 { margin-bottom: 0; }
.bpt-nice-copy { padding-top: 38px; border-top: 1px solid var(--bpt-nice-line); }
.bpt-nice-copy p:last-child { margin-bottom: 0; }

.bpt-nice-routes { background: var(--bpt-nice-panel); }
.bpt-nice-route-grid { margin-top: 55px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--bpt-nice-line); border-left: 1px solid var(--bpt-nice-line); }
.bpt-nice-route-card { min-height: 270px; padding: 36px 32px; border-right: 1px solid var(--bpt-nice-line); border-bottom: 1px solid var(--bpt-nice-line); background: linear-gradient(145deg, rgba(255,255,255,.025), transparent); transition: .3s ease; }
.bpt-nice-route-card:hover { background: rgba(213,174,85,.07); transform: translateY(-3px); }
.bpt-nice-route-card span { display: block; margin-bottom: 58px; color: var(--bpt-nice-gold); font-family: Georgia, serif; font-size: 15px; }
.bpt-nice-route-card h3 { margin-bottom: 15px; }
.bpt-nice-route-card p { margin-bottom: 0; font-size: 15px; line-height: 1.7; }
.bpt-nice-route-note { max-width: 760px; margin: 34px 0 0 auto !important; padding-left: 24px; border-left: 2px solid var(--bpt-nice-gold); font-size: 14px !important; }

.bpt-nice-experience { overflow: hidden; background: var(--bpt-nice-black); }
.bpt-nice-experience__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: center; }
.bpt-nice-experience__content { padding: 40px 0; }
.bpt-nice-experience__content p { max-width: 580px; }
.bpt-nice-visual { overflow: hidden; background: var(--bpt-nice-panel-soft); }
.bpt-nice-visual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .8s ease; }
.bpt-nice-visual:hover img { transform: scale(1.025); }
.bpt-nice-visual--large { height: 600px; }
.bpt-nice-visual--small { height: 300px; margin-top: -150px; margin-left: 14%; border: 10px solid var(--bpt-nice-black); }
.bpt-nice-list { margin: 30px 0 34px; padding: 0; list-style: none; }
.bpt-nice-list li { position: relative; padding: 14px 0 14px 28px; border-bottom: 1px solid rgba(255,255,255,.09); color: #d7d3ca; font-size: 15px; }
.bpt-nice-list li::before { content: '•'; position: absolute; left: 4px; color: var(--bpt-nice-gold); }
.bpt-nice-text-link { display: inline-flex; gap: 18px; align-items: center; color: var(--bpt-nice-gold-light); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.bpt-nice-text-link span { font-size: 22px; transition: transform .2s ease; }
.bpt-nice-text-link:hover span { transform: translateX(5px); }

.bpt-nice-services { background: #0d0f12; }
.bpt-nice-service-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.bpt-nice-service-grid article { min-height: 240px; padding: 34px 28px; border: 1px solid rgba(255,255,255,.09); background: var(--bpt-nice-panel); }
.bpt-nice-service-grid article::before { content: ''; width: 32px; height: 1px; display: block; margin-bottom: 56px; background: var(--bpt-nice-gold); }
.bpt-nice-service-grid h3 { margin-bottom: 14px; }
.bpt-nice-service-grid p { margin-bottom: 0; font-size: 14px; line-height: 1.7; }

.bpt-nice-faq { background: var(--bpt-nice-black); }
.bpt-nice-faq__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.bpt-nice-faq__grid > div:first-child { position: sticky; top: 120px; }
.bpt-nice-accordion { border-top: 1px solid var(--bpt-nice-line); }
.bpt-nice-accordion details { border-bottom: 1px solid var(--bpt-nice-line); }
.bpt-nice-accordion summary { position: relative; padding: 27px 50px 27px 0; color: var(--bpt-nice-ivory); cursor: pointer; font-size: 17px; font-weight: 600; list-style: none; }
.bpt-nice-accordion summary::-webkit-details-marker { display: none; }
.bpt-nice-accordion summary::after { content: '+'; position: absolute; right: 8px; color: var(--bpt-nice-gold); font-size: 26px; font-weight: 300; }
.bpt-nice-accordion details[open] summary::after { content: '−'; }
.bpt-nice-accordion details p { max-width: 720px; padding: 0 50px 25px 0; font-size: 15px; }

.bpt-nice-cta { padding: 95px 0; border-top: 1px solid var(--bpt-nice-line); background: linear-gradient(125deg, #121417, #08090b 70%); }
.bpt-nice-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.bpt-nice-cta h2 { max-width: 720px; margin-bottom: 0; font-size: clamp(36px, 4.5vw, 58px); }
.bpt-nice-cta .bpt-nice-actions { flex: 0 0 auto; }

@media (max-width: 980px) {
  .bpt-nice-section { padding: 88px 0; }
  .bpt-nice-hero { min-height: 680px; }
  .bpt-nice-proof { grid-template-columns: 1fr; }
  .bpt-nice-proof span { padding-left: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .bpt-nice-proof span:last-child { border-bottom: 0; }
  .bpt-nice-intro__grid,
  .bpt-nice-faq__grid { grid-template-columns: 1fr; gap: 45px; }
  .bpt-nice-copy { padding-top: 28px; }
  .bpt-nice-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bpt-nice-experience__grid { grid-template-columns: 1fr; }
  .bpt-nice-visual--large { height: 520px; }
  .bpt-nice-visual--small { width: 58%; margin-top: -110px; margin-left: auto; }
  .bpt-nice-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bpt-nice-faq__grid > div:first-child { position: static; }
  .bpt-nice-cta__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .bpt-nice-shell { width: min(100% - 30px, 1180px); }
  .bpt-nice-section { padding: 70px 0; }
  .bpt-nice-hero { min-height: 760px; background-position: 58% center; }
  .bpt-nice-hero__content { padding-top: 125px; padding-bottom: 55px; }
  .bpt-nice-hero h1 { font-size: clamp(44px, 13vw, 60px); }
  .bpt-nice-lead { font-size: 17px !important; }
  .bpt-nice-actions { width: 100%; flex-direction: column; }
  .bpt-nice-btn { width: 100%; }
  .bpt-nice-proof { margin-top: 45px; }
  .bpt-nice-route-grid,
  .bpt-nice-service-grid { grid-template-columns: 1fr; }
  .bpt-nice-route-card { min-height: auto; }
  .bpt-nice-route-card span { margin-bottom: 36px; }
  .bpt-nice-experience__grid { gap: 35px; }
  .bpt-nice-visual--large { height: 400px; }
  .bpt-nice-visual--small { width: 84%; height: 225px; margin-top: -70px; }
  .bpt-nice-faq__grid { gap: 20px; }
  .bpt-nice-accordion summary { padding-right: 38px; font-size: 16px; }
  .bpt-nice-cta { padding: 70px 0; }
}

html[dir="rtl"] .bpt-nice-page { direction: rtl; }
html[dir="rtl"] .bpt-nice-route-note { margin-left: 0 !important; margin-right: auto !important; padding-right: 24px; padding-left: 0; border-right: 2px solid var(--bpt-nice-gold); border-left: 0; }
html[dir="rtl"] .bpt-nice-list li { padding-right: 28px; padding-left: 0; }
html[dir="rtl"] .bpt-nice-list li::before { right: 4px; left: auto; }
html[dir="rtl"] .bpt-nice-accordion summary { padding-right: 0; padding-left: 50px; }
html[dir="rtl"] .bpt-nice-accordion summary::after { right: auto; left: 8px; }
