
/*
html {
	scroll-behavior: smooth;
}*/


.hero{
  position:relative; height:100svh; min-height:100vh; width:100%; overflow:hidden;
}

#canvas-holder{ 
	position:absolute; 
	inset:0; 
	z-index:1; 
}

.hero-container {
	 display: flex;
	 align-items: center; /* Centers vertically */
	 justify-content: center; /* Centers horizontally (optional) */
	 height: 100vh; /* Or a fixed height for the parent */
}

.hero-content{
	position:relative; 
	z-index:2; 
	max-width:min(90vw, 820px); 
	margin:0 auto;
	padding: clamp(24px, 4vw, 48px);text-align:center; 
	pointer-events:none;
	display:grid; 
	place-items:center;
}
.hero-content h1{ 
	margin: 0 0 8px; 
	font-size: clamp(28px, 7vw, 56px); 
	line-height:1.05;
}
.hero-content h2{ margin:0 0 18px; font-size: clamp(16px, 2.4vw, 22px); font-weight:700; }
.hero-content p{ margin:10px 0; color:var(--muted); }
.hero-content h1,.hero-content h2,.hero-content p{ text-shadow:0 1px 0 rgba(255,255,255,.25); }

.scroll-cue{ 
	position:absolute; 
	left:50%; 
	bottom:0px;
	transform: translateX(-50%); 
	width:36px; 
	height:54px; 
	border-radius:22px;
	border:1.5px solid rgba(17,17,17,.4); 
	background:rgba(255,255,255,.6);
	backdrop-filter: blur(4px);
	z-index:3; 
	cursor:pointer; 
	display:grid; 
	place-items:center;
}
.scroll-cue .dot{ width:6px; height:6px; border-radius:50%; background:#111; animation: updown 1.5s ease-in-out infinite; }
@keyframes updown{ 0%{transform:translateY(-6px)} 50%{transform:translateY(6px)} 100%{transform:translateY(-6px)} }

.projects{ padding: 72px clamp(24px, 4vw, 48px) 120px; }
.projects h3{ font-size:22px; margin:0 0 22px; }
.projects .grid{ display:grid; gap:18px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.card{ display:block; background:var(--card); border:1px solid var(--border); border-radius:14px; padding:16px; color:inherit; text-decoration:none; transition: box-shadow .2s, transform .2s; }
.card:hover{ box-shadow:0 12px 28px rgba(0,0,0,.06); transform: translateY(-2px); }

.site-footer{ display:flex; justify-content:space-between; align-items:center; padding:22px clamp(24px, 4vw, 48px) 48px; border-top:1px solid var(--border); }
.site-footer .links{ display:flex; gap:18px; }
.site-footer .links a{ color:var(--fg); text-decoration:none; border-bottom:1px dashed rgba(0,0,0,.25); }
.site-footer .below-hint{ display:flex; gap:6px; align-items:center; color:var(--muted); }

.aboveFoldFooter {
	width: 100%;
	position: absolute;
	z-index: 4;
	bottom: 32px;
	left: 16px;
}

.aboveFoldFooter #downloadLinks {
	z-index: 100;
}


body {
	margin:0;
	background-color: rgba(245,245,245,1);
	font: 400 16px/1.55 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

.gradient-blur-top {
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 60px;
	  pointer-events: none;
	  z-index: 700;
	  background: linear-gradient(to bottom, rgba(245, 245, 245, 1), rgba(245, 245, 245, 0));
	  backdrop-filter: blur(10px);
	  -webkit-backdrop-filter: blur(10px);
	  transition: opacity 0.3s;
	  opacity: 1;
}

.progressive-blur {
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100px;
	  pointer-events: none;
	  z-index: 700;

	  /* Fake gradient blur using increasing alpha */
	  mask-image: linear-gradient(
		to top, 
		rgba(0, 0, 0, 0) 20%, 
		rgba(0, 0, 0, 0.15) 30%, 
		rgba(0, 0, 0, 1) 80%, 
		rgba(0, 0, 0, 1) 87.5%, 
		rgba(0, 0, 0, 1) 100%);
	  

	  backdrop-filter: blur(14px);
	  -webkit-backdrop-filter: blur(14px);
	  opacity: 0;
	}

body.scrolling .progressive-blur {
	  opacity: 1;
	}


video {
	object-fit: cover;
}

#introduction {
	width: 70%;
	margin-top: 12px;
	margin-left: 0;
	margin-right: 0;
}

.video-container {
	position: relative;
	width: 100%;
	/* For a 16:9 aspect ratio, use padding-bottom: 56.25% (9/16 = 0.5625) */
	padding-bottom: 75.9765%;
	height: 0;
	overflow: hidden;
}


.wideVideo-container {
	position: relative;
	width: 100%;
	/* For a 16:9 aspect ratio, use padding-bottom: 56.25% (9/16 = 0.5625) */
	padding-bottom: 41.17%;
	height: 0;
	overflow: hidden;
}



.video-container video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* --- Meta strip (Domain / Timeline / Technologies) --- */
.meta {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 32px;
  margin-bottom: 36px;
}

.meta__item{
  padding: 18px 12px 22px 12px;
  display: grid;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-height: 30pt;
}

/* vertical dividers between columns (hidden on small screens) */
.meta__item:not(:last-child){
  border-right: 2px solid #D9D9D9;
}

.meta__label{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted);
  text-align: center;
  font-weight: 600;
}

.meta__value{
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
}

figure {
	margin: 0;
}

figcaption {
	width: 70%;
	
	margin-top: 10px;
	font: -apple-system-body;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;
	font-size: 17px;
	font-weight: 300;
	margin-bottom: 16pt;
	line-height:1.5;
}

#threeColumn figcaption {
	width: 100%;
}

.coverPages {
	width: 85%; 
	padding-top: 25px; 
	padding-bottom: 25px; 
	margin-left: auto; 
	margin-right: auto;
}

#coverColumn img:hover {
	box-shadow: 0px 10px 25px rgba(0,0,0,0.5);
	transition: box-shadow 0.25s ease-out;
}

#coverColumn img {
	box-shadow: 0px 10px 0px rgba(0,0,0,0);
	margin-bottom: 0;
	padding-bottom: 0;
	transition: box-shadow 0.25s ease-out;
}

#downloadSVG::before {
	content: url('img/symbols/download.svg');
}

#blogSVG::before {
	content: url('img/symbols/blog.svg');
}

#siteSVG::before {
	content: url('img/symbols/site.svg');
}

#resumeSVG::before {
	content: url('img/symbols/resume.svg');
}

#twitterSVG::before {
	content: url('img/symbols/twitter.svg');
}

#visionProSVG {
	content: url('img/symbols/visionPro.svg');
}
#iPhoneSVG {
	content: url('img/symbols/iPhone.svg');
}

#iPadSVG {
	content: url('img/symbols/ipad.svg');
}

#macSVG {
	content: url('img/symbols/mac.svg');
}
#watchSVG {
	content: url('img/symbols/watch.svg');
}
#chipSVG {
	content: url('img/symbols/chip.svg');
}
#filmSVG {
	content: url('img/symbols/film.svg');
}
#arrowDownSVG {
	content: url('img/symbols/arrowDown.svg');
	width:20px; height:20px;
	animation: updown 1.5s ease-in-out infinite;
}
	
#navigation a { 
	text-decoration: none;
	padding: 8px;
	background: rgba(220, 220, 220, 0);
	
	border-radius: 8px;
	color: rgb(0,0,0);
	transition: background 0.25s ease-in-out;
}

#downloadLinks a { 
	text-decoration: none;
	border-bottom: 2px solid rgba(220, 220, 220, 0);
	color: rgb(0,0,0);
	transition: border-bottom 0.25s ease-in-out;
}

.caseStudyItem a { 
	text-decoration: none;
	border-bottom: 0px solid rgba(220, 220, 220, 0);
	color: rgb(0,0,0);
	transition: border-bottom 0.25s ease-in-out;
}


.caseStudyItem a:visited { 
	text-decoration: none;
	border-bottom: 0px solid rgba(220, 220, 220, 0);
	color: rgb(0,0,0);
	transition: border-bottom 0.25s ease-in-out;
}

#secondaryNavigation a {
	text-decoration: none;
	border-bottom: 2px solid rgba(80, 80, 80, 1);
	color: rgb(0,0,0);
	transition: border-bottom 0.25s ease-in-out;
}

#downloadLinks a:hover {
	border-bottom: 2px solid rgba(80, 80, 80, 1);
	transition: border-bottom 0.25s ease-in-out;
}

.navGroup a {
	padding: 0;
}

#navigation a:hover {
	background: rgba(220, 220, 220, 1);
	transition: background 0.25s ease-in-out;
}


.downloadColumn {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: column;
}

.rightColumn_TextOnly {
	display: flex;
	flex-wrap: nowrap;
	justify-content: left;
	flex-direction: column;
}

//masqualero

.main {
	background-color: rgba(242,242,242,1);
	width:100%;	
	float: left;
	flex: 1 0 auto;
	min-height: 100%;
}

.container {
	width: 55%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 32px;
}

.containerWork {
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 60px;
}

#extraMargin {
	margin-top: 120px;
}

.content {
	width:100%;
	margin-left: auto;
	margin-right: auto;
}

.contentHeader{ 
	width:100%;
	margin-left: auto;
	margin-right: auto;
}

.contentGrid {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}


.textDescription {
	width: 70%;
	float: left;
	margin-right: 20%;
	
	margin-top: 1.5%;
	margin-bottom: 5px;
}

.light {
	display: block;
	visibility: visible;
}

.dark {
	display: none;
	visibility: hidden;
}

.grid {
	width:100%;
	margin-top:1.5%;
	display: grid;
	grid-column-gap: 30px;
	grid-auto-rows: 1fr;
	grid-row-gap: 30px;
	//border-radius: 25px;
}

.twoOneGrid {
	width: 100%;
	margin-top: 1.5%;
	display: grid;
	grid-auto-rows: 2fr;
	grid-template-columns: 2fr 1fr;
	grid-column-gap: 64px;
}

.subSection {
	width: 60%;
	margin-top: 64px;
}


.caseStudyItem {
	width:100%;
	margin-top:1.5%;
	
	display: grid;
	grid-column-gap: 0px;
	grid-template-rows: auto 1fr auto;
	grid-auto-rows: 0fr;
	grid-row-gap: 0px;
	
	//background: rgba(255, 255, 255, 1);
	//border-radius: 25px;
	
	//box-shadow: 0px 10px 0px rgba(0,0,0,0);
	//transition: box-shadow 0.25s ease-out;
}

.caseStudyItem:hover {
	
	//box-shadow: 0px 10px 25px rgba(0,0,0,0.25);
	//transition: box-shadow 0.25s ease-out;
}

.caseStudyItem img {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	//border-radius: 25px 25px 0px 0px;
	//margin-top: 5%;
}

#navBox {
	grid-template-columns: repeat(4, 1fr);
}


#fourColumn {
	grid-template-columns: repeat(4, 1fr);
}

#fiveColumn {
	grid-template-columns: repeat(5, 1fr);
}

#sixColumn {
	grid-template-columns: repeat(6, 1fr);
}

#threeColumn {
	grid-template-columns: repeat(3, 1fr);
}

#coverColumn {
	grid-template-columns: repeat(3, 1fr);
}


#twoColumn {
	grid-template-columns: repeat(2, 1fr);
}

#oneColumn{
	grid-template-columns: repeat(1, 1fr);
}

.readMoreButton {
	text-decoration: none;
	color: #000;
}

.readMoreButton:visited {
	text-decoration: none;
	color: #000;
}

.flex-container {
	/*
	  display: flex;
	  flex-wrap: nowrap;
	  flex-direction: row;
	  align-items: center;
	  justify-content: center; */
	  
	  display: flex;
	  justify-content: left;
	  align-items: center;
	  flex-direction: row;
	  gap: 32px;
}

.flex-container-column {
	  display: flex;
	  flex-wrap: nowrap;
	  flex-direction: column;
	  align-items: center;
	  justify-content: center;
}
	
.flex-container > div {
	 // width: 45%;
	  text-align: left;
}

.inline-flex-container {
	  display: flex;
	  flex-wrap: wrap;
	  flex-direction: row;
	  align-items: left;
	  justify-content: left;
	  margin-bottom: 20px;
}

.inline-flex-container > span {
	margin-top: 12px;
	margin-bottom: 12px;
}

.rightBox {
	width: 28%;
	margin-left: 2%;
	float: right;
	margin-bottom: 20px;
}

	
.fauxHeader {
	height: 1px;
}
	
.header {
	position: fixed;
	display: block;
	width: 30%;
	
	background: rgba(245, 245, 245, 0.4);
	
	border-radius: 22px;
	
	margin-top: 0px;
	margin-left: auto;
	margin-right: auto;
	
	padding-left: 12.5%;
	padding-right: 12.5%;
	
	padding-top: 15px;
	padding-bottom: 15px;
	
	z-index: 1000;
	top: 8px;
	
	box-shadow: none;
	
	position: sticky;
	
	
	transition: box-shadow backdrop-filter 0.25s ease-out;
}

.header.stuck {
	backdrop-filter: blur(42px);
	-webkit-backdrop-filter: blur(42px);
	
	filter: drop-shadow -8px -10p 46px #0000005f;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
	transition: box-shadow backdrop-filter 0.25s ease-out;
}

@media screen and (min-width: 590px) {
	.header {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

.navGroup {
	/*
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	*/
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	gap: 8px;
	grid-template-rows: repeat(4, 1fr);
	
}

.navGroup a {
	//display: flex;
	text-decoration: none;
	//justify-content: center;
	//align-items: center;
	//flex: 1;
	border-radius: 16px;
	//background: rgba(255, 255, 255, 0);
	color: #000;
	transition: background 0.25s ease-out;
}

/*
.navGroup a:hover, .navGroup a:active {
	//background: rgba(180, 180, 180, 0.5);
	background: radial-gradient(circle at var(0, 50%) var(0, 50%), rgba(5, 5, 155, 0.25), rgba(2, 2, 210, 0.15));
	transition: background 0.25s ease-out;
}
*/

.navGroup .active {
	background: rgba(255, 255, 255, 1);
	font-weight: 500;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
	transition: background 0.25s font-weight 0.25s box-shadow 0.25s ease-out;
}

.navGroup a:visited {
	color: rgba(0, 0, 0, 1);
}

.glow-button {
	  //position: relative;
	  padding: 12px 24px;
	  border: none;
	  border-radius: 16px;
	  cursor: pointer;
	  font-weight: 500;
	  z-index: 0;
	  overflow: hidden;
	  transition: background 0.3s ease-out;
	}

	.glow-button:hover {
		
		background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(255, 255, 255, 0.5), rgba(235, 235, 235, 0));
		transform: rotateY(var(--ydeg, 50deg)) rotateX(var(--xdeg, 50deg));;
		box-shadow: 0 1px 8px rgba(0, 0, 0, 0.15);
		transition: background 0.3s ease-out;
	}

.contactButtons {
	width: 65%;
	margin-top: 20px;
	margin-bottom: 20px;
	
	margin-left: 17.5%;
	margin-right: 17.5%;
	float: left;
}

hr {
	border: 0;
	width: 100%;
	height: 1px;
	background: rgba(225, 225, 225, 1);
	margin:0
}

.listButton {
	/*
	width: 30%;
	
	margin-left: 0;
	padding: 8px;
	float: left;
	*/
	/*
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	*/
	
	display: flex;
	justify-content: center;
	align-items: center;
	
	padding: 8px;
	text-decoration: none;
	
	font-size: 14pt;
	text-align: center;
		
}


.columnFlexBox {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.columnFlexBox > div {
	  width: 90%;
	  text-align: left;
}


.gridItem {}

.gridItem img {
	filter: drop-shadow(0px 0px 0px rgba(0,0,0,0));
	transform: scale(1.0);
	-webkit-transition: filter 0.25s, transform 0.25s;
}

.gridItem:hover img {
	filter: drop-shadow(0px 10px 20px rgba(0,0,0,0.25));
	transform: scale(1.01);
	-webkit-transition: filter 0.25s, transform 0.25s;
}

#press {
	filter: grayscale(0%);
}

#press:hover {
	filter: grayscale(0%);
}

#bondi .gridItem img {
	transform: scale(1.0);
	-webkit-transition: filter 0.35s, transform 0.35s ease-out;
}

#bondi .gridItem:hover img {
	transform: scale(1.0);
	-webkit-transition: filter 0.35s, transform 0.35s ease-out;
}

#bondi .gridItem:hover {
	transform: scale(1.1);
	-webkit-transition: transform 0.35s ease-out;
}

#lookup {
	box-shadow: 0px 0px 0px rgba(0,0,0,0);
	transform-origin: center;
	transform: scale(1);
	-webkit-transition: background-color 0.25s, transform 0.25s;
}

#lookup:hover {
	//background-color: rgba(17, 108, 225, 0.8);
	
	box-shadow: 0px 10px 10px rgba(0,0,0,0);
	//color: #FFF;
	transform-origin: center;
	transform: scale(1.01);
	-webkit-transition: background-color 0.25s, box-shadow: 0.25s, transform 0.25s;
}



#largeHeading {
	font-weight: bold;
	font-size: 60px;
	margin-bottom: 10px;
}

#title {
	font-weight: bold;
	font-size: 40px;
	margin-bottom: 10px;
}

#smallTitle {
	font-weight: 400;
	font-size: 19px;
	line-height: 1.5em;
	margin-bottom: 0px;
}

#smallTitle2 {
	font-weight: bold;
	font-size: 26px;
	margin-bottom: 0px;
}

#largeMission {
	font-size: 26px;
	font-weight: normal;
	font-style: italic;
	font-family: "Charter", serif, ui-serif, -apple-system, "Segoe UI";
	//font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	//"Roboto", sans-serif;
	padding-bottom: 0;
	margin-bottom: 0;
	margin-top: 0;
}

#subtitle {
	font: -apple-system-subtitle;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;
	font-size: 16px;
	font-weight: 300;
	margin-bottom: 0;
	margin-top: 0;
	line-height:1.5;
}

#smallCaps {
	
	font: -apple-system-subtitle;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;
	//font-family: "Charter", "Palatino", serif;
	font-size: 16px;
	font-weight: 600;
	font-variant: small-caps;
	margin-bottom: 0;
	margin-top: 0;
	line-height:1.5;
	width:90%;
}

.caseStudyItem #smallCaps {
	color: rgba(114, 114, 114, 1);
}



#lightBody {
	font: -apple-system-body;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;
	font-size: 19px;
	font-weight: lighter;
	margin-bottom: 31.25pt;
	line-height:1.5;
}

#bodyText {
	
	font: -apple-system-body;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;
	//font-family: "Charter", "Palatino", serif; 
	font-size: 16px;
	font-weight: 300;
	margin-bottom: 31.25pt;
	line-height:1.60;
}

#smallBody {
	/*
	font: -apple-system-body;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;*/
	font-family: "Charter", "Palatino", serif; 
	font-size: 14px;
	font-weight: 300;
	line-height:1.60;
	margin: 0;
}


#caption {
	/*
	font: -apple-system-body;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;*/
	font-family: "Charter", "Palatino", serif; 
	font-size: 12px;
	font-weight: 300;
	line-height:1.60;
	margin: 0;
}

.heroProject {
	width:100%;
	margin-left: auto;
	margin-right: auto;
}

.heroProject #images {
	width:95%; 
	padding-left: 2.5%; 
	padding-top: 16px; 
	padding-bottom: 0;
}

.heroProject #body {
	width: 65%; 
	padding-left: 2.5%; 
	padding-top: 8px; 
	padding-bottom: 16px;
}

#headerText {
	/*
	font: -apple-system-body;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;*/
	font-family: "Charter", "Palatino", serif; 
	font-size: 19px;
	font-weight: 300;
	margin-bottom: 31.25pt;
	line-height:1.5;
}

#headerCaption {
	/*
	font: -apple-system-body;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
	"Roboto", sans-serif;*/
	font-family: "Charter-bold", serif; 
	font-size: 19px;
	font-weight: 500;
	margin-bottom: 31.25pt;
	line-height:1.5;
}

#link {
	font: -apple-system-subtitle;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Roboto", sans-serif;
    font-size: 19px;
    font-weight: regular;
}

.footer{
	width:100%;
	background-color: rgba(42,42,42,1);
	float:left;
	margin-top:5%;
	font-size:100%;
	flex-shrink: 0;
}

.footerText{
	padding-top:50px;
	padding-bottom:50px;
	width:80%;
	text-align:center;
	margin-left: auto;
	margin-right: auto;
	color:#fff;

}

#work {
	scroll-margin-top: 72px;
}

#recognition {
	scroll-margin-top: 72px;
}

#coverage {
	scroll-margin-top: 72px;
}

#prototyping {
	scroll-margin-top: 72px;
}

#moreWork {
	scroll-margin-top: 72px;
}


@media (hover: none) {
	
	#bodyText {
		font: -apple-system-body;
	}
	
	#largeHeading {
		font: -apple-system-subtitle;
	}
	
	#link {
		font: -apple-system-subtitle;
	}
	
} 


@media all and (max-width: 1500px) and (min-width: 950px) {
	.container {
		width: 80%;
	}
	
	.navGroup {
		width: 80%;
	}
}


@media all and (max-width: 950px) and (min-width: 590px) {
	
	.heroProject #images {
		width:95%; 
		padding-left: 2.5%; 
		padding-top: 6px; 
		padding-bottom: 0;
	}
	
	.heroProject #body {
		width: 90%; 
		padding-left: 5%; 
		padding-top: 6px; 
		padding-bottom: 12px;
	}
	
	
	.subSection {
		width: 95%;
		margin-top: 64px;
	}
	
	#bodyText {
		font-size: 12pt;
	}
	
	
	#introduction {
		width: 90%;
		margin-top: 80px;
		
	}
	
	
	.header {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	
	.navGroup {
		//width: 80%;
		width: 80%;
	}
	
	.contentGrid {
		width: 95%;
		margin-top:50px;
	}

	.grid {
		display: grid;	
		grid-column-gap: 30px;
		grid-row-gap: 30px;
		grid-auto-rows: 0fr;
	}
	
	#oneColumn {
		grid-template-columns: repeat(1, 1fr);
	}
	
	#twoColumn {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#threeColumn {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#recognition #threeColumn {
		grid-template-columns: repeat(3, 1fr);
	}
	
	#coverColumn {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#fourColumn {
		grid-template-columns: repeat(4, 1fr);
	}
	
	#fiveColumn {
		grid-template-columns: repeat(3, 1fr);
	}
	
	#sixColumn {
		grid-template-columns: repeat(3, 1fr);
	}
	
	
	#navBox {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.flex-container {
		flex-direction: column;
	}
	
	.flex-container > div {
		  width: 90%;
		  text-align: left;
	}
	
	.container {
		width: 80%;
	}
	
}

@media all and (max-width: 590px) {
	
	.meta{
		display: flex;                 /* switch from grid to row */
		gap: 12px;
		overflow-x: auto;              /* horizontal scroll */
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory; /* snap to each card */
		padding: 12px var(--pad-x);
		border-top: 1px solid var(--rule);
		border-bottom: 1px solid var(--rule);
	  }
	
	  /* each item becomes a card you can scroll to */
	  .meta__item{
		flex: 0 0 auto;               /* don’t shrink */
		min-width: 240px;             /* tweak as you like (220–280 works well) */
		border: 1px solid var(--rule);
		border-radius: var(--radius-lg);
		padding: 12px 14px;
		scroll-snap-align: start;
		/* from earlier tweaks */
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 2px;
	  }
	  
	  .meta::-webkit-scrollbar{ height: 6px; }
		.meta::-webkit-scrollbar-thumb{ background: var(--rule); border-radius: 999px; }
	
	.contentHeader{ 
		width:90%;
		margin-left: auto;
		margin-right: auto;
	}
	
	
	.heroProject #images {
		width:95%; 
		padding-left: 2.5%; 
		padding-top: 8px; 
		padding-bottom: 0;
	}
	
	.heroProject #body {
		width: 90%; 
		padding-left: 5%; 
		padding-top: 8px; 
		padding-bottom: 16px;
	}
	
	
	.subSection {
		width: 95%;
		margin-top: 64px;
	}
	
	#bodyText {
    	font-size: 12pt;
	}
	
	
	#introduction {
		width: 100%;
		margin-top: 0px;
	}
	
	
	#largeHeading {	
	    font-size: 25pt;
	}
	
	#title {
		font-size: 20pt;
	}
	
	#lightBody {
    	font-size: 11pt;
	}

	#headerText {
		width: 100%;
	}
	
	.textDescription {
		width: 100%;
		float: left;
		margin-right: 0%;
		margin-top: 1.5%;
	}
	
	.container {
		width: 95%;
		margin-top: 60px;
	}
	
	.wideVideo-container {
	position: relative;
	width: 100%;
	/* For a 16:9 aspect ratio, use padding-bottom: 56.25% (9/16 = 0.5625) */
	padding-bottom: 75.9765%;
	height: 0;
	overflow: hidden;
	}
	.containerWork {
		width: 90%;
		margin-top: 60px;
	}
	
	#extraMargin {
		margin-top: 80px;
	}
	
	.contentGrid {
		width: 100%;
		margin-top: 16px;
	}

	.grid {
		display: grid;	
		grid-column-gap: 16px;
		grid-row-gap: 16px;
		grid-auto-rows: 0fr;
	}
	
	.caseStudyItem {
		box-shadow: 0px 10px 0px rgba(0,0,0,0);
		transition: box-shadow 0.25s ease-out;
	}
	
	#oneColumn {
		grid-template-columns: repeat(1, 1fr);
	}
	
	#twoColumn {
		grid-template-columns: repeat(1, 1fr);
	}
	
	#oneColumn #threeColumn {
		grid-template-columns: repeat(3, 1fr);
	}
	
	
	#threeColumn {
		grid-template-columns: repeat(1, 1fr);
	}
	
	#recognition #threeColumn {
		grid-template-columns: repeat(3, 1fr);
	}
	
	#coverColumn {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#fourColumn {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#fiveColumn {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#sixColumn {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#navBox {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.flex-container {
		flex-direction: column;
	}
	
	.flex-container > div {
		  width: 90%;
		  text-align: left;
	}
	
	
	.header {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	
	.navGroup {
		//width: 95%;
		width: 90%;
	}
	
	.listButton {
		/*
		display: flex;
		justify-content: center;
		align-items: center;
		  */
		  
		//width: 28%;  
		font-size: 15px;
		height: 25pt;
		
		justify-content: center;
		align-items: center;
	}
	
	.navGroup a {
		border-radius: 10pt;
	}
	
	.glow-button {
		border-radius: 10pt;
		padding: 12px;
		font-size: 10pt;
	}
	
	.contactButtons {
		width: 95%;
		
		margin-left: 2.5%;
		margin-right: 2.5%;
	}
	.rightBox {
		width: 100%;
		margin-left: 1%;
	}
	
	.twoOneGrid {
		display: block;
		grid-template-columns: 1fr;
		margin-bottom: 20px;
	}
	
	.downloadColumn {
		
		padding-left: 0px;
		padding-top: 0px;
		flex-direction: row;
		justify-content: left;
		gap: 16px;
	}
	
	.rightColumn_TextOnly {
		padding-left: 0px;
		padding-top: 0px;
	}
	
	figcaption {
		width: 100%;
	}
}

@media (prefers-color-scheme: dark) {
	body {
		background-color: rgba(20,20,25,1);	
		color: #FFF;
	}
	
	.main {
		background-color: rgba(20,20,25,1);
	}
	
	.header {
		background: rgba(20, 20, 20, 0.5);
		color: #FFF;
	}
	
	.light {
		display: none;
		visibility: hidden;
	}
	
	.dark {
		display: block;
		visibility: visible;
	}
		
	.gridItem {
		background-color: rgba(50, 50, 50, 0);
	}


	.readMoreButton {
		text-decoration: none;
		color: #FFF;
	}
	
	.caseStudyItem {
		background: rgba(42, 42, 42, 1);
	}
	
	#press {
		filter: grayscale(0%);
	}
	
	
	.nav-item {
		
		background: rgba(80, 80, 80, 0);
		color: #FFF;
	}
	
	.nav-item:hover {
		background: rgba(80, 80, 80, 0.5);
		transition: background 0.25s ease-out;
	}
	
	.nav-item:visited {
		color: rgba(255, 255, 255, 1);
	}
	
	.navGroup a {
		background: rgba(80, 80, 80, 0);
		color: #FFF;
	}
	
	.navGroup a:hover, .navGroup a:active {
		background: rgba(80, 80, 80, 0.5);
	}
	
	.navGroup a:visited {
		color: #FFF;
	}
	
	.glow-button:hover {
		background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(120, 120, 120, 0.5), rgba(0, 0, 0, 0));
		transform: rotateY(5deg);
		box-shadow: 0 1px 8px rgba(0, 0, 0, 0.15);
		transition: background box-shadow 0.3s ease-out;
	}
	
	.navGroup .active {
		background: rgba(80, 80, 80, 0.5);
	}
	
	
	.caseStudyItem #smallCaps {
		color: rgba(200, 200, 200, 1);
	}

.readMoreButton:visited {
	text-decoration: none;
	color: #FFF;
}

hr {
	background: rgba(55, 55, 55, 1);
}


#navigation a { 
	
	background: rgba(80,80, 80, 0);
	color: rgb(255, 255, 255);
}

#navigation a:hover {
	background: rgba(80,80, 80, 1);
}

#downloadLinks a { 
	color: rgb(250,250,250);
	transition: border-bottom 0.25s ease-in-out;
}

.caseStudyItem a { 
	color: rgb(255,255,255);
	transition: border-bottom 0.25s ease-in-out;
}

.caseStudyItem a:visited { 
	color: rgb(255,255,255);
	transition: border-bottom 0.25s ease-in-out;
}


#downloadLinks a:hover {
	border-bottom: 2px solid rgba(220, 220, 220, 1);
	transition: border-bottom 0.25s ease-in-out;
}

	#downloadSVG::before {
		
		content: url('img/symbols/dark/download.svg');
	}
	
	#blogSVG::before {
		
		content: url('img/symbols/dark/blog.svg');
	}
	
	#siteSVG::before {
		content: url('img/symbols/dark/site.svg');
	}
	
	#resumeSVG::before {
		content: url('img/symbols/dark/resume.svg');
	}
	
	#twitterSVG::before {
		content: url('img/symbols/dark/twitter.svg');
	}
	
	#visionProSVG::before {
		content: url('img/symbols/dark/visionPro.svg');
	}
	#iPhoneSVG {
		content: url('img/symbols/dark/iPhone.svg');
	}
	
	#iPadSVG {
		content: url('img/symbols/dark/ipad.svg');
	}
	
	#macSVG {
		content: url('img/symbols/dark/mac.svg');
	}
	#watchSVG {
		content: url('img/symbols/dark/watch.svg');
	}
	#chipSVG {
		content: url('img/symbols/dark/chip.svg');
	}
	#filmSVG {
		content: url('img/symbols/dark/film.svg');
	}
}
