/* Homepage & project listing styles — verbatim from supplied main page design
   (navigation, footer and lead-modal styles now live in site.css) */

    * { margin:0; padding:0; box-sizing:border-box; font-family:'Inter',sans-serif; }
    body { background:#fcfcfc; padding-top:var(--header-h, 68px); }
    :root {
      --danube-red: #e31b23; --danube-bright-red: #ff3b30; --danube-dark-red: #b01018;
      --nav-bg: #fff; --text-dark: #1e1e2a; --text-white: #fff; --border-light: #eaeef2;
      --shadow-panel: 0 20px 35px -8px rgba(0,0,0,0.2); --transition-smooth: all 0.25s ease-out;
      --gold: #bd9b60; --dark: #0a0a0a; --light-grey: #f4f4f4; --brown-tab: #bda588;
    }
    /* hero: desktop media is a 1920x1080 (16:9) image/video — the section is sized to that exact
       ratio (not a fixed 100vh) so the full frame always shows edge-to-edge with no cropping,
       stretching or empty bars, however wide or tall the browser window is. Capped at 100vh so it
       never grows taller than the screen on very narrow/tall windows. */
    .hero-video { position:relative; width:100%; aspect-ratio:1920/1080; max-height:100vh; overflow:hidden; background:#000; }
    .bg-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    /* desktop/mobile hero media: both are rendered, CSS shows the right one for the viewport */
    .hero-media-mobile { display:none; }
    @media (max-width:767px){
      /* mobile hero: size the section to the mobile media's own aspect ratio instead of a
         fixed viewport height, and show the full frame (object-fit:contain) so the image is
         never cropped, cut off, or stretched — it just scales to fit the phone screen. */
      .hero-video { aspect-ratio:auto; height:auto; max-height:85svh; background:#000; overflow:hidden; display:flex; align-items:center; justify-content:center; }
      .hero-media-desktop { display:none; }
      .hero-media-mobile { display:block; }
      .bg-video { position:static; inset:auto; top:auto; left:auto; width:100%; height:auto; min-width:0; min-height:0; max-height:85svh; transform:none; object-fit:contain; }
    }
    .hero-overlay { display:none; } /* dark overlay removed — hero media now shows clean and unobstructed */
    .hero-content { position:absolute; z-index:3; bottom:20%; left:8%; color:white; max-width:700px; }
    .hero-content--minimal { bottom:8%; max-width:none; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
    .hero-overlay-line { margin:0; color:#fff; font-size:.95rem; font-weight:500; text-shadow:0 2px 10px rgba(0,0,0,.5); }
    /* exact glass-button style, as supplied */
    .hero-glass-btn { display:inline-flex; align-items:center; justify-content:center; padding:8px 16px; background:rgba(255,255,255,.15); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.3); color:#fff; font-weight:500; letter-spacing:.1em; font-size:11px; text-transform:uppercase; text-decoration:none; transition:all .3s ease; box-shadow:0 10px 25px -5px rgba(0,0,0,.3), 0 8px 10px -6px rgba(0,0,0,.3); cursor:pointer; }
    .hero-glass-btn:hover { background:#c5a059; border-color:#c5a059; color:#fff; }
    .hero-pre { font-size:1rem; letter-spacing:6px; text-transform:uppercase; color:#bda588; font-weight:600; margin-bottom:1rem; }
    .hero-title { font-size:clamp(3.5rem,9vw,6.5rem); font-weight:900; text-transform:uppercase; line-height:0.9; text-shadow:0 4px 20px rgba(0,0,0,0.4); }
    /* .hero-title span red rule removed — stale leftover from an old hero layout that no longer exists */
    .hero-desc { font-size:1.2rem; margin:1.5rem 0 2rem; opacity:0.9; max-width:550px; }
    .btn-outline-light { border-radius:0; padding:14px 42px; font-weight:700; letter-spacing:2px; border-width:2px; }
    .btn-outline-light:hover { background:#e31b23; border-color:#e31b23; }
    .fresh-section { background:#fff; padding:4rem 5% 5rem; }
    .section-tag { text-align:center; font-weight:600; font-size:0.9rem; letter-spacing:5px; color:#bda588; text-transform:uppercase; margin-bottom:1rem; }
    .section-title { text-align:center; font-size:2.5rem; font-weight:800; text-transform:uppercase; margin-bottom:3rem; color:#121212; }
    .section-title span { color:#e31b23; }
    .fresh-card { display:flex; flex-wrap:wrap; background:#0b0f13; border-radius:32px; overflow:hidden; box-shadow:0 30px 40px -20px rgba(0,0,0,0.5); border:1px solid rgba(255,255,255,0.05); }
    .fresh-img { flex:1 1 50%; min-height:307px; background-size:cover; background-position:center; position:relative; }
    .fresh-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,0.4) 0%, transparent 60%); }
    .fresh-content { flex:1 1 50%; padding:2.5rem 3.2rem; color:#fff; display:flex; flex-direction:column; justify-content:center; }
    .fresh-badge { background:#bda588; display:inline-block; padding:4.5px 20px; font-size:0.85rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; border-radius:40px; margin-bottom:18px; align-self:flex-start; color:#000; }
    .fresh-content h2 { font-size:2.6rem; font-weight:900; text-transform:uppercase; line-height:1; margin-bottom:12px; }
    .fresh-content p { font-size:1.1rem; opacity:0.85; margin-bottom:22px; max-width:450px; }
    .btn-fresh { background:transparent; border:2px solid #bda588; color:#fff; padding:14px 38px; font-weight:700; letter-spacing:2px; border-radius:0; text-transform:uppercase; transition:0.2s; align-self:flex-start; }
    .btn-fresh:hover { background:#e31b23; border-color:#e31b23; color:#fff; }
    /* "View Project" (Fresh Launch card) now matches the "Discover Fresh Launch" hero button's colors, blur and hover animation — size (padding/font) unchanged */
    .btn-fresh-solid { background:rgba(255,255,255,.15); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.3); box-shadow:0 10px 25px -5px rgba(0,0,0,.3), 0 8px 10px -6px rgba(0,0,0,.3); transition:all .3s ease; }
    .btn-fresh-solid:hover { background:#c5a059; border-color:#c5a059; color:#fff; }
    .container { max-width:1300px; margin:80px auto; padding:0 20px; }
    .minimal-title { font-size:2rem; margin-bottom:40px; border-left:4px solid var(--gold); padding-left:15px; }
    .minimal-title span { font-weight:300; color:#888; }
    .landscape-grid { display:grid; grid-template-columns:1fr; gap:48px; }
    .landscape-card { display: flex; background: #ffffff; border-radius: 24px; overflow: hidden; min-height: 420px; transition: 0.3s ease-in-out; box-shadow: 0 12px 30px -10px rgba(0,0,0,0.15); border: 1px solid #f0f0f0; }
    .landscape-card:hover { box-shadow: 0 20px 40px -8px rgba(0,0,0,0.2); background: #fefefe; }
    /* Featured Projects card: one fixed shape for all four cards. The card's height follows its
       width (aspect-ratio), so every card — and every image frame — is identical whatever the
       text or the uploaded image size; min-height:auto still lets a card grow rather than clip
       if a very narrow desktop window makes the text taller than the frame. */
    .landscape-card-featured { min-height: 0; aspect-ratio: 1260 / 405; }
    .card-visual { flex: 1.5; position: relative; overflow: hidden; background: #1a1a1a; display: flex; align-items: center; justify-content: center; aspect-ratio: 900 / 500; }
    .card-visual img, .card-visual video { width: 100%; height: 100%; object-fit: cover; transition: 0.6s; }
    .landscape-card:hover .card-visual img { transform: scale(1.03); }
    /* Featured Projects cards (homepage): 895x520 frame, ~5% taller (895x546) per the latest request.
       A dedicated Featured card image (already cropped to size on upload) fills it like any other
       card. Falling back to the regular Listing Card Image, .card-img-contain shows that photo in
       full — scaled to fit, centered on a neutral backdrop — instead of cropping it to a frame it
       wasn't made for. */
    /* Featured frame: 56% of the card width at 895:520 (the Featured card image size). Every
       image fills the frame edge to edge, centred and never stretched (object-fit: cover), so an
       image of a different size (e.g. an 1800x1013 listing photo) looks exactly like a dedicated
       895x520 one instead of floating inside grey bars. */
    .card-visual-featured { flex: 0 0 56%; aspect-ratio: auto; background: #f4f4f4; }
    .card-visual-featured img { object-fit: cover; object-position: center; }
    /* Featured typography: slightly more compact so the content always fits the fixed card */
    .landscape-card-featured .card-content { padding: 24px 28px 20px; min-width: 0; }
    .landscape-card-featured .card-header { margin-bottom: 10px; }
    .landscape-card-featured .card-header h3 { font-size: 1.5rem; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .landscape-card-featured .card-handover-value { font-size: 0.92rem; }
    .landscape-card-featured .card-chip-row { margin-bottom: 10px; }
    .landscape-card-featured .card-content p { font-size: 0.88rem; margin-bottom: 14px; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .landscape-card-featured .card-info-tabs { gap: 12px; margin-bottom: 14px; }
    .landscape-card-featured .info-tab { padding: 11px 14px; border-radius: 12px; }
    .landscape-card-featured .info-tab-value { font-size: 0.94rem; }
    .landscape-card-featured .info-tab-label { font-size: 0.86rem; }
    .landscape-card-featured .download-pdf-btn { margin-bottom: 12px; padding: 7px 16px; font-size: 0.7rem; }
    .landscape-card-featured .card-footer { padding-top: 12px; }
    .landscape-card-featured .card-price { font-size: 1.15rem; }
    /* same footer height whether or not the USD/INR line is shown, so cards stay identical */
    .landscape-card-featured .price-block { display: flex; flex-direction: column; justify-content: center; min-height: 2.6rem; }
    .landscape-card-featured .arrow-link { font-size: 0.92rem; }
    /* Kept for the small related-project "mini card" only (see .mini-img below) — the main
       listing/Featured card uses .card-offer-badge and the content-column badges instead. */
    .card-location { position: absolute; top: 20px; left: 0; background: #0a0a0a; color: #fff; padding: 4.5px 9px; font-size: 0.5rem; letter-spacing: 1px; z-index: 10; border-radius: 4px; border: 2px solid rgba(255,255,255,.85); font-weight: 600; max-width: calc(100% - 16px); box-sizing: border-box; }
    .card-offer { position: absolute; top: 46px; left: 0; background: #e31b23; color: #fff; padding: 4.5px 9px; font-size: 0.5rem; letter-spacing: 1px; z-index: 10; border-radius: 4px; border: 2px solid rgba(255,255,255,.85); font-weight: 700; max-width: calc(100% - 16px); box-sizing: border-box; line-height: 1.35; }
    /* Listing & Featured Projects cards: brown/white image badges — the Facing/Offer badge
       top-left, with the optional second badge stacked directly below it (or in the top slot
       if there's no first badge). Location, the Handover block and the info boxes all live in
       the content column (see below) so the image itself stays otherwise clean, consistently
       on every project card, not just Featured. */
    .card-offer-badge, .card-badge-2 { position: absolute; left: 18px; z-index: 10; background: var(--brown-tab); color: #fff; padding: 8px 18px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; border-radius: 8px; box-shadow: 0 8px 20px -6px rgba(0,0,0,.25); max-width: calc(100% - 36px); box-sizing: border-box; line-height: 1.35; }
    .card-offer-badge { top: 18px; }
    .card-badge-2 { top: 58px; }
    .card-badge-2.card-badge-2-top { top: 18px; }
    .card-content { flex: 1; padding: 28px 30px 25px 30px; display: flex; flex-direction: column; background: white; position: relative; }
    .card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 12px; }
    .card-header h3 { font-size: 1.8rem; font-weight: 800; margin:0; line-height:1.2; color: #1e1e2a; }
    /* Handover, top-right of the header, next to the title. */
    .card-handover { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 2px; }
    .card-handover svg { color: var(--brown-tab); margin-bottom: 2px; }
    .card-handover-value { font-size: 1rem; font-weight: 800; color: #1e1e2a; line-height: 1.2; white-space: nowrap; }
    .card-handover-label { font-size: 0.65rem; font-weight: 700; letter-spacing: .08em; color: var(--brown-tab); text-transform: uppercase; }
    .card-chip-row { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
    /* Location badge, off the image and into the content column — a premium gold/bronze chip. */
    .card-location-chip { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; background: rgba(189,165,136,.12); border: 1px solid rgba(189,165,136,.5); color: #8a6f4e; padding: 5px 13px; border-radius: 20px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
    .card-location-chip i { color: var(--brown-tab); font-size: 0.78rem; }
    /* Property type chip, shown next to Location — desktop hides it (the type already appears
       in the Apartments info box below); mobile shows it since the info boxes are hidden there. */
    .card-type-chip { display: none; align-items: center; background: rgba(189,165,136,.12); border: 1px solid rgba(189,165,136,.5); color: #8a6f4e; padding: 5px 13px; border-radius: 20px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
    .card-content p { color: #4a4a5a; line-height: 1.5; margin-bottom: 20px; font-size: 0.95rem; flex-shrink: 1; }
    /* Apartments / Payment Plan info boxes — plain text, no icons, no fill, just a thin neutral
       border. Full details stay on the project page, so each box is a full link there. Desktop
       only (hidden on mobile, see the media query below). */
    .card-info-tabs { display: flex; gap: 14px; margin-bottom: 18px; }
    .info-tab { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4px; border: 1px solid #e3ddd3; color: inherit; padding: 16px 18px; border-radius: 14px; background: transparent; text-decoration: none; box-sizing: border-box; transition: 0.2s; }
    .info-tab:hover { border-color: var(--brown-tab); }
    .info-tab-value { font-size: 1.05rem; font-weight: 500; color: #1e1e2a; line-height: 1.25; }
    .info-tab-label { font-size: 1rem; font-weight: 500; color: var(--brown-tab); line-height: 1.25; }
    .card-footer-group { margin-top: auto; display: flex; flex-direction: column; }
    /* Centered under the two info boxes above (same total width) */
    .download-pdf-btn { background: transparent; border: 2px solid var(--brown-tab); color: var(--brown-tab); padding: 8px 18px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.5px; border-radius: 40px; cursor: pointer; transition: 0.2s; align-self: center; text-transform: uppercase; margin-bottom: 15px; width: fit-content; display: inline-flex; align-items: center; gap: 6px; }
    .download-pdf-btn:hover { background: var(--brown-tab); color: white; }
    .card-footer { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(189,165,136,0.3); padding-top: 14px; }
    .card-price { font-size: 1.3rem; font-weight: 800; color: #1e1e2a; }
    .arrow-link { text-decoration: none; color: var(--dark); font-weight: 700; font-size: 1rem; transition: color 0.2s; display: flex; align-items: center; gap: 5px; }
    .arrow-link:hover { color: var(--brown-tab); }
    @media (max-width:900px) {
      .landscape-card { flex-direction: column; min-height: auto; border-radius: 24px; }
      .landscape-card-featured { aspect-ratio: auto; }
      .card-visual-featured { flex: 0 0 auto; width: 100%; aspect-ratio: 895 / 520; }
      .landscape-card-featured .card-content { padding: 20px; }
      .landscape-card-featured .card-header h3 { font-size: clamp(1.1rem, 5.8vw, 1.45rem); }
      .card-visual video { max-height: 260px; }
      .card-content { padding: 25px; }
      /* Smaller, so the project name fits on one line instead of wrapping; a genuinely very
         long name still shrinks further rather than wrapping or overflowing. */
      .card-header h3 { font-size: clamp(1.1rem, 5.8vw, 1.5rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
      /* Card badges on mobile: tuned for the narrower stacked image, not just a scaled-down copy
         of the desktop sizing — smaller inset and padding so neither badge crowds the image
         edges or the content below it. */
      .card-offer-badge, .card-badge-2 { padding: 6px 14px; font-size: 0.6rem; border-radius: 7px; max-width: calc(100% - 24px); left: 12px; }
      .card-offer-badge { top: 12px; }
      .card-badge-2 { top: 44px; }
      .card-badge-2.card-badge-2-top { top: 12px; }
      /* Per request: Handover and the Apartments/Payment Plan info boxes are desktop-only — the
         mobile card shows the Property type as a compact chip next to Location instead. */
      .card-handover { display: none; }
      .card-type-chip { display: inline-flex; }
      .card-location-chip, .card-type-chip { font-size: 0.62rem; padding: 4.5px 11px; }
      .card-chip-row { margin-bottom: 10px; }
      /* Per request: the Apartments / Payment Plan info boxes are desktop-only — the mobile
         card keeps showing just name, location, property type, description, download, price
         and View Project. */
      .card-info-tabs { display: none; }
      /* Fresh Launch card: ~20% shorter than before on both desktop and mobile, same proportions otherwise */
      .fresh-card { flex-direction: column; border-radius: 24px; }
      .fresh-img { flex: 0 0 auto; width: 100%; min-height: 0; aspect-ratio: 450 / 280; }
      .fresh-content { padding: 20px; }
      .fresh-content h3.fresh-name { font-size: 1.8rem; margin-bottom: 8px; }
      .fresh-content p { font-size: 0.95rem; margin-bottom: 13px; }
      .fresh-actions { gap: 10px; }
    }
    .blog-section { background:#fafafa; padding:5rem 0; }
    .blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap:30px; margin-top:40px; }
    .blog-card { background:white; border-radius:16px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,0.05); transition:0.2s; display: flex; flex-direction: column; }
    .blog-card:hover { box-shadow:0 16px 32px rgba(0,0,0,0.1); }
    .blog-img { height:200px; background-size:cover; background-position:center; }
    .blog-content { padding:24px; flex:1; display: flex; flex-direction: column; }
    .blog-content h4 { font-weight:700; margin-bottom:8px; font-size:1.2rem; }
    .blog-meta { color:#bda588; font-size:0.8rem; letter-spacing:1px; margin-bottom:12px; }
    .blog-content p { color:#555; font-size:0.95rem; margin-bottom:20px; flex:1; }
    .view-full-btn { background: transparent; border: 1px solid var(--brown-tab); color: var(--brown-tab); padding: 8px 16px; border-radius: 30px; font-size:0.8rem; font-weight:600; text-decoration: none; align-self: flex-start; transition:0.2s; margin-top: auto; }
    .view-full-btn:hover { background: var(--brown-tab); color: white; }
    .view-all-wrapper { text-align: right; margin-top: 30px; }
    .view-all-btn { background: transparent; border: 2px solid var(--brown-tab); color: var(--brown-tab); padding: 10px 32px; border-radius: 40px; font-weight:700; text-decoration: none; display: inline-block; transition:0.2s; }
    .view-all-btn:hover { background: var(--brown-tab); color: white; }
    .view-all-wrapper .view-all-btn + .view-all-btn { margin-left: 10px; }
    @media (max-width: 480px) { .view-all-wrapper { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; } .view-all-wrapper .view-all-btn + .view-all-btn { margin-left:0; } }
    @media (max-width: 768px) { .blog-grid { grid-template-columns: 1fr; gap: 20px; } }
    .founder-section{ background:#efefef; padding:10px 0; }
    .founder-img-box{ position:relative; }
    .founder-img-box img{ width:100%; border-radius:6px; }
    .badge-box{ position:absolute; top:20px; right:20px; background:#e10000; color:#fff; padding:12px 18px; font-weight:600; font-size:18px; }
    .founder-sub{ font-size:14px; letter-spacing:3px; color:#666; }
    .founder-name{ font-size:36px; letter-spacing:3px; color:#b89b72; font-weight:600; margin-top:10px; }
    .founder-btn{ background:#3d3d3d; color:#fff; padding:12px 28px; letter-spacing:1px; font-size:14px; border-radius:2px; text-decoration:none; display:inline-block; transition:0.3s; }
    .founder-btn:hover{ background:#b89b72; color:#fff; }
    /* CTA BUTTON: red bg, white text, hover brown bg + black text */
    .btn-cta { background:var(--danube-red) !important; color:white !important; border:none; padding:16px 58px; font-weight:700; text-transform:uppercase; border-radius:4px; transition:0.2s; }
    .btn-cta:hover { background:#BDA588 !important; color:#000000 !important; }
    .cta-banner { background:#0b0f13; color:white; padding:4rem 5%; text-align:center; border-top:1px solid #2c2c2c; border-bottom:1px solid #2c2c2c; }
    .cta-banner h3 { font-size:2.4rem; font-weight:800; text-transform:uppercase; }
    .cta-banner .highlight { color:#bda588; }
    .view-more-projects-wrapper { text-align: center; margin-top: 40px; }
    .view-more-btn { background: transparent; border: 2px solid var(--brown-tab); color: var(--brown-tab); padding: 14px 48px; border-radius: 40px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; transition: 0.2s; cursor: pointer; display: inline-block; }
    .view-more-btn:hover { background: var(--brown-tab); color: white; }
    .why-section{ padding:10px 0; background:#ffffff; font-family: 'Segoe UI', sans-serif; }
    .why-section .col-lg-6{ display:flex; flex-direction:column; align-items:center; }
    .sub-title { font-size: 42px; letter-spacing: 4px; color: #888; margin-bottom:5px; text-align:center; }
    .section-title{ font-size:28px; letter-spacing:3px; color:#b89b72; font-weight:600; margin-bottom:45px; text-align:center; }
    .icon-wrapper{ width:100%; }
    .icon-row{ display:flex; flex-wrap:wrap; }
    .icon-item{ width:25%; text-align:center; padding:40px 25px; transition:all 0.3s ease; border-right:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; }
    .icon-item:nth-child(4n){ border-right:none; }
    .icon-item:nth-last-child(-n+4){ border-bottom:none; }
    .icon-item img{ width:55px; margin-bottom:15px; }
    .icon-item h6{ font-size:13px; font-weight:600; letter-spacing:1px; margin:0; line-height:1.4; min-height:38px; }
    .section-divider{ border-right:1px solid #e6e6e6; }
    .icon-item:hover{ background:#f9f9f9; transform:translateY(-6px); }
    @media(max-width:991px){ .section-divider{ border-right:none; margin-bottom:60px; } .icon-item{ width:50%; border-right:1px solid #e6e6e6; } .icon-item:nth-child(2n){ border-right:none; } .icon-item:nth-last-child(-n+2){ border-bottom:none; } }
    @media(max-width:576px){ .why-section{ padding:60px 0; } .icon-item{ width:50%; padding:30px 15px; border-right:1px solid #e6e6e6; } .icon-item:nth-child(2n){ border-right:none; } .icon-item:nth-last-child(-n+2){ border-bottom:none; } .icon-item h6{ font-size:12px; } }
    /* FAQ section style (already fine) */
    .luxury-faq-full { background-color: #efefef; width: 100%; padding: 7.0rem 1rem; }
    .faq-title { font-weight: 300; letter-spacing: -0.02em; color: #1e1e1e; margin-bottom: 2rem; font-size: calc(1.6rem + 0.8vw); padding: 0 0.5rem; }
    .developer-highlight { color: #b5977a; font-weight: 450; }
    .accordion-luxury { --bs-accordion-border-color: rgba(0, 0, 0, 0.05); --bs-accordion-btn-focus-box-shadow: 0 0 0 0.15rem rgba(180, 150, 120, 0.15); border-radius: 1.2rem; }
    .accordion-luxury .accordion-item { background-color: #ffffff; border: none; border-radius: 1.2rem; margin-bottom: 1rem; box-shadow: 0 5px 18px -6px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.01); }
    .accordion-luxury .accordion-button { background-color: #ffffff; color: #1e1e1e; font-weight: 450; font-size: 1.1rem; padding: 1rem 1.5rem; border-radius: 1.2rem !important; box-shadow: none; border: none; line-height: 1.4; }
    .accordion-luxury .accordion-button:not(.collapsed) { background-color: #ffffff; color: #1e1e1e; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
    .accordion-luxury .accordion-button::after { display: none; }
    .accordion-luxury .accordion-button .fa-icon { font-size: 1.3rem; width: 2rem; text-align: center; color: #9b8c7c; transition: transform 0.2s ease, color 0.15s; }
    .accordion-luxury .accordion-button:hover .fa-icon { color: #6b5b4b; }
    .accordion-luxury .accordion-button:not(.collapsed) .fa-plus { display: none; }
    .accordion-luxury .accordion-button.collapsed .fa-minus { display: none; }
    .accordion-luxury .accordion-body { background-color: #ffffff; padding: 0.8rem 1.5rem 1.5rem 1.5rem; border-bottom-left-radius: 1.2rem; border-bottom-right-radius: 1.2rem; color: #2e2e2e; font-weight: 350; font-size: 1rem; line-height: 1.6; border-top: 1px solid #efefef; }
