@import "https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:wght@400;500;600&family=Source+Sans+3:wght@300;400;500;600&display=swap";
:root{color:#132c37;background:#102f3b;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.scene-fixed{z-index:-1;position:fixed;inset:0}.canvas-wrap{width:100%;height:100%}.scene-tint{background:linear-gradient(#00294814,#fad4aa0f 55%,#00273726);position:absolute;inset:0}.header{z-index:20;color:#fff;mix-blend-mode:difference;justify-content:space-between;align-items:center;padding:30px 5.5%;display:flex;position:fixed;top:0;left:0;right:0}.logo{letter-spacing:-.08em;font-size:28px;font-weight:300}.logo span{color:#c6d6d9}.nav{gap:42px;display:flex}.nav a,.eyebrow,.section-label,.text-link,.email,.location-tag,.progress-index,.footer-bottom{letter-spacing:.2em;font-size:11px;font-weight:600}.nav a:hover{text-underline-offset:8px;text-decoration:underline}.menu-button{color:#fff;background:0 0;border:0;display:none}.journey{color:#fff;height:480vh;position:relative}.intro{color:#17313d;width:84%;position:absolute;top:35vh;left:8%}.intro h1{letter-spacing:-.085em;margin:28px 0 42px;font-family:Manrope,sans-serif;font-size:clamp(65px,11vw,185px);font-weight:400;line-height:.92}.intro h1 em,h2 i{font-style:normal;font-weight:300}.intro-bottom{justify-content:space-between;align-items:center;max-width:760px;display:flex}.intro-bottom p{font-size:15px;line-height:1.6}.circle-link{border:1px solid;border-radius:50%;place-items:center;width:62px;height:62px;transition:transform .3s;display:grid}.circle-link:hover{transform:translate(6px,6px)}.sky-message{text-shadow:0 1px 30px #17476255;position:absolute;top:155vh;left:13%}.sky-message h2,.reveal-message h2{letter-spacing:-.075em;margin:25px 0;font-size:clamp(60px,8vw,125px);font-weight:400;line-height:1.04}.sky-message p,.reveal-message p{max-width:320px;font-size:17px;line-height:1.7}.reveal-message{text-align:right;text-shadow:0 1px 25px #163c5d77;position:absolute;top:315vh;right:12%}.reveal-message p{margin-left:auto}.location-tag{justify-content:space-between;display:flex;position:absolute;bottom:10vh;left:8%;right:8%}.content{color:#15313b;background:#f4f2ec;grid-template-columns:25% 75%;gap:20px;padding:140px 9% 160px;display:grid;position:relative}.content h2{letter-spacing:-.075em;margin:0 0 65px;font-family:Manrope,sans-serif;font-size:clamp(50px,7vw,110px);font-weight:400;line-height:1.05}.content h2 i{color:#6c898f}.section-label{padding-top:18px}.about .large-copy{letter-spacing:-.04em;max-width:750px;font-size:clamp(25px,3vw,40px);line-height:1.35}.about p:not(.large-copy){color:#5e7379;max-width:580px;font-size:17px;line-height:1.8}.text-link{border-bottom:1px solid;align-items:center;gap:20px;margin-top:35px;padding-bottom:14px;display:inline-flex}.experience-row{border-top:1px solid #a6b4b6;justify-content:space-between;align-items:flex-start;padding-top:28px;display:flex}.experience-row h3{margin:0 0 6px;font-size:30px;font-weight:400}.experience-row p{margin:0}.experience-row span{letter-spacing:.15em;font-size:11px}.experience-copy{max-width:600px;margin-top:40px;font-size:18px;line-height:1.7}.projects{color:#f1f3ef;background:#102f3b}.project{border-top:1px solid #557078;grid-template-columns:55px 1fr 30px;align-items:flex-start;gap:20px;padding:35px 0;display:grid}.project>span{font-size:12px}.project h3{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(25px,3.5vw,50px);font-weight:400}.project p{color:#a4bec3;margin:0 0 20px}.project small{color:#b6c9cc;font-size:14px;line-height:1.6}.disclaimer{color:#9fb5b9;font-size:12px}.skill-tags{flex-wrap:wrap;gap:12px;display:flex}.skill-tags span{border:1px solid #9aafb1;border-radius:30px;padding:16px 22px;font-size:14px}.footer{color:#fff;background:#0b2630;min-height:80vh}.footer h2 i{color:#9bbfc8}.email{border-bottom:1px solid #fff;align-items:center;gap:50px;padding:20px 0;display:inline-flex}.footer-bottom{color:#b3c8ce;justify-content:space-between;margin-top:180px;display:flex}.progress-index{color:#fff;z-index:5;mix-blend-mode:difference;flex-direction:column;gap:23px;display:flex;position:fixed;top:42%;right:3%}.progress-index span{opacity:.4}.progress-index .selected{opacity:1}.progress-index .selected:after{content:"";border-bottom:1px solid;width:25px;margin-top:10px;display:block}@media (max-width:800px){.header{padding:22px 6%}.menu-button{display:block}.nav{background:#102f3b;flex-direction:column;gap:25px;padding:35px;display:none;position:absolute;top:75px;right:5%}.nav.open{display:flex}.intro{top:36vh}.intro h1{font-size:clamp(53px,12vw,90px)}.intro-bottom p{font-size:13px}.sky-message{top:160vh;left:8%}.reveal-message{top:320vh;right:8%}.content{grid-template-columns:1fr;gap:55px;padding:90px 7%}.content h2{margin-bottom:45px}.progress-index{display:none}.footer-bottom{flex-wrap:wrap;gap:25px;margin-top:110px}.journey{height:450vh}.project{grid-template-columns:30px 1fr 24px;gap:10px}.experience-row{gap:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.scene-fixed{z-index:0;pointer-events:none;background:linear-gradient(#6f9ebd,#f5d4a3 65%,#315b69)}main{z-index:1;position:relative}.header{z-index:20}.intro{color:#fff;text-shadow:0 2px 35px #163c5d55}.content{background:#f4f2ecf0}.experience{background:#e7e9e4f0}.projects{background:#102f3bf0}.skills{background:#e6e9e4f0}.postcard{color:#fff;background:linear-gradient(#0000 35%,#061c26cc);flex-direction:column;justify-content:flex-end;gap:20px;min-height:110vh;padding:65vh 8% 5vh;display:flex}.postcard>.section-label{display:none}.postcard h2{letter-spacing:-.06em;margin:20px 0 10px;font-size:clamp(35px,5vw,76px)}.postcard .email{padding:12px 0}.postcard .footer-bottom{margin-top:55px}.contact-placeholder{color:#bcd0d4;font-size:12px}.postcard .eyebrow{font-size:9px}a:focus-visible,button:focus-visible{outline-offset:7px;outline:2px solid #dcab69}@media (max-width:800px){.journey{height:360vh}.sky-message{top:130vh}.reveal-message{top:270vh}.postcard{padding:65vh 7% 5vh}.postcard .eyebrow{letter-spacing:.12em}.nav.open{mix-blend-mode:normal}.content{overflow-wrap:anywhere}}@media (max-width:800px){.journey{height:480vh}.sky-message{top:170vh}.reveal-message{top:385vh}}.scene-weather{letter-spacing:.08em;color:#fff;text-shadow:0 1px 10px #123;text-align:right;font-size:10px;line-height:1.8;position:absolute;top:95px;right:5.5%}.scene-weather a{opacity:.65;pointer-events:auto;font-size:8px;display:block}.scene-weather a:hover{opacity:1}@media (max-width:800px){.scene-weather{font-size:8px;top:80px;right:6%}}.header{mix-blend-mode:normal;color:#fff;text-shadow:0 1px 6px #163349}:root{--font-heading:"goldenbook","Cormorant Garamond",Georgia,serif;--font-body:"freight-sans-pro","Source Sans 3",Arial,sans-serif;--font-script:"gautreaux","Allura",cursive;font-family:var(--font-body)}.intro h1,.content h2,.sky-message h2,.reveal-message h2{font-family:var(--font-heading);letter-spacing:-.025em;font-weight:400;line-height:1.08}.intro h1{font-size:clamp(62px,9.5vw,150px)}.intro h1 em,.content h2 i,.sky-message h2 i,.reveal-message h2 i{font-family:var(--font-script);letter-spacing:0;font-style:normal;font-weight:400;line-height:1.15}.intro h1 em{font-size:1.25em}.intro{top:28vh}.project h3,.experience-row h3{font-family:var(--font-heading);letter-spacing:-.01em}.nav a,.eyebrow,.section-label,.text-link,.email,.location-tag,.footer-bottom{letter-spacing:.16em;font-weight:500}.about .large-copy{letter-spacing:-.015em}.content p{font-weight:400}.location-script{font-family:var(--font-script);letter-spacing:.01em;font-size:clamp(32px,4vw,48px);line-height:1.2;margin:12px 0 0!important}.postcard h2{letter-spacing:-.025em;line-height:1.15}.logo{font-family:var(--font-heading);letter-spacing:-.03em}@media (max-width:800px){.intro h1{font-size:clamp(46px,11vw,78px)}.intro{top:30vh}.content h2{font-size:clamp(44px,9vw,72px)}.postcard h2{font-size:clamp(33px,8vw,55px)}.location-script{font-size:34px}}.progress-index{mix-blend-mode:normal;text-shadow:0 1px 5px #123;align-items:center;gap:14px;top:24%}.scene-picker{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b24364d;border-top:1px solid #ffffff50;border-radius:0 0 20px 20px;flex-direction:column;gap:5px;margin-top:14px;padding:7px 4px;display:flex}.scene-picker button{color:#fff;cursor:pointer;opacity:.65;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;transition:opacity .2s,background .2s;display:grid;position:relative}.scene-picker button:hover,.scene-picker button:focus-visible{opacity:1;background:#ffffff20}.scene-picker button[aria-pressed=true]{opacity:1;background:#ffffff28;border-color:#ffffff85}.scene-picker .scene-tooltip{white-space:nowrap;color:#fff;font:12px var(--font-body);letter-spacing:.02em;opacity:0;pointer-events:none;text-shadow:none;background:#102a3e;border-radius:4px;padding:6px 10px;position:absolute;right:43px}.scene-picker button:hover .scene-tooltip,.scene-picker button:focus-visible .scene-tooltip{opacity:1}@media (max-width:800px){.progress-index{z-index:25;display:flex;top:auto;bottom:14px;right:14px}.progress-index>span{display:none}.scene-picker{background:#0b2436bd;border:1px solid #ffffff30;border-radius:28px;flex-direction:row;gap:3px;margin:0;padding:6px}.scene-picker button{width:33px;height:33px}.scene-picker .scene-tooltip{bottom:45px;right:0}}@media (max-height:650px) and (min-width:801px){.progress-index{gap:8px;top:15%}.scene-picker{gap:2px;margin-top:6px}.scene-picker button{width:28px;height:28px}}@media (max-width:800px){.postcard{padding-bottom:90px}}.skills{text-align:center;grid-template-columns:1fr;gap:35px}.skills .section-label{padding-top:0}.skills>div{width:100%}.skills h2{margin-left:auto;margin-right:auto}.skills .skill-tags{justify-content:center;max-width:850px;margin-inline:auto}:root{--content-bg:#f6e4d8f5;--alternate-bg:#bfe6dbf5;--content-ink:#193e46;--content-muted:#3e6067;--content-accent:#a6444c;--content-line:#3e606773;--project-bg:#205e67f5;--project-ink:#f5f6ff;--project-muted:#c5ece4;--neon-glow:transparent;--postcard-shade:#0b3943d1}.content{background:var(--content-bg);color:var(--content-ink);transition:none}.experience,.skills{background:var(--alternate-bg)}.content h2 i{color:var(--content-accent);text-shadow:0 0 22px var(--neon-glow)}.about p:not(.large-copy){color:var(--content-muted)}.experience-row,.project{border-color:var(--content-line)}.skill-tags span{border-color:var(--content-line);background:color-mix(in srgb,var(--content-accent) 5%,transparent)}.projects{background:var(--project-bg);color:var(--project-ink)}.projects h2 i{color:var(--content-accent)}.project p,.project small,.disclaimer{color:var(--project-muted)}.postcard{background:linear-gradient(180deg,transparent 35%,var(--postcard-shade));color:#fff}.postcard h2 i{color:#fff}.postcard .footer-bottom,.contact-placeholder{color:var(--footer-muted,#d9e8ef)}.nav.open{background:var(--project-bg)}@media (prefers-reduced-motion:reduce){.content{transition:none}}:root{--content-bg:#fff;--alternate-bg:#e1f3f1;--content-ink:#20343c;--content-muted:#465d67;--content-accent:#a63e51;--content-secondary:#006b73;--content-line:#758e94;--project-bg:#fff;--project-ink:#20343c;--project-muted:#465d67;--footer-muted:#d9e8ef}.section-label,.text-link{color:var(--content-secondary)}.postcard .section-label,.postcard .text-link{color:#fff}.postcard{text-shadow:0 1px 5px #071621}html[data-content-surface=true] .header,html[data-content-surface=true] .progress-index{color:var(--content-ink);text-shadow:none}html[data-content-surface=true] .logo span{color:var(--content-accent)}html[data-content-surface=true] .menu-button{color:var(--content-ink)}html[data-content-surface=true] .nav.open{color:var(--content-ink);background:var(--content-bg);border:1px solid var(--content-line)}html[data-content-surface=true] .scene-weather{visibility:hidden}.progress-index>span{opacity:.75}.progress-index>span.selected{opacity:1}.scene-picker{background:#102437e8}.scene-picker button{opacity:.85}a:focus-visible,button:focus-visible{outline-color:var(--content-secondary,#006b73)}.journey{height:360vh}.sky-message{top:125vh}.reveal-message{top:245vh}@media (max-width:800px){.journey{height:350vh}.sky-message{top:125vh}.reveal-message{top:240vh}}
