/* Noorani editorial layout: premium, pilgrimage-focused, and distinct to the brand. */
:root { --gold: #d7b25f; --green: #12392e; --green-dark: #0c2d25; --serif: 'Playfair Display', Georgia, serif; }
body { background: #fff; }
.notice-bar { padding: 9px 18px; background: #102f26; color: #f0dfb8; text-align: center; font-size: 10px; font-weight: 600; letter-spacing: .035em; line-height: 1.5; }
.notice-bar span { padding-inline: 5px; color: #d7b25f; }
.site-header { height: 82px; padding-inline: max(calc((100vw - 1260px) / 2), 28px); }
.brand { min-width: 250px; gap: 12px; }
.brand-logo { width: 54px; height: 52px; }
.brand-name { font-family: var(--serif); font-size: 16px; letter-spacing: .12em; }
.brand-name small { font-family: var(--sans); font-size: 8px; letter-spacing: .17em; }
.main-nav { gap: clamp(18px, 2.4vw, 36px); }
.main-nav a { font-size: 11px; font-weight: 600; }
.button { border-radius: 2px; }
.button-gold { background: #dfbd72; }
.hero { height: min(720px, 67vw); min-height: 580px; }
.hero-photo { background-position: center 43%; }
.hero-shade { background: linear-gradient(90deg, rgba(7, 27, 21, .79) 0%, rgba(10, 36, 27, .49) 45%, rgba(7, 24, 19, .13) 100%), linear-gradient(0deg, rgba(7, 25, 20, .5), transparent 44%); }
.hero-content { padding-top: clamp(120px, 15vw, 190px); }
.hero h1 { font-size: clamp(51px, 6.2vw, 82px); line-height: 1.07; }
.hero-copy { max-width: 500px; font-size: 14px; }
.hero-pill { border-color: rgba(235, 211, 160, .52); border-radius: 2px; }
.trip-planner { position: relative; z-index: 4; margin-top: -66px; padding: 27px 32px 18px; border: 1px solid rgba(17, 47, 38, .08); background: #fff; box-shadow: 0 18px 55px rgba(14, 40, 31, .14); }
.planner-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.planner-heading .eyebrow { margin-bottom: 3px; }
.planner-heading h2 { margin: 0; color: #1a3027; font: 500 25px/1.2 var(--serif); }
.planner-mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #e6d3aa; border-radius: 50%; color: #a17b36; font-size: 22px; }
.planner-form { display: grid; grid-template-columns: 1fr 1fr 1.15fr auto; align-items: end; gap: 13px; }
.planner-form label { display: block; color: #52635a; font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.planner-form select { display: block; width: 100%; height: 46px; margin-top: 6px; padding: 0 12px; border: 1px solid #e0e5df; border-radius: 2px; background: #fff; color: #20362e; font-size: 12px; }
.planner-form select:focus { border-color: #9aab9e; outline: 2px solid rgba(18, 57, 46, .1); }
.planner-form .button { min-height: 46px; padding-inline: 20px; white-space: nowrap; }
.planner-note { margin: 12px 0 0; color: #7d8981; font-size: 9px; }
.quick-plan { min-height: 126px; grid-template-columns: 1.1fr repeat(4, 1fr); gap: 14px; }
.quick-plan > div .eyebrow { font-size: 9px; }
.quick-plan h2 { font-size: 18px; }
.quick-item { gap: 9px; padding-left: 13px; }
.quick-icon { width: 31px; height: 31px; background: #f3f0e8; color: #866c37; }
.quick-item b { font-size: 10px; }
.quick-item small { font-size: 8px; }
.approach-section { padding-top: 60px; padding-bottom: 86px; }
.approach-section .section-heading { max-width: 760px; margin-bottom: 25px; }
.approach-section .section-heading h2 { max-width: 700px; font-size: clamp(32px, 4vw, 46px); }
.approach-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #e8e7df; border-bottom: 1px solid #e8e7df; }
.approach-card { min-height: 190px; padding: 24px 24px 21px 0; }
.approach-card + .approach-card { padding-left: 25px; border-left: 1px solid #e8e7df; }
.approach-card > span { color: #ad8a4d; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.approach-card h3 { margin: 12px 0 7px; color: #173a2d; font: 500 21px var(--serif); }
.approach-card p { min-height: 48px; margin: 0; color: #6e7c74; font-size: 11px; line-height: 1.75; }
.approach-card a { display: inline-flex; gap: 9px; margin-top: 13px; color: #78602f; font-size: 10px; font-weight: 700; }
.approach-card a b { font-size: 14px; }
.section-soft { background: #f7f7f3; }
.section-heading h2 { color: #173a2d; }
.package-filter-note { margin: -15px 0 18px; color: #7c8981; font-size: 10px; }
.package-card, .article-card { overflow: hidden; border-color: #e8e8e0; border-radius: 2px; box-shadow: 0 4px 17px rgba(22, 43, 34, .045); }
.card-image { height: 205px; }
.card-body h3 { color: #1c3c2f; }
.card-meta { border-color: #efefe9; }
.flight-tool { border-color: #e7e8e1; border-radius: 2px; }
.budget-strip { border: 1px solid #edece5; }
.section-dark { background: #102e25; }
.hotel-card { border-radius: 2px; }
.hotel-photo { height: 133px; }
.support-banner { background: linear-gradient(110deg, #12392e, #1d4939); }
.community-form { border-radius: 2px; }
.site-footer { background: #0b241d; }
.detail-hero { min-height: 320px; }

@media (max-width: 1000px) {
  .site-header { padding-inline: 22px; }
  .brand { min-width: 220px; }
  .trip-planner { margin-top: -48px; }
  .planner-form { grid-template-columns: 1fr 1fr; }
  .approach-grid { grid-template-columns: 1fr 1fr; }
  .approach-card:last-child { grid-column: 1 / -1; padding-left: 0; border-top: 1px solid #e8e7df; border-left: 0; }
}
@media (max-width: 720px) {
  .site-header { height: 68px; padding-inline: 16px; }
  .brand { gap: 7px; }
  .brand-logo { width: 40px; height: 38px; }
  .brand-name { font-size: 12px; }
  .brand-name small { font-size: 6px; }
  .main-nav { top: 67px; }
  .hero { height: 660px; min-height: 0; }
  .hero-content { padding-top: 112px; }
  .hero h1 { font-size: clamp(44px, 12vw, 59px); }
  .hero-copy { max-width: 360px; font-size: 12px; }
  .hero-pill { right: 17px; bottom: 76px; }
  .trip-planner { width: calc(100% - 28px); margin-top: -54px; padding: 21px 17px 15px; }
  .planner-heading { align-items: flex-start; gap: 10px; }
  .planner-mark { width: 34px; height: 34px; flex: 0 0 auto; font-size: 18px; }
  .planner-heading h2 { font-size: 20px; }
  .planner-form { grid-template-columns: 1fr 1fr; gap: 10px; }
  .planner-form label:nth-child(3) { grid-column: 1 / -1; }
  .planner-form .button { width: 100%; padding: 0 8px; font-size: 10px; }
  .planner-note { font-size: 8px; }
  .quick-plan { min-height: 0; padding-block: 25px; }
  .quick-item { min-height: 46px; padding-left: 6px; }
  .quick-item b { font-size: 9px; }
  .approach-section { padding-top: 45px; padding-bottom: 58px; }
  .approach-grid { grid-template-columns: 1fr; }
  .approach-card, .approach-card + .approach-card, .approach-card:last-child { min-height: 0; grid-column: auto; padding: 19px 0; border-top: 1px solid #e8e7df; border-left: 0; }
  .approach-card:first-child { border-top: 0; }
  .approach-card h3 { margin-top: 8px; }
  .approach-card p { min-height: 0; }
  .card-image { height: 145px; }
  .hotel-photo { height: 115px; }
  .tier-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .tier-grid, .quote-layout { grid-template-columns: 1fr; }
  .tier-card { padding: 21px; }
  .quote-summary { position: static; }
  .hotel-controls { align-items: stretch; flex-direction: column; }
}

.tier-comparison { margin-top: 40px; }
.tier-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 17px; }
.tier-heading h3 { margin: 0; color: #173a2d; font: 500 25px var(--serif); }
.tier-heading .eyebrow { margin-bottom: 5px; }
.tier-heading > p { max-width: 430px; margin: 0; color: #78847c; font-size: 10px; }
.tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.tier-card { padding: 23px; border: 1px solid #e6e7df; background: #fff; }
.tier-featured { border-color: #b5975d; box-shadow: 0 8px 26px rgba(37, 52, 39, .08); }
.tier-label { color: #a07c3f; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.tier-card h4 { margin: 8px 0; color: #173a2d; font: 500 21px var(--serif); }
.tier-card p { min-height: 38px; color: #738078; font-size: 10px; }
.tier-card ul { min-height: 88px; padding-left: 17px; color: #56665c; font-size: 10px; line-height: 1.9; }
.tier-select { width: 100%; padding: 11px 0 0; border: 0; border-top: 1px solid #ecece7; background: none; color: #725b2f; text-align: left; font-size: 10px; font-weight: 700; cursor: pointer; }
.tier-select span { float: right; font-size: 15px; }
.quote-section { background: #12392e; }
.quote-section .section-heading h2 { color: #fff; }
.quote-section .section-intro { color: #d3ddd4; }
.quote-layout { display: grid; grid-template-columns: 1.1fr .9fr; align-items: start; gap: 20px; }
.quote-form, .quote-summary { padding: 24px; border: 1px solid rgba(255,255,255,.16); background: #fff; }
.quote-form { display: grid; gap: 14px; }
.quote-form label { display: block; color: #46584d; font-size: 10px; font-weight: 700; }
.quote-form input:not([type=checkbox]), .quote-form select { display: block; width: 100%; height: 41px; margin-top: 5px; padding: 0 10px; border: 1px solid #dfe5e0; border-radius: 2px; background: #fff; color: #24372d; font-size: 11px; }
.quote-form .form-columns { margin: 0; }
.quote-accessibility { display: flex !important; align-items: center; gap: 9px; }
.quote-accessibility input { width: 16px; height: 16px; accent-color: #12392e; }
.quote-summary { position: sticky; top: 100px; border-color: #e6d9bb; background: #f9f8f2; }
.quote-summary .eyebrow { margin-bottom: 6px; }
.quote-summary h3 { margin: 0 0 17px; color: #173a2d; font: 500 24px var(--serif); }
.quote-line { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 11px 0; border-bottom: 1px solid #e7e5db; color: #647269; font-size: 10px; }
.quote-line strong { color: #21382c; text-align: right; }
.quote-grand-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 15px 0 0; color: #25392e; font-size: 12px; }
.quote-grand-total strong { color: #143b2d; font-size: 21px; text-align: right; }
.quote-person-total { color: #65756a; font-size: 10px; }
.quote-warning { padding: 11px; background: #f0eee4; color: #6b695c; font-size: 9px; line-height: 1.7; }
.quote-guide-link { display: block; margin-top: 14px; color: #725b2f; text-align: center; font-size: 10px; font-weight: 700; }
.quote-guide-link span { font-size: 14px; }
.hotel-controls { display: flex; justify-content: flex-end; gap: 12px; margin: -12px 0 16px; }
.hotel-controls label { color: #e4e9e3; font-size: 9px; }
.hotel-controls select { min-width: 175px; height: 34px; margin-left: 6px; padding: 0 9px; border: 1px solid rgba(255,255,255,.25); background: #173a30; color: #fff; font-size: 10px; }
@media (max-width: 1000px) {
  .tier-grid { grid-template-columns: repeat(3, 1fr); }
  .quote-layout { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .tier-grid, .quote-layout { grid-template-columns: 1fr; }
  .tier-card { padding: 21px; }
  .tier-card ul, .tier-card p { min-height: 0; }
  .quote-summary { position: static; }
  .hotel-controls { align-items: stretch; flex-direction: column; }
  .hotel-controls select { width: 100%; margin: 5px 0 0; }
  .quote-form, .quote-summary { padding: 18px; }
}
@media print {
  body * { visibility: hidden; }
  #quote-builder, #quote-builder * { visibility: visible; }
  #quote-builder { position: absolute; inset: 0; padding: 0; background: #fff; }
  #quote-builder .quote-layout { display: block; }
  #quote-builder .quote-form, #quote-builder .section-heading, #quote-builder .quote-summary > button, #quote-builder .quote-guide-link { display: none; }
  #quote-builder .quote-summary { position: static; border: 0; }
}

.about-section { background: #fbfaf6; }
.about-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(32px, 7vw, 90px); }
.about-photo { min-height: 390px; background: linear-gradient(0deg, rgba(10,31,24,.12), rgba(10,31,24,.02)), url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=1200&q=85') center/cover; }
.about-layout h2 { max-width: 580px; margin: 0 0 15px; color: #173a2d; font: 500 clamp(31px, 4vw, 46px)/1.14 var(--serif); }
.about-layout p:not(.eyebrow) { color: #68776e; font-size: 12px; line-height: 1.8; }
.about-values { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.about-values span { padding: 8px 10px; border: 1px solid #e6e1d4; color: #6b5934; font-size: 9px; }
.demo-select-button { display: block; width: 100%; margin-top: 10px; padding: 9px 10px; border: 1px solid #d5dfd6; background: #f4f7f2; color: #173a2d; text-align: left; font: 700 9px var(--sans); cursor: pointer; }
.demo-select-button:hover, .demo-select-button:focus-visible { border-color: #b5975d; outline: 2px solid rgba(181,151,93,.2); }
.flight-option .demo-select-button { margin-top: 10px; }
.digital-services { background: #112f26; color: #fff; }
.digital-services .section-heading h2 { color: #fff; }
.digital-services .section-intro { color: #d1dbd3; }
.digital-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.digital-card { overflow: hidden; border: 1px solid rgba(255,255,255,.16); background: #f9f8f2; color: #20372c; }
.digital-image { height: 150px; background-color: #d8ded5; background-position: center; background-size: cover; }
.digital-account { background-image: url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=800&q=80'); }
.digital-stay { background-image: url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=800&q=80'); }
.digital-flight { background-image: url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=800&q=80'); }
.digital-community { background-image: url('https://images.unsplash.com/photo-1511632765486-a01980e01a18?auto=format&fit=crop&w=800&q=80'); }
.digital-payment { background-image: url('https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?auto=format&fit=crop&w=800&q=80'); }
.digital-support { background-image: url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=800&q=80'); }
.digital-app { background-image: url('https://images.unsplash.com/photo-1512941937669-90a1b58e7e9?auto=format&fit=crop&w=800&q=80'); }
.digital-savings { background-image: url('https://images.unsplash.com/photo-1506784983877-45594efa4cbe?auto=format&fit=crop&w=800&q=80'); }
.digital-card > div:last-child { padding: 17px; }
.digital-status { color: #94733d; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.digital-card h3 { margin: 8px 0; color: #173a2d; font: 500 18px/1.2 var(--serif); }
.digital-card p { min-height: 100px; margin: 0 0 12px; color: #6b7970; font-size: 10px; line-height: 1.65; }
.demo-code { display: block; padding-top: 10px; border-top: 1px solid #e8e7df; color: #53665b; font-size: 9px; line-height: 1.5; }
.installment-preview { display: grid; gap: 4px; margin: 10px 0; padding: 12px; background: #f0eee4; color: #68746a; font-size: 9px; }
.installment-preview strong { color: #173a2d; font-size: 16px; }
.landmark-section { padding-top: 74px; padding-bottom: 80px; }
.landmark-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.landmark-card { overflow: hidden; border: 1px solid #e8e8e0; background: #fff; }
.landmark-card img { display: block; width: 100%; height: 150px; object-fit: cover; }
.landmark-card > div { padding: 15px; }
.landmark-card span { color: #94733d; font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.landmark-card h3 { margin: 7px 0; color: #173a2d; font: 500 18px var(--serif); }
.landmark-card p { margin: 0; color: #6b7970; font-size: 10px; line-height: 1.65; }
#hotel-map { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; height: auto; min-height: 225px; padding: 16px; border: 1px solid rgba(255,255,255,.13); background-color: #e8e8df; background-image: linear-gradient(35deg, transparent 47%, rgba(255,255,255,.8) 48%, rgba(255,255,255,.8) 51%, transparent 52%), linear-gradient(145deg, transparent 47%, rgba(204,211,198,.65) 48%, rgba(204,211,198,.65) 51%, transparent 52%); background-size: 52px 52px; }
.static-map-city { position: relative; display: flex; min-height: 190px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 9px; padding: 14px; border: 1px solid #d5d9ce; background: rgba(249,249,244,.88); color: #20372c; }
.static-map-city > strong { color: #94733d; font-size: 9px; letter-spacing: .14em; }
.static-map-site { padding: 6px 8px; border-radius: 2px; background: #e3ebe1; font-size: 9px; }
.static-map-pin { position: relative; padding: 5px 7px 5px 18px; border: 1px solid #e7dfcc; background: white; color: #5e6a62; font-size: 8px; }
.static-map-pin:before { position: absolute; left: 7px; color: #a97936; content: '●'; }
.static-map-empty { color: #758078; font-size: 9px; }
.hotel-copy .demo-select-button { text-decoration: none; }
.emergency-row .emergency-preview { display: block; min-width: 190px; }
.emergency-
preview b { margin-bottom: 4px; }
.tracking-map { position: relative; display: flex; align-items: center; justify-content: space-around; overflow: hidden; border: 1px solid #d9e0d7; border-radius: 0; background-color: #e9eee5; background-image: linear-gradient(30deg, transparent 47%, rgba(255,255,255,.72) 48%, rgba(255,255,255,.72) 51%, transparent 52%), linear-gradient(140deg, transparent 47%, rgba(198,211,197,.68) 48%, rgba(198,211,197,.68) 51%, transparent 52%); background-size: 58px 58px; }
.mock-route-city { z-index: 1; padding: 9px 12px; background: #fff; color: #244333; font-size: 10px; font-weight: 700; }
.mock-route-line { position: absolute; left: 19%; width: 62%; height: 2px; background: repeating-linear-gradient(90deg, #a38248 0 8px, transparent 8px 14px); transform: rotate(-8deg); }
.mock-route-pin { z-index: 1; display: grid; width: 48px; height: 48px; place-content: center; border: 1px solid #d7bd85; border-radius: 50%; background: #fff; color: #96743b; text-align: center; font-size: 8px; font-weight: 700; }
.tracking-map > p { position: absolute; right: 12px; bottom: 8px; margin: 0; color: #627568; font-size: 8px; letter-spacing: .1em; }
@media (max-width: 1000px) {
  .digital-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landmark-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .about-layout { grid-template-columns: 1fr; gap: 25px; }
  .about-photo { min-height: 250px; }
  .digital-grid, .landmark-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .digital-image { height: 118px; }
  .digital-card > div:last-child { padding: 12px; }
  .digital-card h3 { font-size: 15px; }
  .digital-card p { min-height: 0; font-size: 9px; }
  .demo-code { font-size: 8px; }
  .landmark-card img { height: 110px; }
  .landmark-card > div { padding: 10px; }
  .landmark-card h3 { font-size: 15px; }
  #hotel-map { grid-template-columns: 1fr; }
  .static-map-city { min-height: 145px; }
}
@media (max-width: 380px) {
  .digital-grid, .landmark-grid { grid-template-columns: 1fr; }
}

/* Dedicated pages: restrained editorial styling with fine borders and quiet depth. */
body { color: #23352c; font-family: var(--sans); letter-spacing: .005em; }
h1, h2, h3, h4 { text-wrap: balance; }
.site-header { min-height: 82px; }
.main-nav { gap: clamp(10px, 1.55vw, 23px); }
.main-nav a { white-space: nowrap; }
.landing-hero { position: relative; display: grid; min-height: 560px; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: #102f26; color: #fff; }
.landing-hero-art { position: relative; min-height: 480px; overflow: hidden; background: #132f2c; }
.landing-hero-art:after { position: absolute; inset: 0; border-right: 1px solid rgba(220,193,131,.26); content: ''; pointer-events: none; }
.landing-hero-art img { display: block; width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.landing-hero-copy { display: flex; max-width: 650px; flex-direction: column; justify-content: center; padding: 75px clamp(35px, 7vw, 104px); }
.landing-hero-copy h1 { max-width: 570px; margin: 0 0 22px; color: #fff; font: 500 clamp(43px, 5vw, 68px)/1.08 var(--serif); letter-spacing: -.035em; }
.landing-hero-copy > p:not(.eyebrow):not(.landing-caveat) { max-width: 470px; color: #d3ddd4; font-size: 15px; line-height: 1.85; }
.landing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 23px; margin-top: 20px; }
.landing-caveat { margin-top: 28px; color: #bfcbbf; font-size: 10px; line-height: 1.7; }
.landing-tiles { padding-top: 78px; padding-bottom: 88px; }
.landing-tiles .section-heading { margin-bottom: 26px; }
.landing-tile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.landing-tile { position: relative; display: block; overflow: hidden; border: 1px solid #e8e7df; background: #fff; transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.landing-tile:hover { transform: translateY(-4px); border-color: #cfbd98; box-shadow: 0 18px 36px rgba(27,48,37,.11); }
.landing-tile img { display: block; width: 100%; height: 185px; object-fit: cover; background: #e7e9df; transition: transform .45s ease; }
.landing-tile:hover img { transform: scale(1.025); }
.landing-tile > span { display: block; margin: 18px 19px 8px; color: #94733d; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.landing-tile h3 { margin: 0 19px 8px; color: #173a2d; font: 500 23px/1.2 var(--serif); }
.landing-tile p { min-height: 42px; margin: 0 19px 20px; color: #68776e; font-size: 11px; line-height: 1.7; }
.page-loading { padding-block: 90px; color: #68776e; }
.page-hero { position: relative; display: flex; min-height: 330px; align-items: flex-end; overflow: hidden; background: #183b31; }
.page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,31,25,.72), rgba(10,31,25,.16)), linear-gradient(0deg, rgba(8,24,20,.62), transparent 78%); }
.page-hero-copy { position: relative; z-index: 1; padding-top: 82px; padding-bottom: 40px; color: #fff; }
.page-hero-copy .back-link { margin-bottom: 24px; color: #f0dfb8; }
.page-hero-copy h1 { max-width: 880px; margin: 0; color: #fff; font: 500 clamp(38px, 5.3vw, 62px)/1.1 var(--serif); letter-spacing: -.025em; }
.page-body { max-width: 1120px; padding-top: 47px; padding-bottom: 76px; }
.page-lead { max-width: 850px; margin: 0 auto 38px; color: #354a3e; font: 400 clamp(18px, 2vw, 23px)/1.7 var(--serif); text-align: center; }
.content-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin: 34px 0 48px; }
.content-card { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #e5e6de; background: linear-gradient(180deg, #fff 0%, #fbfaf6 100%); box-shadow: 0 5px 16px rgba(22,43,34,.035); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.content-card:hover { transform: translateY(-3px); border-color: #d3c5a6; box-shadow: 0 15px 32px rgba(22,43,34,.09); }
.content-card:before { position: absolute; z-index: 1; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, transparent, #c6a665 50%, transparent); content: ''; opacity: .8; }
.content-card > img { display: block; width: 100%; height: 190px; object-fit: cover; background: #e7e8df; }
.content-card-body { display: flex; height: 100%; flex-direction: column; padding: 19px; }
.content-kicker { color: #94733d; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.content-card h2 { margin: 9px 0 8px; color: #173a2d; font: 500 22px/1.2 var(--serif); }
.content-card p { color: #68766d; font-size: 11px; line-height: 1.75; }
.content-card .sample-price { margin-top: auto; padding-top: 11px; border-top: 1px solid #ecebe4; color: #765d31; font-size: 10px; font-weight: 700; }
.content-card .button { min-height: 40px; align-self: flex-start; margin-top: 8px; font-size: 10px; }
.prose-section { max-width: 850px; margin: 0 auto; padding: 28px 0; border-top: 1px solid #e8e8e1; }
.prose-section h2 { margin: 0 0 13px; color: #173a2d; font: 500 clamp(25px, 3vw, 32px)/1.2 var(--serif); }
.prose-section p, .prose-section li { color: #5f6e64; font-size: 13px; line-height: 1.9; }
.prose-section p { margin: 10px 0; }
.prose-section ul { display: grid; gap: 8px; padding-left: 21px; }
.prose-section li::marker { color: #b39257; }
.page-callout { max-width: 850px; margin: 30px auto; padding: 21px 23px; border: 1px solid #e8dfcc; border-left: 3px solid #bd9a5c; background: #faf8f2; }
.page-callout span { color: #94733d; font-size: 8px; font-weight: 700; letter-spacing: .17em; }
.page-callout p { margin: 8px 0 0; color: #59675d; font-size: 11px; line-height: 1.8; }
.page-bottom-link { margin-top: 36px; color: #718077; text-align: center; font-size: 10px; }
.page-bottom-link a { color: #765d31; font-weight: 700; }
.demo-choice[aria-pressed=true] { border-color: #b39257; background: #f5f0e2; }
.site-footer { margin-top: 0; }
@media (max-width: 1050px) {
  .site-header { padding-inline: 20px; }
  .brand { min-width: 180px; }
  .main-nav { gap: 11px; }
  .main-nav a { font-size: 10px; }
  .landing-hero { min-height: 480px; }
  .landing-hero-art, .landing-hero-art img { min-height: 440px; }
  .content-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .notice-bar { padding: 8px 14px; font-size: 9px; }
  .site-header { min-height: 68px; }
  .landing-hero { grid-template-columns: 1fr; }
  .landing-hero-art { min-height: 290px; max-height: 360px; }
  .landing-hero-art img { min-height: 290px; max-height: 360px; }
  .landing-hero-art:after { border-right: 0; border-bottom: 1px solid rgba(220,193,131,.26); }
  .landing-hero-copy { padding: 37px 25px 42px; }
  .landing-hero-copy h1 { font-size: clamp(41px, 11vw, 56px); }
  .landing-hero-copy > p:not(.eyebrow):not(.landing-caveat) { font-size: 13px; }
  .landing-tiles { padding-top: 52px; padding-bottom: 58px; }
  .landing-tile-grid, .content-card-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .landing-tile img { height: 130px; }
  .landing-tile > span { margin: 12px 12px 6px; font-size: 7px; }
  .landing-tile h3 { margin-inline: 12px; font-size: 17px; }
  .landing-tile p { min-height: 0; margin: 0 12px 13px; font-size: 9px; }
  .page-hero { min-height: 270px; }
  .page-hero-copy { padding-top: 65px; padding-bottom: 29px; }
  .page-hero-copy h1 { font-size: clamp(35px, 9vw, 48px); }
  .page-body { padding-top: 32px; padding-bottom: 53px; }
  .page-lead { margin-bottom: 24px; font-size: 18px; text-align: left; }
  .content-card > img { height: 125px; }
  .content-card-body { padding: 12px; }
  .content-card h2 { font-size: 17px; }
  .content-card p { font-size: 9px; }
  .content-card .sample-price { font-size: 8px; }
  .content-card .button { min-height: 35px; padding-inline: 9px; font-size: 8px; }
  .prose-section { padding: 22px 0; }
  .prose-section p, .prose-section li { font-size: 12px; }
  .page-callout { padding: 17px; }
}
@media (max-width: 390px) {
  .landing-tile-grid, .content-card-grid { grid-template-columns: 1fr; }
  .landing-tile img { height: 175px; }
  .content-card > img { height: 180px; }
}

/* Noorani premium design system: architectural arches, warm neutrals and quiet gold. */
body { background:var(--spiritual-cream); font-family:var(--font-body); -webkit-font-smoothing:antialiased; }
h1, h2, h3, h4, .brand-name { font-family:var(--font-header); }
.site-header { border-bottom-color:rgba(197,160,89,.2); box-shadow:0 5px 22px rgba(11,60,38,.035); }
.brand-name { letter-spacing:.075em; }
.button { border-radius:8px; transition:transform .3s cubic-bezier(.16,1,.3,1), background-color .2s, border-color .2s, box-shadow .2s; }
.button-gold { background:var(--luxury-gold); color:var(--kaaba-dark); }
.button-gold:hover { background:var(--luxury-gold-bright); box-shadow:0 9px 22px rgba(197,160,89,.2); }
.landing-hero { background:var(--primary-mosque-green); }
.landing-hero-art { margin:18px 0 18px 18px; border:2px solid var(--luxury-gold); border-radius:var(--arch-radius); box-shadow:0 18px 48px rgba(0,0,0,.16); }
.landing-hero-art img { border-radius:calc(var(--arch-radius) - 2px); }
.landing-hero-art:after { border:0; border-radius:var(--arch-radius); box-shadow:inset 0 0 0 1px rgba(255,255,255,.13); }
.landing-hero-copy { padding-top:82px; padding-bottom:82px; }
.landing-hero-copy h1 { font-weight:600; letter-spacing:-.025em; }
.landing-tile-grid { gap:20px; }
.landing-tile, .content-card, .package-card, .article-card, .tier-card, .flight-tool, .community-form, .account-modal, .support-banner, .service-card, .hotel-card { border-radius:var(--premium-radius); }
.landing-tile, .content-card, .package-card, .article-card, .tier-card, .service-card { box-shadow:var(--premium-shadow); }
.landing-tile img, .content-card > img, .card-image, .article-image, .hotel-photo { border-radius:var(--premium-radius) var(--premium-radius) 0 0; }
.landing-tile > span, .content-kicker, .card-kicker, .tier-label { color:#896b32; }
.landing-tile h3, .content-card h2, .section-heading h2, .prose-section h2, .tier-heading h3 { color:var(--primary-mosque-green); }
.content-card { border-color:rgba(197,160,89,.23); }
.content-card .button-outline, .button-outline { border-color:rgba(197,160,89,.38); border-radius:8px; }
.service-card { padding:24px 21px; border-color:rgba(197,160,89,.23); background:var(--pure-white); box-shadow:var(--premium-shadow); }
.service-card:hover, .tier-card:hover { transform:translateY(-5px); border-color:var(--luxury-gold-bright); box-shadow:0 20px 40px rgba(197,160,89,.12); }
.page-hero { margin:16px 20px 0; border:1px solid rgba(197,160,89,.48); border-radius:var(--arch-radius); }
.page-hero-shade { background:linear-gradient(180deg,rgba(11,60,38,.54),rgba(26,26,26,.68)); }
.page-hero-copy { width:min(1120px,calc(100% - 48px)); }
.page-body { padding-top:54px; }
.page-lead { color:#37493d; }
.page-callout { border-color:rgba(197,160,89,.28); border-left-color:var(--luxury-gold); border-radius:0 var(--premium-radius) var(--premium-radius) 0; background:#fffdf9; }
.site-footer { border-top:3px solid var(--luxury-gold); background:var(--green-dark); }
:focus-visible { outline:3px solid var(--luxury-gold-bright); outline-offset:3px; }
@media (max-width:1050px) {
  .landing-hero-art { margin:14px 0 14px 14px; }
}
@media (max-width:720px) {
  .landing-hero-art { margin:14px 14px 0; border-radius:90px 90px 0 0; }
  .landing-hero-art img, .landing-hero-art:after { border-radius:88px 88px 0 0; }
  .landing-hero-copy { padding:34px 25px 42px; }
  .page-hero { min-height:270px; margin:10px 10px 0; border-radius:76px 76px 0 0; }
  .page-hero-copy { width:min(100% - 34px,560px); }
  .landing-tile-grid, .content-card-grid { gap:12px; }
  .landing-tile h3 { font-size:clamp(16px,4vw,20px); }
  .landing-tile p, .content-card p { font-size:10px; }
  .content-card .sample-price { font-size:9px; }
  .content-card .button { min-height:38px; padding-inline:10px; font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
.photo-credit { padding:5px 8px; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(12,35,27,.76); color:#fff; font:600 9px/1.2 var(--font-body); letter-spacing:.025em; }
.landing-hero-art { position:relative; }
.landing-hero-art .photo-credit { position:absolute; right:14px; bottom:14px; z-index:2; }
.page-hero .photo-credit { position:absolute; right:20px; bottom:13px; z-index:2; }
.content-card { overflow:hidden; }
.content-card > .photo-credit { position:absolute; top:155px; left:10px; z-index:2; font-size:8px; }
#page-content[dir="rtl"] .page-hero-copy, #page-content[dir="rtl"] .page-body { text-align:right; }
#page-content[dir="rtl"] .page-hero-copy .back-link { direction:rtl; }
#page-content[dir="rtl"] .page-lead { text-align:right; font-family:'Noto Nastaliq Urdu','Noto Naskh Arabic',serif; line-height:2.1; }
#page-content[dir="rtl"] .prose-section { font-family:'Noto Nastaliq Urdu','Noto Naskh Arabic',serif; line-height:2; }
#page-content[dir="rtl"] .prose-section ul { padding-right:24px; padding-left:0; }
#page-content[dir="rtl"] .prose-section li, #page-content[dir="rtl"] .prose-section p { font-size:15px; line-height:2.2; }
#page-content[dir="rtl"] .reference-section a { color:#705421; font-weight:600; }
#page-content[dir="rtl"] .page-callout { border-right:3px solid var(--luxury-gold); border-left:1px solid rgba(197,160,89,.28); border-radius:var(--premium-radius) 0 0 var(--premium-radius); }
html[dir="rtl"] .site-header, html[dir="rtl"] .site-footer { direction:ltr; }
@media (max-width:720px) {
  .content-card > .photo-credit { top:92px; }
  .page-hero .photo-credit { right:12px; bottom:10px; font-size:8px; }
  #page-content[dir="rtl"] .prose-section li, #page-content[dir="rtl"] .prose-section p { font-size:14px; }
}
