/* ---------- CSS ----------
   CSS has the form:  selector { property: value; }
   The selector picks which element to style. */

/* :root holds "variables" - colors defined once and reused below.
   Change --bg or --fg here to recolor the whole site. */
:root{
  --bg:#000;          /* background color (black) */
  --fg:#fff;          /* main text color (white) */
  --muted:#b8b8b8;    /* softer grey for body text */
  --line:#3a3a3a;     /* color of thin divider lines */
}

/* Makes padding and borders count inside an element's width. Keeps layouts predictable. */
*,*::before,*::after{box-sizing:border-box}

/* body styles the whole page. */
body{
  margin:0;                                      /* remove default browser margin */
  background:var(--bg);                          /* use the variable from above */
  color:var(--fg);
  font-family:"Times New Roman",Times,serif;     /* font, with backups if it's missing */
  font-size:1.125rem;                            /* text size */
  line-height:1.65;                              /* space between lines */
}

/* main keeps content in a centered column. */
main{max-width:960px;margin:0 auto;padding:0 1.5rem}

/* Each <section> gets space above and below, and a divider line on top. */
section{padding:4.5rem 0;border-top:1px solid var(--line);text-align:center}
section:first-of-type{border-top:0}   /* no line above the first section */

h1,h2,h3{font-weight:400;margin:0}
h1{font-size:clamp(2rem,6vw,3.5rem)}   /* clamp = size shrinks on small screens, grows on big ones */
h2{font-size:clamp(1.5rem,4vw,2.1rem);margin-bottom:1rem}
h3{font-size:1.4rem;margin-bottom:.4rem}
p{margin:0 auto 1rem;max-width:34rem;color:var(--muted)}

/* Classes (starting with a dot) are styles you attach to specific elements. */
.hero{padding-top:4rem}
.mark{width:min(500px,70vw);height:auto;margin:0 auto 2rem;display:block}
.rule{width:min(420px,70%);height:1px;background:var(--fg);margin:1.5rem auto}

/* Flexbox lays items out in a row. justify-content spreads them out. */
.row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pyramid{margin:2.5rem auto 0;max-width:760px}
.row.bottom{width:72%;margin:1.1rem auto 0}   /* narrower bottom row makes the pyramid shape */
.row span{flex:1 1 auto;text-align:center}

/* Grid makes the two division boxes sit side by side. */
.divs{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem;text-align:left}
.div{border:1px solid var(--line);padding:1.75rem}
.div p{margin:0;max-width:none}

/* The email button, with a hover effect that flips the colors. */
.btn{display:inline-block;margin-top:.75rem;padding:.8rem 1.8rem;border:1px solid var(--fg);color:var(--fg);text-decoration:none}
.btn:hover{background:var(--fg);color:var(--bg)}

footer{padding:2.5rem 1.5rem;text-align:center;color:var(--muted);font-size:.95rem;border-top:1px solid var(--line)}

/* A media query: these rules only apply on screens 640px wide or less (phones). */
@media (max-width:640px){
  .divs{grid-template-columns:1fr}      /* stack the two boxes */
  .row.bottom{width:100%}

}

.below{margin-top:3rem}
.tight{padding-top:0;padding-bottom:1rem}
.tight .mark{margin-bottom:0}
.tight h1{padding:6rem 0}
.left-text p{text-align:left;text-indent:3rem}
.btns{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.team-photo{display:block;width:min(640px,100%); height:auto;margin:0 auto 2rem}
.site-header{background:#161616;border-bottom:1px solid var(--line)}
.header-inner{max-width:960px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.header-logo img{height:80px;width:auto;display:block}
.menu{position:fixed;top:calc(1rem + env(safe-area-inset-top,0px));right:1rem;z-index:100}
.menu summary{list-style:none;cursor:pointer;padding:.6rem 1.2rem;background:#161616;border:1px solid var(--fg);color:var(--fg);font-size:1rem}
.menu summary::-webkit-details-marker{display:none}
.menu summary:hover{background:var(--fg);color:var(--bg)}
.menu nav{position:absolute;right:0;top:100%;margin-top:.5rem;min-width:11rem;background:#161616;border:1px solid var(--line);display:flex;flex-direction:column;gap:0}
.menu nav a{padding:.8rem 1.2rem;color:var(--fg);text-decoration:none;border-top:1px solid var(--line)}
.menu nav a:first-child{border-top:0}
.menu nav a:hover{background:var(--fg);color:var(--bg)}
footer .social{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--fg)}
footer .social:hover{color:var(--muted);border-bottom-color:var(--muted)}
footer p{margin:.75rem auto 0;max-width:none}