/* AN INFINITY - DINING PREMIUM V1 */

.idn-page {
    --idn-navy:#092d50;
    --idn-blue:#146caa;
    --idn-gold:#d3ac6c;
    --idn-muted:#657b8d;
    color:var(--idn-navy);
}

.idn-page * { box-sizing:border-box; }

.idn-container {
    width:min(1240px,calc(100% - 48px));
    margin-inline:auto;
}

.idn-hero {
    min-height:640px;
    position:relative;
    display:flex;
    align-items:center;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(4,24,44,.94),rgba(4,34,60,.68) 60%,rgba(4,34,60,.2)),
        url('/images/home/dining.jpg') center/cover no-repeat;
}

.idn-hero-content {
    position:relative;
    z-index:1;
    padding:105px 0 120px;
}

.idn-eyebrow,.idn-kicker,.idn-label {
    display:block;
    font-size:11px;
    font-weight:750;
    letter-spacing:2.2px;
}

.idn-eyebrow { color:#e9c887; margin-bottom:28px; }
.idn-kicker { color:#e5eef5; margin-bottom:18px; }

.idn-page h1,.idn-page h2 {
    font-family:Georgia,serif;
    font-weight:500;
    letter-spacing:-.8px;
}

.idn-page h1 {
    max-width:880px;
    font-size:clamp(44px,5.4vw,78px);
    line-height:1.13;
    color:#fff;
    margin:0 0 24px;
}

.idn-page h1 em,.idn-page h2 em {
    font-weight:400;
    color:var(--idn-gold);
}

.idn-hero-content>p {
    max-width:600px;
    font-size:16px;
    line-height:1.85;
    color:#e4edf5;
}

.idn-actions {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:32px;
}

.idn-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 24px;
    min-height:49px;
    border-radius:5px;
    font-size:13px;
    font-weight:750;
    text-decoration:none;
    transition:transform .2s ease;
}

.idn-btn:hover { transform:translateY(-2px); }
.idn-btn-gold { background:#d8b77c; color:#102d48; }
.idn-btn-navy { background:#0d4675; color:#fff; }
.idn-btn-outline { border:1px solid #dce8f3; color:#fff; }

.idn-hero-strip {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    display:flex;
    justify-content:center;
    gap:clamp(25px,8vw,130px);
    background:rgba(5,25,43,.55);
    padding:19px;
    font-size:10px;
    letter-spacing:3px;
}

.idn-intro {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:65px;
    padding-top:95px;
    padding-bottom:95px;
}

.idn-label { color:#a77c41; margin-bottom:17px; }

.idn-page h2 {
    font-size:clamp(32px,3.3vw,49px);
    line-height:1.24;
    margin:0 0 16px;
}

.idn-intro p,.idn-heading p,.idn-feature-content p {
    color:var(--idn-muted);
    line-height:1.85;
    font-size:15px;
}

.idn-link {
    color:#136ba5;
    font-weight:750;
    text-decoration:none;
    font-size:13px;
}

.idn-section { padding:90px 0; }
.idn-soft { background:#f2f8fc; }

.idn-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:37px;
    gap:25px;
}

.idn-heading p { margin-bottom:0; }

.idn-restaurant-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.idn-restaurant-card,.idn-idea-card {
    background:#fff;
    border:1px solid #e1ecf4;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(8,40,73,.05);
}

.idn-restaurant-art {
    height:220px;
    position:relative;
    overflow:hidden;
}

.idn-restaurant-art img,.idn-idea-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.idn-restaurant-card:hover img,.idn-idea-card:hover img {
    transform:scale(1.06);
}

.idn-restaurant-art>span {
    position:absolute;
    top:16px;
    left:16px;
    background:#fff;
    color:#0d426e;
    padding:9px 12px;
    border-radius:4px;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
}

.idn-restaurant-body,.idn-idea-body { padding:25px; }

.idn-restaurant-body h3,.idn-idea-body h3 {
    font:500 25px Georgia,serif;
    margin:0 0 12px;
    color:#0b3357;
}

.idn-restaurant-body p,.idn-idea-body p {
    color:#6c7e8e;
    font-size:13px;
    line-height:1.75;
}

.idn-hotel-name {
    color:#166fa8!important;
    font-weight:750;
}

.idn-card-actions {
    display:flex;
    flex-wrap:wrap;
    gap:17px;
    margin-top:20px;
}

.idn-card-actions a,.idn-idea-body a {
    color:#116ba5;
    font-weight:750;
    font-size:13px;
    text-decoration:none;
}

.idn-empty {
    text-align:center;
    padding:60px 25px;
    background:#fff;
    border:1px solid #e1ecf4;
    border-radius:12px;
}

.idn-empty>span { font-size:40px; color:#caa05c; }

.idn-empty h3 {
    font:500 31px Georgia,serif;
    margin:15px 0;
}

.idn-empty p {
    max-width:550px;
    margin:0 auto 25px;
    color:#687e90;
    line-height:1.8;
}

.idn-ideas-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}

.idn-idea-image { height:205px; overflow:hidden; }

.idn-feature {
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#082b4d;
    min-height:480px;
}

.idn-feature-photo {
    background:url('/images/home/dining.jpg') center/cover no-repeat;
}

.idn-feature-content {
    align-self:center;
    padding:75px clamp(28px,6vw,90px);
}

.idn-feature-content h2 { color:#fff; }
.idn-feature-content p { color:#d7e5ef; }

.idn-feature-content .idn-btn { margin-top:20px; }

.idn-heading-center { justify-content:center; text-align:center; }

.idn-discover {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.idn-discover>div {
    background:#fff;
    border:1px solid #e0ebf3;
    border-radius:10px;
    padding:32px 26px;
}

.idn-discover span {
    display:block;
    color:#cda463;
    font:500 39px Georgia,serif;
    margin-bottom:19px;
}

.idn-discover h3 {
    font:500 24px Georgia,serif;
    margin:0 0 10px;
}

.idn-discover p {
    color:#6a8091;
    font-size:13px;
    line-height:1.75;
}

.idn-center { text-align:center; margin-top:32px; }

.idn-cta {
    text-align:center;
    padding:100px 20px;
    color:#fff;
    background:linear-gradient(125deg,#072744,#125785);
}

.idn-cta h2 { color:#fff; }
.idn-cta p { color:#dce8f2; margin-bottom:28px; }

@media(max-width:1000px) {
    .idn-restaurant-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .idn-ideas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:650px) {
    .idn-container { width:min(100% - 30px,1240px); }

    .idn-hero { min-height:570px; }
    .idn-hero-content { padding:80px 0 105px; }

    .idn-hero-strip { gap:18px; font-size:8px; }

    .idn-intro,.idn-feature { grid-template-columns:1fr; }

    .idn-intro { padding-top:55px; padding-bottom:55px; gap:20px; }

    .idn-section { padding:60px 0; }

    .idn-restaurant-grid,.idn-ideas-grid,.idn-discover {
        grid-template-columns:1fr;
    }

    .idn-feature-photo { min-height:270px; }

    .idn-feature-content { padding:55px 25px; }
}

@media(prefers-reduced-motion:reduce) {
    .idn-page * { transition:none!important; }
}