/* Shared
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button {
  border-radius: 100px;
}

/* Sections
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.section {
  padding: 8rem 0 7rem;
  text-align: left;
}
.section-heading,
.section-description {
  margin-bottom: 1.2rem;
}

/* Hero
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.phones {
  position: relative;
}
.phone {
  position: relative;
  max-width: 80%;
  margin: 3rem auto -12rem;
}
.phone + .phone {
  display: none;
}

/* Values
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.values {
  background-image: url('../images/weekend-fog-bg.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #222 ;
  /* make background fill viewport */
  position: relative;
  height: 100vh;
  min-height: 100vh;
  padding: 0;
  display: flex;
  align-items: center;
}
.value-multiplier {
  margin-bottom: .5rem;
  color: #11DFC7;
}
.value-heading {
  margin-bottom: .3rem;
}
.value-description {
  opacity: .8;
  font-weight: 300;
}

/* Help
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.get-help {
  border-bottom: 1px solid #ddd;
}

/* Background sections: categories, teaching, research should fill viewport
   Use a shared rule so they all behave the same way across widths */
.categories,
.teaching,
.research {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  height: 100vh;          /* fill the viewport */
  min-height: 100vh;
  padding: 0;             /* remove large paddings so image fills viewport cleanly */
  display: flex;          /* allow vertical centering of content */
  align-items: center;
  justify-content: flex-start; /* left-align content; change to center if you prefer */
  color: #FFF;
}

/* individual background images */
.categories { background-image: url('../images/weekend-fog-bg.jpg'); }
.teaching  { background-image: url('../images/alpha-idea.jpg'); }
.research  { background-image: url('../images/alpha-theory.jpg'); }

/* subtle overlay to improve text contrast for these hero sections */
.categories::before,
.teaching::before,
.research::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.32);
  z-index: 1;
}

/* ensure the page content sits above the background/overlay */
.categories .container,
.teaching .container,
.research .container,
.values .container {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}

/* text block for the hero */
.hero-content {
  /* constrain the text block so it doesn't get too wide */
  max-width: 540px;
  margin-left: 4vw;
  color: #fff;
  padding: 1.5rem;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}

/* Teaching
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* (background image assigned above) */

/* Research
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* (background image assigned above) */

/* Bigger than 550 */
@media (min-width: 550px) {
  .section {
    padding: 12rem 0 11rem;
  }
  .hero {
    padding-bottom: 12rem;
    text-align: left;
    height: 165px;
  }
  .phone {
    position: absolute;
    top: -7rem;
    right: 3rem;
    max-height: 362px;
    z-index: 3;
  }
  .phone + .phone {
    top: -6rem;
    display: block;
    max-width: 73.8%;
    right: 0;
    z-index: 2;
    max-height: 338px;
  }
  .hero-heading {
    font-size: 2.4rem;
  }
}

/* Bigger than 750 */
@media (min-width: 750px) {
  .hero {
    height: 190px;
  }
  .hero-heading {
    font-size: 2.6rem;
  }
  .section {
    padding: 14rem 0 15rem;
  }
  .hero {
    padding: 16rem 0 14rem;
  }
  .section-description {
    max-width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .phone {
    top: -14rem;
    right: 5rem;
    max-height: 510px;
  }
  .phone + .phone {
    top: -12rem;
    max-height: 472px;
  }
  /* remove any .categories padding that would override full-viewport behaviour */
  /* (previously: .categories { padding: 15rem 0 8rem; } ) 
  .teaching {
    padding: 15rem 0 8rem;
  }
  .research {
    padding: 15rem 0 8rem;
  } */
}

/* Bigger than 1000 */
@media (min-width: 1000px) {
  .section {
    padding: 20rem 0 19rem;
  }
  .hero {
    padding: 22rem 0;
  }
  .hero-heading {
    font-size: 3.0rem;
  }
  .phone {
    top: -16rem;
    max-height: 615px;
  }
  .phone + .phone {
    top: -14rem;
    max-height: 570px;
  }
}

/* Focal point adjustments for cover backgrounds */
@media (min-width: 1200px) { 
  .categories, .teaching, .research { 
    background-position: 35% 50%; 
  } 
} 

@media (min-width: 900px) and (max-width: 1199px) { 
  .categories, .teaching, .research { 
  background-position: 40% 50%; 
  } 
} 

@media (max-width: 600px) { 
  .categories, .teaching, .research {
    background-position: center top; 
  } 
}

/* --- minimal dropdown menu --- */
:root { --ink:#111; --paper:#fff; --line:#eaeaea; }
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ff-header{position:relative;}
.ff-menu{position:fixed;top:12px;right:12px;z-index:999;}
.ff-menu>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:var(--paper);
}
.ff-menu>summary::-webkit-details-marker{display:none;}
.ff-icon{width:22px;height:auto;display:block;} /* scale the PNG down */
.ff-menu>summary:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
.ff-panel{
  position:absolute;right:0;margin-top:8px;padding:8px 10px;background:var(--paper);
  border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:.5rem;
  min-width:140px;box-shadow:0 10px 28px rgba(0,0,0,.35);
}
.ff-menu:not([open]) .ff-panel{display:none;}
.ff-panel a{color:var(--ink);text-decoration:none;}
.ff-panel a:hover{text-decoration:underline;}
.ff-panel a[aria-current="page"]{text-decoration:underline;}

/* --- dark theme (optional) --- */
/* Add data-theme="dark" to <body> or .ff-header to enable */
[data-theme="dark"]{--ink:#fff;--paper:#000;--line:rgba(255,255,255,.18);}
[data-theme="dark"] .ff-panel{box-shadow:0 0 0 1px rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.6);}
[data-theme="dark"] .ff-menu>summary{background:var(--paper);border-color:var(--line);}
[data-theme="dark"] .ff-panel a{color:var(--ink);}
[data-theme="dark"] .ff-icon{filter:invert(1) brightness(100%);}

