/* ============================================================
   evanlarkin.com — shared stylesheet
   Design tokens documented in STYLE-GUIDE.md.
   Fonts (load in each page <head>): Alegreya (serif — body,
   headings, links), Roboto Mono (labels, buttons, tagline).
   ============================================================ */

:root{
  --ink:#333333;        /* body copy + serif headings */
  --accent:#219FED;     /* brand blue — buttons, links */
  --accent-dark:#1b86cb;/* button hover */
  --muted:#BBBBBB;      /* mono labels, fine print */
  --line:#e6e6e6;       /* dividers */
  --card:#f0f0f0;       /* about card bg */
  --serif:'Alegreya',serif;
  --mono:'Roboto Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--serif);color:var(--ink);line-height:1.5;background:#fff;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:88vw;max-width:1314px;margin:0 auto}  /* 1600 baseline: 1314px content, ~143px gutters; responds down */
.center{text-align:center}

/* Screen-reader-only (SEO H1 without a visible text heading) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ===== Buttons (mono, uppercase, 3px radius) ===== */
.btn{display:inline-block;background:var(--accent);color:#fff;font-family:var(--mono);
     font-weight:400;font-size:15px;letter-spacing:.13em;text-transform:uppercase;
     padding:21px 34px;border:0;border-radius:3px;cursor:pointer;transition:background .2s;
     box-shadow:0 2px 0 0 #118AD4}   /* darker-blue bottom edge = raised look (matches live) */
.btn:hover{background:var(--accent-dark);color:#fff}
.btn-sm{padding:13px 26px;font-size:13px}
.btn-flat{box-shadow:none;border-radius:4px}  /* Bio button = flat, no raised edge (matches live) */

/* ===== Mono label (venture role, eyebrows) ===== */
.label{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.13em;
       text-transform:uppercase;color:var(--muted)}

/* ===== Header (hamburger left / logo center / socials right) ===== */
header{background:#fff;position:sticky;top:0;z-index:100}  /* sticky on scroll, matches live */
.head-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
          min-height:120px;gap:20px}
.menu-toggle{justify-self:start;background:none;border:0;padding:6px;cursor:pointer;
             display:inline-flex;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:26px;height:2px;background:#222}
.brand{justify-self:center;text-align:center}
.brand img{height:40px;width:auto;margin:0 auto}
.tagline{font-family:var(--serif);font-style:italic;font-size:14px;letter-spacing:.02em;color:#777;margin-top:8px}
.socials{justify-self:end;display:flex;gap:16px;align-items:center}
.socials a{display:inline-flex;color:var(--accent)}   /* header icons = brand blue (matches live) */
.socials svg{width:56px;height:56px;fill:currentColor}  /* Squarespace glyphs sit in a 64 viewBox */
.socials a:hover{color:var(--accent-dark)}

/* ===== Slide-in overlay menu ===== */
.site-menu{position:fixed;inset:0 auto 0 0;width:40vw;min-width:380px;max-width:90vw;background:#fff;
           z-index:200;transform:translateX(-100%);transition:transform .3s ease;
           display:flex;flex-direction:column;justify-content:center;align-items:center;
           padding:40px;box-shadow:0 0 40px rgba(0,0,0,.12)}
body.menu-open .site-menu{transform:translateX(0)}
.menu-backdrop{position:fixed;inset:0;background:transparent;z-index:150;  /* no page dimming (matches live) */
               visibility:hidden}
body.menu-open .menu-backdrop{visibility:visible}
.menu-close{position:absolute;top:26px;left:26px;background:none;border:0;font-size:26px;
            line-height:1;color:#222;cursor:pointer}
.site-menu nav{display:flex;flex-direction:column;gap:18px;text-align:center;margin-bottom:34px}
.site-menu nav a{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--ink)}
.site-menu nav a:hover,.site-menu nav a.current{color:var(--muted)}
.menu-blurb{font-family:var(--serif);font-size:15px;color:var(--ink);text-align:center;
            max-width:280px;margin-bottom:22px;border-top:1px solid var(--line);padding-top:26px}
.menu-social{display:flex;gap:16px;justify-content:center;margin-top:22px}
.menu-social a{color:#222}.menu-social svg{width:56px;height:56px;fill:currentColor}
.menu-social a:hover{color:var(--accent)}

/* ===== Video ===== */
.video{padding:40px 0 10px}
.video-frame{position:relative;padding-top:52.9%;background:#000;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Intro (text left / button right) ===== */
.intro{padding:56px 0 47px}
.intro-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.intro p{margin-bottom:20px}
.intro p:last-child{margin-bottom:0}
.intro-cta{text-align:center}

/* ===== Ventures grid ===== */
.ventures{padding:47px 0 73px}
.ventures-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:106px 64px}
.venture h3,.venture .v-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:22.5px;
        letter-spacing:.01em;color:var(--ink);margin-bottom:10px}
.venture .label{display:block;margin-bottom:16px}
.venture p{margin-bottom:18px}
.venture .v-link{font-family:var(--serif);font-size:17px;color:var(--accent);border-bottom:1px solid var(--accent)}
.venture .v-link:hover{color:var(--accent-dark);border-color:var(--accent-dark)}
.logo-strip{grid-column:2 / span 2;display:grid;grid-template-columns:repeat(4,1fr);
            align-items:center;gap:10px;align-self:start;margin-top:14px}   /* live: 4 equal cols, one row, top-aligned ~29px below title */
.logo-strip img{width:100%;height:auto;object-fit:contain}

/* ===== About (image with overlapping card) ===== */
.about{padding:74px 0 73px}
.about-hero{position:relative;max-width:1280px;margin:0 auto;min-height:360px;
            display:flex;align-items:center}
.about-img{width:75%;margin-left:auto}
.about-img img{width:100%;height:auto;display:block}
.about-card{position:absolute;top:50%;left:0;transform:translateY(-50%);width:44%;
            background:var(--card);padding:51px}
.about-card h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:42px;
               color:var(--ink);margin-bottom:16px}
.about-card p{font-size:21px;margin-bottom:22px}

/* ===== Quote ===== */
.quote{padding:74px 0 116px;text-align:center}
.quote p{font-family:var(--serif);font-style:italic;font-size:22.5px;max-width:1060px;
         margin:0 auto;line-height:1.3}
.quote cite{display:block;font-style:italic;margin-top:20px;font-size:17px}

/* ===== Footer ===== */
footer{background:#fff;border-top:1px solid #f0f0f0;padding:50px 0 40px}  /* faint divider, matches live */
.foot-row{display:flex;align-items:center;justify-content:space-between;gap:24px;
          max-width:900px;margin:0 auto 30px}  /* row centered ~900px, not edge-to-edge (matches live) */
.foot-social{display:flex;gap:18px}.foot-social a{color:#222}
.foot-social svg{width:64px;height:64px;fill:currentColor}
.foot-social a:hover{color:var(--accent)}
.foot-legal{text-align:center;font-family:var(--serif);font-size:15px;color:#555}
.foot-legal a{color:var(--accent)}.foot-legal a:hover{text-decoration:underline}

/* ===== Inner content pages (defaults; components override via :where) ===== */
.page{padding:50px 0 70px}
.page-narrow{max-width:820px;margin:0 auto}
:where(.page h1){font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,40px);
        color:var(--ink);margin-bottom:20px;line-height:1.2}
:where(.page h2){font-family:var(--serif);font-weight:400;font-size:26px;color:var(--ink);margin:30px 0 14px}
.page p{margin-bottom:20px}
.page ul,.page ol{margin:0 0 20px 22px}
.page li{margin-bottom:8px}
.page a{color:var(--accent)}.page a:hover{text-decoration:underline}
.page img{margin:24px 0}

/* ===== Blog post / article ===== */
.post-banner{width:100%;height:auto;display:block;margin:0 0 44px}   /* full content-width hero (matches live) */
.post-head{text-align:center;max-width:960px;margin:0 auto 44px}
.post-meta{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.post-head .post-meta{margin-bottom:14px}                            /* date sits above the title */
.post-h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(32px,4vw,46px);
         color:var(--ink);line-height:1.15;margin:0}
.post-h1::after{content:"";display:block;width:64px;height:3px;background:var(--accent);margin:22px auto 0}  /* blue underline */
.article-body{max-width:820px;margin:0 auto}
.article-body img{width:100%;height:auto;margin:26px 0}
.article-body p{margin-bottom:20px}
.article-body a{color:var(--accent);border-bottom:1px solid var(--accent)}
.lead-head{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;color:var(--ink);margin:34px 0 14px}
.sub-head{font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;color:var(--ink);margin:28px 0 12px}

/* ===== Blog index ===== */
.blog-head{text-align:center;padding:20px 0 10px}
.blog-head h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,42px);color:var(--ink)}
.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 48px;padding:30px 0 40px}
.blog-card img{width:100%;height:340px;object-fit:cover}
.blog-card .card-meta{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:16px}
.blog-card .card-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;color:var(--ink);line-height:1.25;margin-top:8px}
.blog-card p{font-size:16px;margin-top:12px}
.blog-card .read-more{display:inline-block;margin-top:12px;color:var(--accent);border-bottom:1px solid var(--accent);font-size:16px}

/* ===== Inner-page title (Adrianna → Poppins substitute) ===== */
.inner-title{font-family:'Poppins',sans-serif;font-weight:400;font-size:clamp(34px,4vw,50px);
             letter-spacing:.5px;color:var(--ink);margin:0 0 44px}

/* ===== About (2-col: text left, two images right) ===== */
.about-cols{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.about-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.about-imgs img{width:100%;height:360px;object-fit:cover;margin:0}

/* ===== Contact (2-col: text + social left, form right) ===== */
.contact-cols{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:start}
.contact-intro{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink);margin-bottom:26px}
.contact-social{display:flex;gap:18px}
.contact-social a{color:#222}.contact-social svg{width:40px;height:40px;fill:currentColor}
.contact-social a:hover{color:var(--accent)}
.embed-full{min-height:760px}
@media(max-width:860px){.about-cols,.contact-cols{grid-template-columns:1fr;gap:36px}}

/* ===== Content page head (contact / meeting / bio) ===== */
.page-head{text-align:center;max-width:820px;margin:0 auto 36px}
.page-head h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,42px);color:var(--ink);margin-bottom:14px}
.page-head p{font-size:18px;color:var(--ink)}
.embed-wrap{max-width:1000px;margin:0 auto}
.embed-note{border:1px dashed #cfcfcf;border-radius:4px;padding:60px 30px;text-align:center;color:#999;
            font-family:var(--mono);font-size:13px;letter-spacing:.06em}
.bio-headshot{width:100%;max-width:520px;height:auto;margin:0 auto 30px;display:block}

/* ===== Responsive ===== */
@media(max-width:860px){
  .head-row{min-height:90px}
  .brand img{height:36px}
  .socials{display:none}                 /* socials live in the menu on mobile */
  .intro-row{grid-template-columns:1fr;gap:28px}
  .intro-cta{text-align:left}
  .ventures-grid{grid-template-columns:1fr;gap:40px}
  .logo-strip{grid-column:1;justify-content:flex-start;gap:24px}
  .about-hero{flex-direction:column;min-height:0}
  .about-img{width:100%}
  .about-card{position:static;transform:none;width:100%;margin-top:-40px;margin-left:16px;
              width:calc(100% - 16px)}
  .foot-row{flex-direction:column;align-items:center;text-align:center}
}
