@font-face{
    font-family:"Roboto";
    src:url("../fonts/roboto-variable.woff2") format("woff2");
    font-weight:100 900;
    font-style:normal;
    font-display:swap;
}

:root {
    /* Theme */
    --primary: #000000;
    --secondary: #ffffff;
    --sub-secondary: #faf8f5;

    /* Text */
    --text: #111111;
    --text-light: #6b7280;

    /* Typography */
    --font-family: Roboto, system-ui, sans-serif;

    /* Color Transparency */
    --transclr-1: rgba(0,0,0,0.5);

    /* Shadows */
    --shadow: 0 5px 15px rgba(0,0,0,0.1);

    /* Spacing */
    --space-xs: .25rem;
    --space-sm: .5rem;
    --space-md: 1rem;
    --space-lg: 2rem;
    --space-xl: 4rem;

    /* Animation */
    --transition: .3s ease;
}
/* VARIABLES end here */



body {font: 300 16px/24px var(--font-family);}
* {margin: 0; padding: 0; box-sizing: border-box;}

header {
            background-color: var(--primary);
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            padding: 1.25rem 0rem;
            position: sticky;
            width: 100%;
            top: 0;
            z-index: 200;
        }


.logo img {
            height: 27px;
            width: auto;
            display: block;
        }

.nav-menu {
            display: flex;
            gap: 2.25rem;
        }

.nav-menu a {
            text-decoration: none;
            color: var(--secondary);
            transition: color 0.3s ease;
        }

        .nav-menu a:hover, .nav-menu a:active {
            color: #007bff;
        }

        .hamburger {
            display: none;
            font-size: 1.5rem;
            background: none;
            border: none;
            cursor: pointer;
            color: #333;
            z-index: 1001;
        }

/* TopNav ends here */

main    {background: var(--secondary);}
.cntr-100 {width: 100%; height: auto; padding: 6.25rem 0;}
.cntr-90, .header-container {
            width: 86%;
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-content: center;
        }

.cntr-90 {flex-wrap: wrap; gap: 1rem;}
.cntr-70 {width: min(920px, 100%); margin: 0 auto 2.5rem auto; text-align: center;}

.banner {width: 100%; height: auto; min-height: 90dvh; display: flex; justify-content: space-between; position: relative; color: #ffffff;}
.cntr-90 .bann-card {flex: 1 1 300px; min-width: 0; max-width: 49%;}
.banner > img {display: block; position: absolute; /* Also for Parallax */  
    top: 0; left: 0; z-index: -5; width: 100%; height: 100%; object-fit: cover; object-position: top;}
.banner::before {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, var(--transclr-1) 47%, transparent), linear-gradient(to bottom, var(--primary), transparent 25%); z-index: -4;}



/* TEMP CODE TESTING Starts Here */

summary {list-style: none; font-weight: 600; font-size: min(2.25rem, 5vw); line-height: 1em; color: #3030ef; transition: 0.5s ease-in; cursor: pointer;}
summary::-webkit-details-marker {display: none;}
details {margin-bottom: 2rem; position: relative;}
details[open] {olor: blue;} 
details[open] summary {adding-bottom: 0.5rem; color: white;}
summary::before {content: "+"; position: absolute; right: 5px; top: 0px; font-size: 1.75rem;}

.temp-flex {width: 100%; height: auto; display: flex; justify-content: space-between; align-items: start; gap: 3rem;}
.temp-flex > div:first-child {flex: 1 1 350px;}
.temp-flex > div {flex: 2 1 350px;}
/* TEMP CODE TESTING Ends Here */




h1, h2, h3 {margin-bottom: 0.75rem; line-height: 1em;}
h1 {font-size: min(12.5vw, 4.5rem); letter-spacing: -2px; animation: text-enlarge linear both; animation-timeline: view(); animation-range: entry 0 cover 40%;}
h2 {font-size: min(9.75vw, 3.25rem); letter-spacing: -1.75px;}
h3 {font-size: min(7.5vw, 2.5rem); letter-spacing: -1.25px;}
h4 {font-size: min(5vw, 1.25rem); letter-spacing: -1px;} 
    

/* Bento Grid Layout Gallery starts */
/* =========================================
       OUTER GRID
       ========================================= */

    .bento-grid {
      width: 100%;
      display: grid;

      /* First = ~30%, second = remaining space */
      grid-template-columns: 30% 1fr;

      gap: 1rem;

      /* Items stretch to the same height */
      align-items: stretch;
    }


    /* =========================================
       FIRST DIV
       ========================================= */

    .div1 {
        position: relative;
      padding: 1rem;
      border-radius: 15px;
      isolation: isolate;
      overflow: hidden;
      color: var(--primary);

      /*
        No height needed.

        Its natural/content height establishes
        the height of the outer grid.
      */

      min-height: 250px;
    }
    .div1 > div {width: auto; position: absolute; left: 15px; bottom: 15px; right: 15px;}

    /* =========================================
       INNER GRID
       ========================================= */

    .right {
      display: grid;

      /* Two equal columns */
      grid-template-columns: repeat(2, 1fr);

      /* Two equal rows */
      grid-template-rows: repeat(2, 1fr);

      gap: 1rem;
    }

    /* =========================================
       ALL FOUR RIGHT-SIDE DIVS
       ========================================= */

    .box {
      min-height: 100px;
      padding: 30px;

      border: 1px solid #bebebe;
      border-radius: 15px;

      background: white;
    }
/* Bento Grid Layout Gallery ends */



@keyframes text-enlarge {
    from {transform: scale(0.5);}
    to {transform: scale(1);}
}

.block-bl {background-color: var(--primary); color: var(--secondary);}
.txt-xxl, .txt-xl {display: block; font-weight: 700; line-height: 0.9em;}
.txt-xxl {font-size: clamp(3.5rem, 5.5vw, 4.75rem); letter-spacing: -1.75px; margin-bottom: 1rem;} 
.txt-xl {font-size: clamp(2.75rem, 5vw, 3rem); }

.bgimg  {display: block; position: absolute; top: 0; left: 0; z-index: -10; width: 100%; height: 100%; object-fit: cover;}
.bgimg + div {background: rgba(255, 255, 255, 0.8); border-radius: 15px; padding: 1rem;}

.lnk-1 {display: inline-block; padding: 0.75rem 2.75rem; margin-top: 1rem; text-decoration: none; color: var(--secondary); background: var(--primary); border-radius: 1.5rem; position: relative;}
.parent:hover .lnk-1, .parent:active .lnk-1 {background: #457521;}


/* SVG Sprite Icons */ 
.icon {
    width: 40px;
    height: 40px;
    padding: 0;
    color: currentColor;
}






/* Responsive Design */
        @media screen and (max-width: 1024px) {
            .header-container {
                padding: 0 1.5rem;
            }

            .nav-menu {
                gap: 1.5rem;
            }

            .nav-menu a {
                font-size: 0.9rem;
            }

/* TopMenu ends here */
     
     .banner {min-height: 551px;}

}

        @media screen and (max-width: 768px) {
            .nav-menu {
                position: fixed;
                top: 0;
                right: -100%;
                height: 100vh;
                width: min(375px, 55vw);
                background-color: var(--primary);
                flex-direction: column;
                padding: 4rem 2rem;
                box-shadow: -2px 0 5px rgba(0,0,0,0.2);
                transition: right 0.3s ease-in-out;
            }

            .nav-menu.active {
                right: 0;
            }

            .nav-menu a {
                font-size: 1.2rem;
                padding: 0.5rem 0;
            }

            .hamburger {
                display: block;
            }
/* TopMenu ends here */

        .cntr-90, .header-container {width: 92%;}
        .cntr-90 > .bann-card {max-width: 100%;}
        .cntr-70 {text-align: left;}

/* Bento Grid Gallary starts */
        /*
        Change the outer layout from:

        30% | 70%

        to:

        100%
        100%
      */

      .bento-grid {
          grid-template-columns: 1fr;
       }

      .right {
          grid-template-columns: 1fr;
       }
/* Bento Grid Gallary ends */

}

        @media screen and (max-width: 480px) {
            .header-container {
                padding: 0 0;
            }

            .logo img {
                height: 27px;
            }

            .hamburger {
                font-size: 1.3rem;
            }

            .nav-menu {
                width: 250px;
                padding: 3rem 1.5rem;
            }

            .nav-menu a {
                font-size: 1rem;
            }

        /* TopMenu ends here */
        }