commit ba7a072a7095af214648656b1e1cdea9aa555834 from: Rohan Verma date: Wed Sep 30 03:34:20 2026 UTC fill space for name commit - 8c3a37bfa8368b9ff893e5051d7e190592050ee3 commit + ba7a072a7095af214648656b1e1cdea9aa555834 blob - 0fd63e9c4b8981588bddc6250f7ec5eb05b9ed4d blob + 8541c59081cb8cf4557a28bdd4602204c785e91c --- index.html +++ index.html @@ -21,7 +21,7 @@
- Portrait of Rohan Verma + Portrait of Rohan Verma

Rohan Verma

Computer Science at Northeastern University

blob - 4ae20127d9f89d0705a03b2512868ee78fbc848f blob + 34a3339111ab056c51097680d1e3ffe249d78512 --- static/style.css +++ static/style.css @@ -112,28 +112,38 @@ main > section { margin-bottom: 2.6em; } -/* intro: portrait beside name, role and links */ +/* intro: portrait beside name, role and links. Everything is sized in + * cqi (hundredths of the column width) so the block fills the column at any + * width. With Charter the role is 18.9em wide and the five links with their + * dots 27.4em, so both are sized to fill the text column with ~5% to spare + * for wider fallback fonts. Gaps are margins: cqi on the container itself + * would not resolve against it. */ .hero { + container-type: inline-size; display: flex; align-items: center; - gap: 24px; margin-top: .6em; } .portrait { flex: none; - width: 108px; - height: 108px; + width: 21cqi; + height: 21cqi; + margin-right: 3cqi; border-radius: 2px; object-fit: cover; } +.hero h1 { + font-size: 7cqi; +} .role { margin: .25em 0 .5em; color: var(--muted); + font-size: 3.83cqi; font-style: italic; } .links { margin: 0; - font-size: .9em; + font-size: 2.64cqi; } .links a { white-space: nowrap; @@ -263,45 +273,44 @@ footer a { padding-left: 16px; padding-right: 16px; } - /* portrait beside name and role, centred by the 1fr columns either - * side; links in a full-width row beneath */ + /* portrait beside name and a two-line role, links in a full-width row + * beneath. The name (5.8em) and "Northeastern University" (10em) fill + * the text column; the links (22.25em, no dots) are spread edge to edge. */ .hero { display: grid; - grid-template-columns: 1fr auto auto 1fr; + grid-template-columns: auto 1fr; grid-template-rows: 1fr auto auto 1fr auto; - gap: 0; } .hero > div { display: contents; } .portrait { - grid-area: 1 / 2 / 5; - width: 104px; - height: 104px; - margin-right: 16px; + grid-area: 1 / 1 / 5; + width: 30cqi; + height: 30cqi; + margin-right: 4cqi; } .hero h1 { - grid-area: 2 / 3; + grid-area: 2 / 2; + font-size: 10.7cqi; } .role { - grid-area: 3 / 3; - margin-bottom: 0; + grid-area: 3 / 2; + margin: .15em 0 0; + font-size: 6.2cqi; + line-height: 1.35; } .role span { display: block; } .links { grid-area: 5 / 1 / auto / -1; - margin-top: 14px; - } - /* one row spread edge to edge: the five links are about 22em of text, - * so the size follows the width of the column (viewport minus gutters) */ - .links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3em .5em; - font-size: min(.9em, calc((100vw - 32px) / 25)); + margin-top: 4cqi; + font-size: 3.9cqi; } .links a + a:before { content: none;