/* Royala 18 microsite: specifications page styles. Scoped under .r18 so it never affects the shared layout (header, footer, widgets). */
/* =========================================
           SPECIFICATIONS PAGE - DESIGN SYSTEM
        ========================================= */

        .r18.spec-page{
            --sp-navy: #172554;
            --sp-gold: #e9b936;
            --sp-ivory: #f7f5f0;
            --sp-muted: #667085;
            --sp-line: #e8e2d7;
            color: var(--sp-navy);
            background: #fff;
        }

        .r18.spec-page *{
            box-sizing: border-box;
        }

        .r18 .spec-container{
            width: min(1200px, 92%);
            margin: 0 auto;
        }

        .r18 .spec-eyebrow{
            color: #ad801b;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 2.2px;
            text-transform: uppercase;
            margin: 0 0 12px;
        }

        .r18.spec-page h1,.r18.spec-page h2,.r18.spec-page h3{
            color: var(--sp-navy);
        }

        .r18.spec-page h2{
            font: 600 clamp(30px, 3.5vw, 43px)/1.15 var(--serif);
            letter-spacing: -.5px;
            margin: 0 0 12px;
        }

        .r18 .spec-intro{
            color: var(--sp-muted);
            font-size: 14px;
            line-height: 1.8;
            max-width: 720px;
            margin: 0;
        }

        .r18 .spec-section{
            padding: 75px 0;
        }

        .r18 .spec-section-heading{
            margin-bottom: 35px;
        }

        /* PAGE HERO */

        .r18 .spec-hero{
            padding: 62px 0 58px;
            background:
                linear-gradient(110deg, #f7f5f0 0%, #fff 75%);
            border-bottom: 1px solid var(--sp-line);
        }

        .r18 .spec-hero h1{
            font: 600 clamp(38px, 5vw, 58px)/1.1 var(--serif);
            margin: 0 0 14px;
            letter-spacing: -1px;
        }

        .r18 .spec-hero h1 em{
            color: var(--sp-gold);
            font-style: normal;
        }

        .r18 .spec-hero p:last-child{
            color: var(--sp-muted);
            max-width: 700px;
            font-size: 15px;
            margin: 0;
        }

        /* CONSTRUCTION SPECIFICATIONS */

        .r18 .spec-construction{
            background: #fff;
        }

        .r18 .specification-grid{
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 20px;
        }

        .r18 .specification-card{
            position: relative;
            padding: 27px 28px;
            background: #fff;
            border: 1px solid var(--sp-line);
            box-shadow: 0 9px 28px rgba(23, 37, 84, .045);
            transition: transform .25s ease, box-shadow .25s ease;
        }

        .r18 .specification-card:hover{
            transform: translateY(-3px);
            box-shadow: 0 14px 32px rgba(23, 37, 84, .09);
        }

        .r18 .specification-card-top{
            display: flex;
            align-items: center;
            gap: 15px;
            padding-bottom: 17px;
            margin-bottom: 16px;
            border-bottom: 1px solid var(--sp-line);
        }

        .r18 .specification-icon{
            flex: 0 0 46px;
            width: 46px;
            height: 46px;
            display: grid;
            place-items: center;
            background: var(--sp-ivory);
            color: #ad801b;
            border: 1px solid #eee2c5;
            border-radius: 10px;
        }

        .r18 .specification-icon svg{
            width: 23px;
            height: 23px;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.7;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .r18 .specification-card h3{
            font: 600 21px/1.3 var(--serif);
            margin: 0;
        }

        .r18 .specification-card ul{
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .r18 .specification-card li{
            position: relative;
            padding: 7px 0 7px 19px;
            color: #596579;
            font-size: 13px;
            line-height: 1.65;
            border-bottom: 1px solid #f3f0e9;
        }

        .r18 .specification-card li:last-child{
            border-bottom: 0;
        }

        .r18 .specification-card li:before{
            content: "";
            position: absolute;
            left: 0;
            top: 16px;
            width: 6px;
            height: 6px;
            background: var(--sp-gold);
            border-radius: 50%;
        }

        /* AMENITIES */

        .r18 .spec-amenities{
            background: var(--sp-ivory);
        }

        .r18 .amenity-grid{
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 15px;
            margin-top: 32px;
        }

        .r18 .amenity-card{
            min-height: 155px;
            padding: 21px 19px;
            background: #fff;
            border: 1px solid #ece5d8;
            transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
        }

        .r18 .amenity-card:hover{
            transform: translateY(-4px);
            border-color: #dfbd62;
            box-shadow: 0 12px 28px rgba(23, 37, 84, .07);
        }

        .r18 .amenity-icon{
            width: 42px;
            height: 42px;
            display: grid;
            place-items: center;
            margin-bottom: 15px;
            background: #fbf8ef;
            border: 1px solid #eee2c5;
            border-radius: 10px;
            color: #ad801b;
        }

        .r18 .amenity-icon svg{
            width: 22px;
            height: 22px;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.7;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .r18 .amenity-card h3{
            font: 600 17px/1.35 var(--serif);
            margin: 0 0 7px;
        }

        .r18 .amenity-card p{
            color: var(--sp-muted);
            font-size: 12px;
            line-height: 1.65;
            margin: 0;
        }

        /* GALLERY */

        .r18 .spec-gallery{
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 15px;
            margin-top: 35px;
        }

        .r18 .spec-gallery figure{
            margin: 0;
            overflow: hidden;
            background: #e9e5dc;
            position: relative;
        }

        .r18 .spec-gallery img{
            width: 100%;
            height: 245px;
            display: block;
            object-fit: cover;
            transition: transform .45s ease;
        }

        .r18 .spec-gallery figure:hover img{
            transform: scale(1.045);
        }

        /* LOCATION */

        .r18 .spec-location{
            background: #fff;
        }

        .r18 .location-grid{
            display: grid;
            grid-template-columns: .88fr 1.12fr;
            gap: 55px;
            align-items: center;
        }

        .r18 .location-copy h2{
            max-width: 440px;
        }

        .r18 .location-copy .spec-intro{
            margin-bottom: 23px;
        }

        .r18 .distance-list{
            list-style: none;
            padding: 0;
            margin: 0 0 24px;
            border-top: 1px solid var(--sp-line);
        }

        .r18 .distance-list li{
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
            padding: 12px 0;
            border-bottom: 1px solid var(--sp-line);
            color: #536078;
            font-size: 13px;
        }

        .r18 .distance-list strong{
            color: var(--sp-navy);
            font-size: 14px;
            font-weight: 700;
        }

        .r18 .location-visual{
            position: relative;
            padding: 12px;
            background: var(--sp-ivory);
            border: 1px solid var(--sp-line);
        }

        .r18 .location-visual img{
            width: 100%;
            height: 410px;
            object-fit: contain;
            display: block;
            background: #0b3443;
        }

        .r18 .location-caption{
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 15px;
            padding: 13px 5px 2px;
            color: var(--sp-muted);
            font-size: 11px;
        }

        .r18 .location-caption strong{
            color: var(--sp-navy);
            font-size: 12px;
        }

        .r18 .spec-map-btn{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 47px;
            padding: 12px 20px;
            background: var(--sp-navy);
            border: 1px solid var(--sp-navy);
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            transition: .2s ease;
        }

        .r18 .spec-map-btn:hover{
            background: #24366f;
            transform: translateY(-2px);
        }

        .r18 .spec-map-btn svg{
            width: 17px;
            height: 17px;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        /* PROJECT INFORMATION */

        .r18 .spec-project-info{
            background: var(--sp-ivory);
        }

        .r18 .project-info-grid{
            display: grid;
            grid-template-columns: .8fr 1.2fr;
            gap: 20px;
            margin-top: 32px;
        }

        .r18 .project-info-card{
            position: relative;
            padding: 30px;
            background: #fff;
            border: 1px solid var(--sp-line);
            box-shadow: 0 8px 25px rgba(23, 37, 84, .045);
        }

        .r18 .project-info-card h3{
            font: 600 22px/1.3 var(--serif);
            margin: 0 0 17px;
        }

        .r18 .project-info-card p{
            color: var(--sp-muted);
            font-size: 13px;
            line-height: 1.8;
            margin: 0 0 11px;
        }

        .r18 .project-info-card strong{
            color: var(--sp-navy);
            font-weight: 700;
        }

        .r18 .project-info-card a{
            display: inline-block;
            color: #9b741e;
            font-size: 12px;
            font-weight: 700;
            text-decoration: underline;
            text-underline-offset: 4px;
        }

        .r18 .rera-number{
            display: block;
            padding: 15px;
            margin: 15px 0;
            background: #f8f6f1;
            border-left: 3px solid var(--sp-gold);
            color: var(--sp-navy);
            font-size: 14px;
            font-weight: 700;
            overflow-wrap: anywhere;
        }

        /* DISCLAIMER */

        .r18 .spec-disclaimer{
            padding: 35px 0;
            background: #fff;
        }

        .r18 .disclaimer-panel{
            padding: 22px 25px;
            border: 1px solid var(--sp-line);
            border-left: 3px solid var(--sp-gold);
            background: #fbfaf7;
        }

        .r18 .disclaimer-panel p{
            color: #788195;
            font-size: 11px;
            line-height: 1.9;
            margin: 0;
        }

        /* FINAL CTA */

        .r18 .spec-final-cta{
            background: var(--sp-navy);
            color: #fff;
            padding: 42px 0;
        }

        .r18 .spec-final-cta .cta-inner{
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 30px;
        }

        .r18 .spec-final-cta .spec-eyebrow{
            color: var(--sp-gold);
        }

        .r18 .spec-final-cta h2{
            color: #fff;
            font-size: clamp(25px, 3vw, 34px);
            margin: 0 0 7px;
        }

        .r18 .spec-final-cta p{
            color: #d7deed;
            font-size: 13px;
            margin: 0;
        }

        .r18 .spec-final-cta .btn{
            flex-shrink: 0;
            min-height: 55px;
            padding: 15px 29px;
            background: var(--sp-gold);
            border-color: var(--sp-gold);
            color: var(--sp-navy);
            font-size: 14px;
        }

        .r18 .spec-final-cta .btn:hover{
            background: #dca91f;
            border-color: #dca91f;
        }

        /* RESPONSIVE */

        @media(max-width: 1050px){
            .r18 .amenity-grid{
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .r18 .location-grid{
                gap: 30px;
            }

            .r18 .location-visual img{
                height: 350px;
            }
        }

        @media(max-width: 700px){
            .r18 .spec-section{
                padding: 52px 0;
            }

            .r18 .spec-hero{
                padding: 43px 0;
            }

            .r18 .specification-grid,.r18 .project-info-grid,.r18 .location-grid{
                grid-template-columns: 1fr;
                gap: 17px;
            }

            .r18 .specification-card{
                padding: 22px 19px;
            }

            .r18 .specification-card h3{
                font-size: 19px;
            }

            .r18 .amenity-grid{
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 11px;
            }

            .r18 .amenity-card{
                min-height: 155px;
                padding: 16px 13px;
            }

            .r18 .amenity-card h3{
                font-size: 15px;
            }

            .r18 .amenity-card p{
                font-size: 11px;
            }

            .r18 .spec-gallery{
                grid-template-columns: 1fr;
                gap: 13px;
            }

            .r18 .spec-gallery img{
                height: 260px;
            }

            .r18 .location-visual img{
                height: 290px;
            }

            .r18 .project-info-card{
                padding: 23px 19px;
            }

            .r18 .spec-final-cta .cta-inner{
                flex-direction: column;
                align-items: stretch;
                text-align: left;
                gap: 22px;
            }

            .r18 .spec-final-cta .btn{
                width: 100%;
            }
        }

        @media(max-width: 380px){
            .r18 .amenity-grid{
                grid-template-columns: 1fr;
            }

            .r18 .amenity-card{
                min-height: auto;
            }

            .r18 .spec-gallery img{
                height: 220px;
            }
        }

/* =====================================================================
   Specifications page – phones only (<=640px). Desktop and tablet are unaffected.
   The amenity cards reuse the homepage's compact card rules in royala18.css.
   All technical content stays; it is tightened, not removed.
   ===================================================================== */
@media (max-width: 640px) {
    /* 24px gutters (as on the other pages) keep content clear of the shared "Contact Us" tab */
    .r18.spec-page .spec-container{width:calc(100% - 48px)}
    .r18 .spec-section{padding:40px 0}
    .r18 .spec-section-heading{margin-bottom:20px}
    .r18.spec-page h2{font-size:28px;margin-bottom:8px}
    .r18 .spec-intro{font-size:13px;line-height:1.55}

    .r18 .spec-hero{padding:32px 0 28px}
    .r18 .spec-hero h1{font-size:36px;margin-bottom:10px}
    .r18 .spec-hero p:last-child{font-size:14px;line-height:1.55}

    /* Construction specifications: compact cards, full lists */
    .r18 .specification-grid{gap:12px}
    .r18 .specification-card{padding:16px 15px 10px;border-radius:14px;box-shadow:0 6px 20px rgba(23,37,84,.06)}
    .r18 .specification-card:hover{transform:none}
    .r18 .specification-card-top{gap:11px;padding-bottom:11px;margin-bottom:4px}
    .r18 .specification-icon{flex-basis:38px;width:38px;height:38px}
    .r18 .specification-icon svg{width:20px;height:20px}
    .r18 .specification-card h3{font-size:17px;line-height:1.25}
    .r18 .specification-card li{padding:6px 0 6px 15px;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
    .r18 .specification-card li:before{top:12px;width:5px;height:5px}

    /* Amenities: small full descriptions under the shared compact card (rows share one height) */
    .r18 .amenity-grid .amenity-card{border-radius:12px}
    .r18 .amenity-grid .amenity-card p{font-size:11px;line-height:1.4}

    /* Gallery: one wide image, two below, tight gaps */
    .r18 .spec-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:18px}
    .r18 .spec-gallery figure{border-radius:10px}
    .r18 .spec-gallery figure:first-child{grid-column:1 / -1}
    .r18 .spec-gallery img{height:auto;aspect-ratio:4/3}
    .r18 .spec-gallery figure:first-child img{aspect-ratio:16/9}

    /* Location: two-column distance list, full-width map button, map at its natural ratio */
    .r18 .location-grid{gap:20px}
    .r18 .location-copy .spec-intro{margin-bottom:14px}
    .r18 .distance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;margin-bottom:12px}
    .r18 .distance-list li{min-width:0;gap:8px;padding:9px 0;font-size:12.5px}
    .r18 .distance-list li span{min-width:0;overflow-wrap:anywhere}
    .r18 .distance-list strong{flex-shrink:0;font-size:13px}
    .r18 .spec-map-btn{width:100%}
    .r18 .location-visual{padding:8px;border-radius:12px}
    .r18 .location-visual img{height:auto;aspect-ratio:16/9;border-radius:6px}
    .r18 .location-caption{flex-wrap:wrap;gap:4px 12px;padding:10px 4px 2px}

    /* Project information: RERA number prominent, compact cards */
    .r18 .project-info-grid{gap:12px;margin-top:0}
    .r18 .project-info-card{padding:18px 16px;border-radius:14px}
    .r18 .project-info-card h3{font-size:19px;margin-bottom:10px}
    .r18 .project-info-card p{font-size:13px;line-height:1.55;margin-bottom:9px}
    .r18 .rera-number{margin:8px 0 12px;padding:12px 14px;font-size:15px;letter-spacing:.3px;overflow-wrap:anywhere}

    .r18 .spec-final-cta{padding:34px 0}
}
