/* FONTS */

/* Define custom font faces */
@font-face {
    font-family: "BRAYA-Regular";
    src: url("../font/BRAYA-Regular.otf");
}

@font-face {
    font-family: "BRAYA-Bold";
    src: url("../font/BRAYA-Bold.otf");
}

/* Text styles for specific classes */
.text-grey {
	color: #6d747b;
}
.text-blue {
    color: #4d9aed;
}
.text-black {
	color: black;
}
.text-bold {
    font-family: "BRAYA-Bold", "Helvetica", sans-serif;
    font-weight: normal;
}
.text-regular {
    font-family: "BRAYA-Regular", "Helvetica", sans-serif;
    font-weight: normal;
}
/* text-137 */
.text-36 {
    font-size: 48px;
    font-weight: normal;
	line-height: 48px;
}
.text-19 {
    font-size: 25px;
    font-weight: normal;
}
.text-14b {
    font-size: 18px;
    font-family: "BRAYA-Bold";
    font-weight: normal;
}
.text-14 {
    font-size: 18px;
    font-weight: normal;
}
.text-11b {
    font-size: 15px;
    font-family: "BRAYA-Bold";
    font-weight: normal;
}
.text-11 {
    font-size: 15px;
    font-weight: normal;
}
.text-9 {
    font-size: 11px;
    font-weight: normal;
}
.margin36top {
	margin-top: 48px;
}
.margin36bottom {
	margin-bottom: 48px;
}
.margin19bottom {
	margin-bottom: 25px;
}
.margin14bottom {
	margin-bottom: 18px;
}
.margin11top {
	margin-top: 15px;
}
.margin11bottom {
	margin-bottom: 15px;
}
.margin9bottom {
	margin-bottom: 11px;
}



/* GLOBAL STYLES */

/* General HTML and body styling */
html {
    -webkit-text-size-adjust: none;
	height: 100%;
	margin: 0;
}

body {
    font-family: "BRAYA-Regular", "Helvetica", sans-serif;
    font-size: 18px;
    font-weight: normal;
	height: 100%;
	margin: 0;
}

p {
    margin: 0;
    max-width: 100%;
    overflow-wrap: break-word;
}

a {
  color: black;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

.blocklink {
  display: block;            /* Makes the link behave like a block */
  padding: 2px 0px;        /* Adds clickable area */
  text-decoration: none;
  color: black;
}

.blocklink:hover {
  text-decoration: underline;
}

/* GRIDS & CONTAINERS */

/* Page container for central alignment */
.page-container {
    width: 100%;
    max-width: 820px;
    min-width: 360px;
	min-height: 100vh;
    margin: 20px auto;
    padding: 0px 20px;
    box-sizing: border-box;
}

/* Single column responsive text grid */
.text-grid1 {
    text-align: left;
    max-width: 780px;
    margin: 0 auto;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: minmax(320px, 1fr);
    gap: 10px;
    padding: 0;
}

/* Two column responsive text grid */
.text-grid2 {
    text-align: left;
    max-width: 780px;
    margin: 0 auto;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 10px;
    padding: 0;
}

.text-grid2 > .slider-container {
  height: auto; /* or a fixed vh-based height if you want */
}


/* Four column responsive text grid */
.text-grid4 {
    text-align: left;
    max-width: 780px;
    margin: 0 auto;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    padding: 0;
}

.text-gridfooter {
    text-align: right;
    max-width: 780px;
    margin: 0 auto;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: minmax(320px, 1fr);
    gap: 10px;
    padding: 0;
}

.projects {
   display: flex;
   align-items: flex-start;
   text-align: left;
   justify-content: space-between;
}

.project-thumbnail {
   width: 33%;
   object-fit: cover;
   margin-right: 10px;
}

.project-text {
   flex: 1; 
}

.people {
   display: flex;
   align-items: flex-start;
   text-align: Left;
   justify-content: left;
}

.people-thumbnail {
   width: 33%;
   object-fit: cover;
   margin-right: 10px;
}

.people-text {
   flex: 1; 
}


/* Responsive splash image styling */
.splash-image {
  width: 100%;          /* fills the available grid column */
  height: auto;          /* maintains aspect ratio */
  display: block;        /* removes bottom inline gap */
  object-fit: cover;     /* optional: crops rather than squashes */
  border-radius: 0;      /* optional: keep square edges */
  max-width: 100%;       /* ensures no overflow on small screens */
}

/* NAVIVAGTION */

/* Header styling for a sticky top bar */
.navbar {
    position: sticky;
    display: flex;
    justify-content: space-between;
	font-size: 18px;
    height: 48px;
    width: 100%;
    top: 0;
    padding: 0;
    margin: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.8);
    color: black;
    align-items: center;
    transition: background-color 0.3s ease;
	backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(2px);
}

.navbar a svg {
  height: 1em;          /* match font size */
  width: auto;          /* maintain aspect ratio */
  display: inline-block;
  vertical-align: middle;  /* align with text baseline */
  max-height: 1em;
}

/* Dropdown */
.nondropdownleft {
    width: 30%;
    display: block;
    text-align: left;
    align-items: center;
    cursor: pointer;
    margin: 0;
    top: 0;
    padding: 0;
}

.nondropdowncenter {
    width: 40%;
    display: block;
    text-align: center;
    align-items: center;
    cursor: pointer;
    margin: 0;
    top: 0;
    padding: 0;
}

.dropdown {
    width: 30%;
    cursor: pointer;
    text-decoration: none;
    color: black;
    align-items: center;
    margin: 0;
    top: 0;
    padding: 0;
}

/* Curtain Menu Styles */
.brayacurtain {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(255, 255, 255, 1.0);
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
	opacity: 0;
    z-index: 1001;
    cursor: auto;
    overflow: auto; 
}

/* Active State to Show the Curtain */
.dropdown.active .brayacurtain {
    display: block;
    transform: translateY(0);
	opacity: 1;
}
.swap {
    transition: color 0.3s ease, text 0.3s ease;
	cursor: pointer;
    z-index: 10;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #6d747b;
    width: 100%;
    margin: 0 0 10px 0;
    padding: 0;
	appearance: none;
}

/* BRAYA button navigation */
.btn-braya {
  display: inline-block;
	    font-size: 15px;
    font-weight: normal;
  padding: 10px 20px;
  margin: 5px;
  text-decoration: none;
  text-align: center;
  border-radius: 999px; /* This is the key to the capsule shape */
  transition: all 0.2s ease-in-out;
}


/* Dark Button Style (e.g., "Buy") */
.btn-dark {
  color: white;
  background-color: #4d9aed;
  border: 2px solid #04d9aed00;
}

.btn-dark:hover {
	  text-decoration: none;
}

/* Light Button Style (e.g., "Learn more") */
.btn-light {
  color: #4d9aed;
  background-color: transparent;
  border: 2px solid #4d9aed;
}

.btn-light:hover {
  color: white;
  background-color: #4d9aed;
		  text-decoration: none;

}


/* BRAYA button navigation */
.btn-brayabig {
  display: inline-block;
	align-items: center
	    font-size: 18px;
    font-weight: normal;
  padding: 10px 20px;
  margin: 5px;
  text-decoration: none;
  text-align: center;
  border-radius: 999px; /* This is the key to the capsule shape */
  transition: all 0.2s ease-in-out;
}

/* Big Button Style (e.g., "Learn more") */
.btn-big {
  color: black;
		    font-size: 18px;
  background-color: transparent;
  border: 2px solid black;
}

.btn-big:hover {
  color: white;
		    font-size: 18px;
  background-color: black;
		  text-decoration: none;
}

.btn-big img {
  filter: none;
}

.btn-big:hover img {
  filter: brightness(0) invert(1);  /* makes black icons turn white instantly */
  transition: none;                 /* ensures no easing */
}

/* Simple accordion style */
.panel { display: none; }
.expand { cursor: pointer; }

/* footer menu stack */
@media (max-width: 400px) {
  .footerstack {
    display: flex;
    flex-direction: column;  /* stack all items vertically */
  }
}
