/* HERO */

.fgt-memory-hero{

    padding:50px 6%;

    overflow:hidden;

    background:
    linear-gradient(
        -45deg,
        #ff7b54,
        #ffb347,
        #0ea5e9,
        #021526
    );

    /* background-size:
    400% 400%; */

    animation:
    fgtGradient 15s ease infinite;
}

@keyframes fgtGradient{

    0%{
        background-position:0 50%;
    }

    50%{
        background-position:100% 50%;
    }

    100%{
        background-position:0 50%;
    }
}

.fgt-memory-wrap{

    width:min(1400px,92%);

    margin:auto;

    display:grid;

    grid-template-columns:
    55% 45%;

    gap:40px;

    align-items:center;
}

/* COPY */

.fgt-memory-copy h1{

    font-size:
    clamp(1.8rem,2.5vw,2rem);

    line-height:1.2;

    font-weight:800;

    color:#fff;

    margin-bottom:15px;
}

.fgt-memory-copy p{

    color:#fff;

    line-height:1.8;

    margin-bottom:25px;
}

.fgt-memory-tag{

    display:inline-block;

    padding:12px 22px;

    background:
    rgba(255,255,255,.15);

    backdrop-filter:
    blur(20px);

    border-radius:50px;

    color:#fff;

    margin-bottom:20px;
}

/* ROTATING WORD */

.fgt-rotating-word{

    color:#fbbf24;

    margin-bottom:15px;
}

/* CHIPS */

.fgt-memory-chips{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-bottom:30px;
}

.fgt-memory-chips span{

    padding:12px 18px;

    border-radius:50px;

    background:
    rgba(255,255,255,.12);

    color:#fff;

    backdrop-filter:
    blur(15px);
}

/* BUTTON */

.fgt-memory-btn{

    display:inline-flex;

    padding:16px 30px;

    border-radius:50px;

    background:#fff;

    color:#021526;

    text-decoration:none;

    font-weight:700;

    transition:.3s ease;
}

.fgt-memory-btn:hover{

    transform:
    translateY(-5px);
}

/* POLAROIDS */

.fgt-memory-gallery{

    position:relative;

    min-height:420px;
}

.fgt-polaroid{

    position:absolute;

    background:#fff;

    padding:12px;

    border-radius:24px;

    box-shadow:
    0 25px 50px
    rgba(0,0,0,.2);

    animation:
    float 6s ease infinite;
}

.fgt-polaroid img{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:18px;
}

.fgt-photo-1{

    width:220px;

    height:260px;

    top:20px;

    left:20px;

    transform:
    rotate(-8deg);
}

.fgt-photo-2{

    width:260px;

    height:320px;

    top:40px;

    right:0;

    transform:
    rotate(5deg);
}

.fgt-photo-3{

    width:220px;

    height:250px;

    bottom:0;

    left:100px;

    transform:
    rotate(-3deg);
}

@keyframes float{

    0%,100%{
        transform:
        translateY(0);
    }

    50%{
        transform:
        translateY(-12px);
    }
}

.fgt-memory-stat{

    position:absolute;

    bottom:30px;

    right:0;

    padding:14px 24px;

    border-radius:50px;

    background:
    rgba(255,255,255,.95);

    font-weight:700;
}

/* SCROLL REVEAL */

.scroll-reveal{

    opacity:0;

    transform:
    translateY(80px);

    transition:
    opacity .8s ease,
    transform .8s ease;

    will-change:
    transform,
    opacity;
}

.scroll-reveal.active{

    opacity:1;

    transform:
    translateY(0);
}

.scroll-reveal:nth-child(1){
    transition-delay:.1s;
}

.scroll-reveal:nth-child(2){
    transition-delay:.2s;
}

.scroll-reveal:nth-child(3){
    transition-delay:.3s;
}

.scroll-reveal:nth-child(4){
    transition-delay:.4s;
}

/* MOBILE */

@media(max-width:992px){

    .fgt-memory-wrap{

        grid-template-columns:1fr;

        gap:50px;
    }

    .fgt-memory-copy{

        text-align:center;
    }

    .fgt-memory-chips{

        justify-content:center;
    }

    .fgt-memory-gallery{

        max-width:450px;

        margin:auto;
    }
}

@media(max-width:576px){

    .fgt-memory-hero{

        padding:35px 5%;
    }

    .fgt-memory-btn{

        width:100%;

        justify-content:center;
    }

    .fgt-memory-gallery{

        min-height:360px;
    }
}

/* ===========================
WHY CHOOSE SECTION
=========================== */

.fgt-why-section{

    padding:50px 6%;
}

.fgt-why-wrap{

    width:min(1400px,92%);

    margin:auto;
}

/* HEADING */

.fgt-section-heading{

    text-align:center;

    max-width:800px;

    margin:auto;

    margin-bottom:50px;
}

.fgt-mini-title{

    display:inline-block;

    padding:12px 22px;

    border-radius:50px;

    background:
    rgba(14,165,233,.12);

    color:#0284c7;

    font-weight:600;

    margin-bottom:18px;
}

.fgt-section-heading h2{

    font-size:
    clamp(1.6rem,2vw,1.8rem);

    font-weight:800;

    margin-bottom:18px;

    color:#021526;
}

.fgt-section-heading p{

    line-height:1.8;

    color:#64748b;
}

/* BENTO GRID */

.fgt-bento-grid{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:25px;
}

/* CARD */

.fgt-bento-card{

    padding:32px;

    border-radius:28px;

    background:#ffffff;

    box-shadow:
    0 20px 50px
    rgba(0,0,0,.08);

    transition:
    .4s ease;

    position:relative;

    overflow:hidden;
}

.fgt-bento-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        135deg,
        rgba(14,165,233,.06),
        rgba(251,191,36,.08)
    );

    opacity:0;

    transition:.4s;
}

.fgt-bento-card:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 30px 60px
    rgba(0,0,0,.12);
}

.fgt-bento-card:hover::before{

    opacity:1;
}

.fgt-card-icon{

    width:70px;
    height:70px;

    border-radius:20px;

    background:
    rgba(14,165,233,.12);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    margin-bottom:22px;

    transition:.4s;
}

.fgt-bento-card:hover
.fgt-card-icon{

    transform:
    rotate(10deg)
    scale(1.1);
}

.fgt-bento-card h3{

    font-size:
    clamp(1.1rem,1.5vw,1.3rem);

    margin-bottom:15px;

    color:#021526;
}

.fgt-bento-card p{

    line-height:1.8;

    color:#64748b;
}

/* WIDE CARD */

.fgt-bento-wide{

    grid-column:
    span 2;
}

/* TABLET */

@media(max-width:768px){

    .fgt-bento-grid{

        grid-template-columns:1fr;
    }

    .fgt-bento-wide{

        grid-column:auto;
    }
}


/* ==========================
WHY FRIENDS LOVE ANDAMAN
========================== */

.fgt-story-section{

    position:relative;

    overflow:hidden;

    padding:50px 6%;

    background:
    linear-gradient(
        135deg,
        #fff7ed,
        #fffbeb,
        #fef3c7,
        #ffe4e6
    );
}

.fgt-story-wrap{

    width:min(1400px,92%);

    margin:auto;
}

/* HEADING */

.fgt-story-heading{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:50px;
}

.fgt-story-heading span{

    display:inline-block;

    padding:12px 24px;

    background:#ffffff;

    border-radius:50px;

    color:#f97316;

    font-weight:700;

    margin-bottom:20px;
}

.fgt-story-heading h2{

    font-size:
    clamp(1.6rem,2vw,1.8rem);

    color:#0f172a;

    margin-bottom:18px;
}

.fgt-story-heading p{

    line-height:1.8;

    color:#475569;
}

/* ROAD */

.fgt-memory-road{

    position:relative;

    max-width:1000px;

    margin:auto;
}

.fgt-memory-road::before{

    content:"";

    position:absolute;

    top:0;

    left:50%;

    width:4px;

    height:100%;

    background:
    linear-gradient(
        #f97316,
        #fbbf24,
        #ec4899
    );

    transform:
    translateX(-50%);
}

/* ITEM */

.fgt-road-item{

    display:flex;

    align-items:center;

    justify-content:flex-start;

    margin-bottom:45px;

    position:relative;
}

.fgt-road-right{

    justify-content:flex-end;
}

/* ICON */

.fgt-road-icon{

    width:80px;
    height:80px;

    border-radius:50%;

    background:#ffffff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    box-shadow:
    0 20px 40px
    rgba(0,0,0,.08);

    z-index:2;
}

/* CARD */

.fgt-road-card{

    width:380px;

    max-width:100%;

    padding:28px;

    background:#ffffff;

    border-radius:30px;

    box-shadow:
    0 20px 50px
    rgba(0,0,0,.08);

    margin-left:30px;

    transition:.4s ease;
}

.fgt-road-right
.fgt-road-card{

    margin-left:0;

    margin-right:30px;
}

.fgt-road-card:hover{

    transform:
    translateY(-8px);

    box-shadow:
    0 30px 60px
    rgba(0,0,0,.12);
}

.fgt-road-card h3{

    margin-bottom:15px;

    color:#0f172a;
}

.fgt-road-card p{

    color:#475569;

    line-height:1.8;
}


/* ====================================
   FRIENDS PACKAGE SECTION
==================================== */

.fgd-section-wrap {
    padding: 50px 2%; /* Reduced side padding so cards can edge closer to screen borders */
    background: linear-gradient(
        180deg,
        #fffdf8,
        #f8fafc
    );
}

.fgd-main-container {
    width: 100%; /* Allows full width usage for smooth edge-to-edge scrolling layout */
    max-width: 100%;
    margin: auto;
}

/* Heading */

.fgd-heading-box {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 50px;
    padding: 0 4%; /* Keeps text clean and readable inside bounds */
}

.fgd-small-tag {
    display: inline-block;
    padding: 12px 24px;
    background: #e0f2fe;
    color: #0284c7;
    border-radius: 50px;
    margin-bottom: 20px;
    font-weight: 600;
}

.fgd-heading-box h2 {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    margin-bottom: 18px;
    color: #021526;
}

.fgd-heading-box p {
    line-height: 1.8;
    color: #64748b;
}

/* Cards Holder Container */

.fgd-cards-holder {
    display: flex;
    gap: 30px;
    flex-wrap: nowrap; /* Strictly prevents cards from wrapping to a new line */
    overflow-x: auto; /* Triggers horizontal scroll when items overflow */
    justify-content: flex-start;
    padding: 20px; /* Prevents box-shadows from clipping on top, bottom, or sides */
    
    /* Smooth magnet snapping for trackpads and phones */
    scroll-snap-type: x mandatory; 
    scroll-padding-left: 20px;

    /* Hide standard scrollbars */
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbar for Chrome, Safari, and Opera */
.fgd-cards-holder::-webkit-scrollbar {
    display: none;
}

/* Single Card Layout */

.fgd-single-card {
    /* FIX: Force specific width and block any squishing/shrinking */
    flex: 0 0 320px; 
    scroll-snap-align: start; /* Links snapping point to the card edge */
    
    background: #fff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,.08);
    transition: .35s ease;
}

.fgd-single-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(0,0,0,.12);
}

.fgd-single-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.fgd-card-content {
    padding: 28px;
}

.fgd-card-content h3 {
    margin-bottom: 10px;
    color: #021526;
    font-size: 1.2rem;
}

.fgd-card-content h4 {
    color: #64748b;
    margin-bottom: 22px;
    font-weight: 600;
}

/* Price */

.fgd-price-box {
    font-size: 2rem;
    font-weight: 800;
    color: #2563eb;
    margin-bottom: 25px;
}

.fgd-price-box span {
    display: block;
    font-size: 1rem;
    color: #64748b;
    margin-top: 8px;
}

/* Features */

.fgd-card-content ul {
    padding-left: 20px;
    margin-bottom: 25px;
}

.fgd-card-content li {
    margin-bottom: 12px;
    color: #475569;
    line-height: 1.6;
}

/* Button */

.fgd-book-btn {
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 15px;
    background: #fbbf24;
    color: #021526;
    border-radius: 16px;
    font-weight: 700;
    transition: .3s;
}

.fgd-book-btn:hover {
    background: #f59e0b;
    transform: translateY(-3px);
}

/* Responsive Media Queries */

@media(max-width: 768px) {
    .fgd-section-wrap {
        padding: 50px 0px; /* Let containers extend to zero bounds on mobile screens */
    }
    
    .fgd-cards-holder {
        padding-left: 24px; /* Gives the first sliding element a nice left indentation */
    }

    .fgd-single-card {
        /* FIX: Maintain card shape on mobile screens instead of overriding to 100% */
        flex: 0 0 290px; 
    }

    .fgd-single-card img {
        height: 200px;
    }
}
/* ==========================
CORPORATE HERO
========================== */

.cgt-hero-section{

    position:relative;

    overflow:hidden;

    padding:50px 6%;

    background:
    linear-gradient(
        135deg,
        #0f172a,
        #1e293b,
        #0f766e
    );
}

/* GRID BACKGROUND */

.cgt-bg-grid{

    position:absolute;

    inset:0;

    background-image:
    linear-gradient(
        rgba(255,255,255,.04)
        1px,
        transparent 1px
    ),
    linear-gradient(
        90deg,
        rgba(255,255,255,.04)
        1px,
        transparent 1px
    );

    background-size:
    60px 60px;

    opacity:.4;
}

/* CONTAINER */

.cgt-hero-container{

    width:min(1400px,92%);

    margin:auto;

    display:grid;

    grid-template-columns:
    55% 45%;

    gap:50px;

    align-items:center;

    position:relative;

    z-index:2;
}

/* LEFT */

.cgt-badge{

    display:inline-block;

    padding:12px 24px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:
    blur(15px);

    color:#fff;

    border-radius:50px;

    margin-bottom:20px;
}

.cgt-hero-content h1{

    font-size:
    clamp(1.8rem,2.5vw,2rem);

    line-height:1.2;

    color:#fff;

    margin-bottom:20px;
}

.cgt-hero-content p{

    line-height:1.9;

    color:#dbeafe;

    margin-bottom:30px;

    max-width:650px;
}

/* STATS */

.cgt-stat-row{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:35px;
}

.cgt-mini-stat{

    background:
    rgba(255,255,255,.08);

    backdrop-filter:
    blur(20px);

    padding:20px;

    border-radius:20px;

    min-width:160px;
}

.cgt-mini-stat h3{

    color:#10b981;

    margin-bottom:8px;
}

.cgt-mini-stat span{

    color:#dbeafe;

    font-size:.9rem;
}

/* BUTTONS */

.cgt-btn-group{

    display:flex;

    flex-wrap:wrap;

    gap:15px;
}

.cgt-btn-primary{

    padding:16px 30px;

    background:#fbbf24;

    color:#021526;

    text-decoration:none;

    border-radius:50px;

    font-weight:700;

    transition:.3s;
}

.cgt-btn-primary:hover{

    transform:
    translateY(-5px);
}

.cgt-btn-secondary{

    padding:16px 30px;

    border-radius:50px;

    background:
    rgba(255,255,255,.08);

    border:
    1px solid
    rgba(255,255,255,.15);

    color:#fff;

    text-decoration:none;

    transition:.3s;
}

.cgt-btn-secondary:hover{

    background:#fff;

    color:#021526;
}

/* RIGHT */

.cgt-hero-visual{

    position:relative;

    display:flex;

    justify-content:center;
}

.cgt-main-image{

    width:100%;

    max-width:420px;

    border-radius:35px;

    overflow:hidden;

    box-shadow:
    0 30px 60px
    rgba(0,0,0,.25);
}

.cgt-main-image img{

    width:100%;

    display:block;

    height:500px;

    object-fit:cover;
}

/* FLOATING CARDS */

.cgt-floating-card{

    position:absolute;

    padding:15px 22px;

    background:
    rgba(255,255,255,.1);

    backdrop-filter:
    blur(20px);

    border-radius:20px;

    color:#fff;

    box-shadow:
    0 20px 40px
    rgba(0,0,0,.2);

    animation:
    cgtFloat 6s ease infinite;
}

.cgt-card-1{

    top:30px;
    left:-20px;
}

.cgt-card-2{

    right:-20px;
    top:200px;
}

.cgt-card-3{

    bottom:40px;
    left:20px;
}

@keyframes cgtFloat{

    0%,100%{

        transform:
        translateY(0);
    }

    50%{

        transform:
        translateY(-15px);
    }
}

/* TABLET */

@media(max-width:992px){

    .cgt-hero-container{

        grid-template-columns:1fr;

        text-align:center;
    }

    .cgt-stat-row,
    .cgt-btn-group{

        justify-content:center;
    }

    .cgt-hero-visual{

        margin-top:20px;
    }
}

/* MOBILE */

@media(max-width:576px){

    .cgt-hero-section{

        padding:35px 5%;
    }

    .cgt-btn-primary,
    .cgt-btn-secondary{

        width:100%;
    }

    .cgt-main-image img{

        height:340px;
    }

    .cgt-floating-card{

        position:relative;

        margin-top:15px;
    }
}

