/* ============================================================
   Travel Guide hub (/travel-guide/) — page-UNIQUE CSS. No prototype;
   composed from the site's card/section system. Scoped .nct-main.
   ============================================================ */

/* Guide (attraction) category cards */
.nct-main .gcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.nct-main .gcards{grid-template-columns:1fr}}
.nct-main .gcard{position:relative;border-radius:22px;overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:0 6px 22px rgba(15,29,61,.1);transition:transform .35s,box-shadow .35s;cursor:pointer}
.nct-main .gcard:hover{transform:translateY(-8px);box-shadow:0 32px 64px rgba(15,29,61,.22)}
.nct-main .gcard-overlay{position:absolute;inset:0;z-index:4}
.nct-main .gcard-bg{position:absolute;inset:0;z-index:0}
.nct-main .gcard-bg img{width:100%;height:100%;object-fit:cover;transition:.7s}
.nct-main .gcard:hover .gcard-bg img{transform:scale(1.08)}
.nct-main .gcard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(9,16,35,.95) 0%,rgba(9,16,35,.5) 45%,rgba(9,16,35,.08) 100%)}
.nct-main .gcard-count{position:absolute;top:14px;right:14px;z-index:2;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);font-size:.72rem;font-weight:600;padding:.4em .85em;border-radius:999px}
.nct-main .gcard-body{position:relative;z-index:2;padding:0 1.4rem 1.4rem}
.nct-main .gcard h3{font-size:1.4rem;font-weight:600;line-height:1.15;letter-spacing:-.01em;margin-bottom:.4rem;color:#fff}
.nct-main .gcard p{font-size:.9rem;color:rgba(255,255,255,.82);line-height:1.5;margin-bottom:1rem}
.nct-main .gcard .gcard-go{display:inline-flex;align-items:center;gap:.5em;font-size:.9rem;font-weight:600;color:#fff;border-top:1px solid rgba(255,255,255,.2);padding-top:.9rem;width:100%}
.nct-main .gcard .gcard-go svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;transition:.25s;margin-left:auto}
.nct-main .gcard:hover .gcard-go svg{transform:translateX(4px)}

/* Cruise tips grid */
.nct-main .gtips{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
@media(max-width:880px){.nct-main .gtips{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.nct-main .gtips{grid-template-columns:1fr}}
.nct-main .gtip{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem 1.4rem;transition:.3s}
.nct-main .gtip:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(15,29,61,.1);border-color:transparent}
.nct-main .gtip-ic{width:48px;height:48px;border-radius:13px;background:var(--sky-2);display:grid;place-items:center;margin-bottom:.9rem}
.nct-main .gtip-ic svg{width:24px;height:24px;stroke:var(--deep);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nct-main .gtip p{font-size:.92rem;color:var(--muted);line-height:1.6}
.nct-main .gtip b{color:var(--ink);font-weight:600}

/* CTA banner */
.nct-main .still{background:linear-gradient(135deg,var(--deep),var(--light));border-radius:28px;padding:clamp(2rem,4vw,3.2rem);color:#fff;text-align:center;position:relative;overflow:hidden}
.nct-main .still::before{content:"";position:absolute;top:-40%;right:-10%;width:50%;height:180%;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 60%);pointer-events:none}
.nct-main .still h2{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:600;letter-spacing:-.02em;margin-bottom:.6rem;position:relative;color:#fff}
.nct-main .still p{font-size:1.06rem;opacity:.92;max-width:50ch;margin:0 auto 1.7rem;font-weight:300;position:relative}
.nct-main .still-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;position:relative}
