Repository navigation
Expand file tree
/
Copy pathstyle.css
More file actions
61 lines (59 loc) · 9.41 KB
/
Copy pathstyle.css
File metadata and controls
61 lines (59 loc) · 9.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root {
--ink: #172525;
--muted: #5c6e6c;
--cream: #f5f5ef;
--paper: #fffef9;
--mint: #c4edda;
--green: #0f6b5b;
--coral: #f39d79;
--yellow: #f8d779;
--line: rgba(23, 37, 37, 0.14);
--sans: 'Manrope', 'Trebuchet MS', sans-serif;
--serif: 'Playfair Display', Georgia, serif;
--mono: 'DM Mono', Consolas, monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
color: var(--ink);
background: var(--cream);
font-family: var(--sans);
}
a { color: inherit; text-decoration: none; }
.page-shell { overflow: hidden; }
.site-header, .hero, .content-section, .site-footer, .contact-section { max-width: 1240px; margin: 0 auto; padding-left: 5vw; padding-right: 5vw; }
.site-header { display: flex; align-items: center; justify-content: space-between; padding-top: 28px; padding-bottom: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-size: 14px; font-weight: 800; letter-spacing: -.03em; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; color: var(--paper); background: var(--green); border-radius: 50%; font: 11px var(--mono); }
.site-nav { display: flex; gap: clamp(18px, 3vw, 42px); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-nav a { transition: color .2s ease; }
.site-nav a:hover { color: var(--green); }
.hero { min-height: 660px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 40px; padding-top: 48px; padding-bottom: 74px; }
.eyebrow, .section-label, .card-kicker, .visual-label { color: var(--green); font: 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.eyebrow { margin: 0 0 20px; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 22px; font-size: clamp(66px, 9vw, 130px); line-height: .83; letter-spacing: -.09em; }
h1 span, h2 span, h2 em { color: var(--green); font-family: var(--serif); font-weight: 600; letter-spacing: -.07em; }
.hero-role { font-size: 17px; font-weight: 700; }
.role-divider { margin: 0 7px; color: var(--coral); }
.hero-intro { max-width: 350px; margin: 20px 0 30px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.button { display: inline-flex; align-items: center; gap: 24px; padding: 15px 20px; color: var(--paper); background: var(--ink); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; transition: background .25s ease, transform .25s ease; }
.button:hover { background: var(--green); transform: translateY(-3px); }
.hero-visual { position: relative; min-height: 390px; display: grid; place-items: center; }
.code-window { position: relative; z-index: 2; width: min(100%, 440px); overflow: hidden; border: 1px solid rgba(255,255,255,.3); border-radius: 5px; background: #183937; box-shadow: 18px 24px 0 rgba(15,107,91,.18); transform: rotate(4deg); }
.window-bar { display: flex; align-items: center; gap: 6px; padding: 13px 16px; color: #97b9af; border-bottom: 1px solid rgba(255,255,255,.12); font: 10px var(--mono); }
.window-bar span { margin-left: 10px; opacity: .7; }
.window-bar i { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }.window-bar i:nth-child(2) { background: var(--yellow); }.window-bar i:nth-child(3) { background: var(--mint); }
.code-lines { padding: 26px 25px 31px; color: #d8f1df; font: 12px/2.2 var(--mono); }.code-lines span { display: block; }.code-lines b { display: inline-block; width: 25px; color: #6e968c; font-weight: 400; }.code-lines em { color: #f4ba85; font-style: normal; }.code-lines strong { color: #bce6d3; }.code-lines mark { color: #f5ca79; background: transparent; }
.orbit { position: absolute; border: 1px solid rgba(15,107,91,.3); border-radius: 50%; transform: rotate(-22deg); }.orbit-one { width: 390px; height: 210px; }.orbit-two { width: 285px; height: 370px; border-color: rgba(243,157,121,.35); transform: rotate(40deg); }.visual-label { position: absolute; right: 4%; bottom: 17px; color: var(--muted); font-size: 9px; }
.reveal { animation: rise-in .8s both; }.reveal-delay-1 { animation-delay: .12s; }.reveal-delay-2 { animation-delay: .22s; }.reveal-delay-3 { animation-delay: .34s; }
@keyframes rise-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
.content-section { padding-top: 105px; padding-bottom: 105px; border-top: 1px solid var(--line); }.section-label { display: flex; gap: 15px; margin-bottom: 45px; }.section-label span { color: var(--coral); }
.split-content { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 10%; }.split-content h2, .projects-heading h2 { margin-bottom: 0; font-size: clamp(40px, 5vw, 70px); line-height: .94; letter-spacing: -.08em; }.large-copy { max-width: 470px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.education-card { display: grid; grid-template-columns: 120px 1fr auto; align-items: center; gap: 40px; padding: 42px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.education-year { color: var(--green); font: 12px/1.6 var(--mono); text-transform: uppercase; }.education-year span { color: var(--muted); }.education-details h2 { margin: 7px 0 14px; font-size: clamp(27px, 3.3vw, 43px); line-height: 1.03; letter-spacing: -.06em; }.education-details > p:last-child { margin: 0; color: var(--muted); font-size: 14px; }.card-kicker { margin-bottom: 0; font-size: 10px; }.status-pill { display: flex; align-items: center; gap: 8px; font: 10px var(--mono); text-transform: uppercase; }.status-pill span { width: 7px; height: 7px; background: var(--green); border-radius: 50%; }
.projects-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 48px; }.projects-heading p { max-width: 310px; margin-bottom: 3px; color: var(--muted); font-size: 13px; line-height: 1.7; }.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.project-card { position: relative; min-height: 405px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; overflow: hidden; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease; }.project-card:hover { transform: translateY(-10px) rotate(1deg) scale(1.02); box-shadow: 12px 16px 0 rgba(23,37,37,.1); }.project-weather { background: var(--mint); }.project-todo { background: var(--yellow); }.project-disaster { color: var(--paper); background: var(--green); }.project-number { font: 11px var(--mono); opacity: .65; }.project-icon { position: absolute; top: 20px; right: 24px; font-size: 42px; font-family: Georgia, serif; }.project-card h3 { margin: 9px 0 15px; font-size: 29px; line-height: 1.02; letter-spacing: -.06em; }.project-card > div:nth-child(3) > p:last-child { max-width: 245px; margin: 0; font-size: 12px; line-height: 1.65; opacity: .7; }.project-card .card-kicker { color: inherit; opacity: .7; }.project-link { display: flex; justify-content: space-between; padding-top: 15px; border-top: 1px solid currentColor; font: 10px var(--mono); text-transform: uppercase; }
.contact-section { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; padding-top: 108px; padding-bottom: 108px; background: var(--coral); }.contact-section .section-label { margin-bottom: 55px; }.contact-section .section-label, .contact-section .section-label span { color: var(--ink); }.contact-intro h2 { margin: 0; font-size: clamp(46px, 6vw, 83px); line-height: .88; letter-spacing: -.09em; }.contact-intro h2 em { color: var(--paper); font-style: italic; }.contact-details { display: grid; align-content: end; gap: 18px; }.contact-details a { display: flex; flex-direction: column; padding-bottom: 14px; border-bottom: 1px solid rgba(23,37,37,.25); font-size: 14px; font-weight: 700; }.contact-details a:hover { color: var(--paper); }.contact-details span { margin-bottom: 7px; color: rgba(23,37,37,.65); font: 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.site-footer { display: flex; justify-content: space-between; padding-top: 22px; padding-bottom: 22px; color: var(--muted); font: 10px var(--mono); text-transform: uppercase; }
@media (max-width: 700px) { .site-header { align-items: flex-start; padding-top: 20px; }.site-nav { gap: 12px; padding-top: 4px; font-size: 8px; }.brand { font-size: 12px; }.brand-mark { width: 29px; height: 29px; font-size: 9px; }.hero { display: block; min-height: auto; padding-top: 75px; padding-bottom: 90px; }.hero-visual { min-height: 310px; margin-top: 70px; }.code-window { width: 92%; }.orbit-one { width: 290px; height: 165px; }.orbit-two { width: 220px; height: 290px; }.content-section { padding-top: 75px; padding-bottom: 75px; }.section-label { margin-bottom: 32px; }.split-content, .contact-section { grid-template-columns: 1fr; gap: 32px; }.large-copy { font-size: 16px; }.education-card { grid-template-columns: 1fr; gap: 22px; padding: 30px 0; }.status-pill { margin-top: 4px; }.projects-heading { display: block; }.projects-heading p { margin-top: 25px; }.project-grid { grid-template-columns: 1fr; }.project-card { min-height: 350px; }.contact-section { padding-top: 75px; padding-bottom: 75px; }.contact-section .section-label { margin-bottom: 32px; }.contact-details { gap: 16px; }.site-footer { font-size: 8px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { animation: none; }.project-card, .button { transition: none; } }