/* Sanjay Siva portfolio — editorial field-notes art direction */
:root{
  --paper:#f2f0e8;--paper-deep:#e7e4d8;--ink:#202b28;--ink-soft:#3c4944;
  --muted:#6b756e;--line:#cbcbbf;--line-dark:#59665f;--moss:#dbe3d1;
  --green:#38594d;--rust:#bd583d;--rust-dark:#8e3e2c;--white:#faf9f4;
  --mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--serif:"Newsreader",Georgia,serif;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.15'/%3E%3C/svg%3E");mix-blend-mode:multiply}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:min(var(--wrap),calc(100% - 80px));margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:12px 16px;z-index:100}
.skip-link:focus{top:12px}
.site-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}
.wordmark{display:inline-flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1.6;white-space:nowrap}
.wordmark small{display:block;font:8px var(--mono);color:var(--muted);letter-spacing:.08em}
.wordmark-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ink);font:600 12px var(--serif);letter-spacing:-.06em;transform:rotate(-3deg)}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav>a{font-size:11px;color:var(--ink-soft);transition:color .2s}
.main-nav>a:hover,.text-link:hover{color:var(--rust)}
.main-nav sup{font:8px var(--mono);color:var(--rust);margin-left:3px}
.main-nav .nav-contact{border:1px solid var(--ink);padding:11px 14px;color:var(--ink);margin-left:3px}
.nav-contact span{margin-left:16px;color:var(--rust)}
.menu-toggle{display:none}
.hero{padding-top:19px}
.hero-topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;font:9px var(--mono);letter-spacing:.1em;color:var(--muted)}
.tiny-square{display:inline-block;width:7px;height:7px;background:var(--rust);margin-left:8px;transform:rotate(45deg)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:8%;padding:76px 0 56px;align-items:center}
.eyebrow,.small-label,.section-index{font:9px var(--mono);letter-spacing:.1em;color:var(--muted)}
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow-rule{width:30px;height:1px;background:var(--rust)}
.hero h1{font-size:clamp(64px,8.1vw,112px);line-height:.93;letter-spacing:-.085em;font-weight:600;margin:29px 0 25px}
h1 em,h2 em{font-family:var(--serif);font-weight:400;color:var(--rust);letter-spacing:-.065em}
.hero-note{max-width:555px;color:var(--muted);font-size:14px;line-height:1.9}
.hero-buttons{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;gap:25px;padding:14px 17px;font-size:10px;font-weight:600;transition:background .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button-dark{background:var(--ink);color:var(--white)}
.button-dark:hover{background:var(--green)}
.button-dark span{font-size:16px;color:#d7b09e}
.text-link{font-size:11px;border-bottom:1px solid var(--line-dark);padding:0 0 5px;transition:color .2s}
.text-link span{margin-left:8px;color:var(--rust)}
.hero-aside{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:24px}
.portrait-mark{height:250px;background:var(--moss);position:relative;border:1px solid #c8d1c0;display:grid;place-items:center;overflow:hidden}
.mark-frame{position:relative;width:166px;height:166px;border:1px solid rgba(56,89,77,.53);display:grid;place-items:center;transform:rotate(6deg)}
.mark-frame:before,.mark-frame:after{content:"";position:absolute;border:1px solid rgba(56,89,77,.37);border-radius:50%;width:220px;height:90px;transform:rotate(40deg)}
.mark-frame:after{width:100px;height:220px;transform:rotate(-38deg)}
.mark-s{font:400 93px/.8 var(--serif);color:var(--green);z-index:1;letter-spacing:-.1em}
.mark-s span{color:var(--rust);font:400 60px var(--serif)}
.mark-corner{position:absolute;width:7px;height:7px;background:var(--rust);z-index:2}
.corner-a{top:-4px;left:-4px}.corner-b{top:-4px;right:-4px}.corner-c{bottom:-4px;left:-4px}.corner-d{bottom:-4px;right:-4px}
.mark-caption{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%) rotate(-6deg);font:8px var(--mono);letter-spacing:.13em;color:var(--green);white-space:nowrap}
.mark-note{position:absolute;right:14px;top:13px;font:8px/1.7 var(--mono);color:var(--green);text-align:right}
.intro-copy{display:grid;grid-template-columns:1fr;gap:8px}
.intro-copy p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}
.intro-copy strong{color:var(--ink);font-weight:600}
.hero-bottom{border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;flex-wrap:wrap;padding:16px 0;color:var(--muted);font:9px var(--mono);letter-spacing:.04em}
.hero-bottom b{color:var(--rust);font-weight:400}
.hero-bottom-end{margin-left:auto}
.quick-facts{background:var(--ink);color:var(--paper);padding:24px 0}
.facts-grid{display:grid;grid-template-columns:1.15fr .8fr .85fr .9fr auto;align-items:center;gap:30px}
.fact-intro p{margin:8px 0 0;font:19px/1.15 var(--serif);color:#f0eee5}
.fact-intro .small-label{color:#b4beb1;font-size:8px}
.fact{display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--line-dark);padding-left:20px}
.fact-number{font:40px/.9 var(--serif);letter-spacing:-.06em;color:#e8a58d}
.fact-label{font:8px var(--mono);letter-spacing:.07em;color:#b9c2b9;line-height:1.5}
.fact-folio{border-left:1px solid var(--line-dark);padding-left:20px;font:8px/1.7 var(--mono);letter-spacing:.08em;color:#b9c2b9}
.fact-folio span{display:block;color:#e8a58d;font-size:17px;margin-top:5px}
.section{padding-top:112px;padding-bottom:110px}
.section-head{display:grid;grid-template-columns:1fr minmax(235px,.52fr);gap:50px;align-items:end;margin-bottom:45px}
.section-index{display:inline-block;color:var(--rust);margin-bottom:21px}
.section-head h2,.credentials-col h2,.skills-block h2{font-size:clamp(46px,5.4vw,70px);line-height:.96;letter-spacing:-.075em;font-weight:500;margin:0}
.section-head h2 em{color:var(--green)}
.section-intro{font-size:12px;line-height:1.9;color:var(--muted);max-width:365px;margin:0 0 6px auto}
.project-list{border-top:1px solid var(--ink)}
.project{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:0;border-bottom:1px solid var(--line);padding:23px 0}
.project-visual{min-height:270px;position:relative;overflow:hidden;margin-right:35px}
.visual-num{position:absolute;top:13px;left:15px;font:9px var(--mono);color:var(--muted);z-index:2}
.project-content{padding:10px 0 13px;display:flex;flex-direction:column;align-items:flex-start}
.project-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;font:8px var(--mono);letter-spacing:.07em;color:var(--muted);text-transform:uppercase}
.project-meta span:last-child{white-space:nowrap;color:var(--rust)}
.project h3{font:500 clamp(27px,3vw,38px)/1.08 var(--serif);letter-spacing:-.04em;margin:18px 0 12px}
.project-summary{font-size:13px;line-height:1.75;margin:0;max-width:650px}
.project-detail{font-size:11px;line-height:1.85;color:var(--muted);margin:9px 0 0;max-width:650px}
.project-footer{width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:22px;flex-wrap:wrap}
.stack{display:flex;gap:6px;flex-wrap:wrap;max-width:510px}
.stack span{font:8px var(--mono);letter-spacing:.015em;border:1px solid var(--line);padding:6px 8px;color:var(--ink-soft)}
.project-link{flex-shrink:0;display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid var(--rust);padding-bottom:5px;font-size:10px;font-weight:600;transition:color .2s}
.project-link span{font-size:15px;color:var(--rust)}
.project-link:hover{color:var(--rust-dark)}
.muted-link{border-bottom:1px dashed var(--line-dark);color:var(--muted);font-weight:500}
.muted-link:hover{color:var(--muted)}
/* Hand-built typographic project illustrations */
.cattle-visual{background:#dbe5ce;border:1px solid #ccd6bf;display:flex;align-items:center;justify-content:center}
.cattle-visual:before{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(56,89,77,.5);border-radius:50%}
.cattle-visual:after{content:"";position:absolute;width:255px;height:105px;border:1px solid rgba(189,88,61,.55);border-radius:50%;transform:rotate(-35deg)}
.cattle-label{position:relative;z-index:1;font:600 clamp(44px,5vw,70px)/.78 var(--sans);letter-spacing:-.09em;color:var(--green);text-align:center}
.cattle-label i{font:italic 500 .72em var(--serif);color:var(--rust)}
.cattle-stamp{position:absolute;bottom:18px;right:18px;text-align:right;font:8px/1.6 var(--mono);letter-spacing:.09em;color:var(--green)}
.visual-baseline{position:absolute;bottom:38px;left:18px;width:34px;height:2px;background:var(--rust)}
.drone-visual{background:#e5e0d4;border:1px solid #d8d1c3}
.drone-visual:before{content:"";position:absolute;inset:24px 28px;background-image:linear-gradient(rgba(32,43,40,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(32,43,40,.12) 1px,transparent 1px);background-size:22px 22px}
.flight-path{position:absolute;width:62%;height:58%;top:22%;left:17%;border:1px dashed var(--green);border-right-color:transparent;border-radius:50%;transform:rotate(-24deg)}
.drone-crosshair{position:absolute;left:52%;top:46%;width:75px;height:75px;border:1px solid var(--rust);border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center}
.drone-crosshair:before,.drone-crosshair:after{content:"";position:absolute;background:var(--rust)}
.drone-crosshair:before{height:1px;width:104px}.drone-crosshair:after{width:1px;height:104px}
.drone-crosshair span{height:27px;width:27px;border:1px solid var(--green);border-radius:50%;background:#e5e0d4;z-index:1}
.drone-crosshair i{position:absolute;top:-3px;right:10px;width:6px;height:6px;background:var(--rust);z-index:2}
.drone-coordinate{position:absolute;font:8px/1.6 var(--mono);color:var(--green)}
.coord-a{top:48px;right:12px}.coord-b{bottom:38px;left:17px;color:var(--rust)}
.flight-caption{position:absolute;right:15px;bottom:15px;text-align:right;font:8px/1.6 var(--mono);color:var(--muted)}
.nexus-visual{background:#e8ded4;border:1px solid #ddcfc3;display:grid;place-items:center}
.nexus-paper{position:relative;width:72%;height:65%;background:#f7f3eb;border:1px solid #cdbeb0;padding:17px 18px;box-shadow:8px 8px 0 rgba(142,62,44,.1)}
.nexus-overline,.nexus-foot{font:7px var(--mono);letter-spacing:.07em;color:var(--muted)}
.nexus-paper strong{display:block;font:600 42px/.95 var(--sans);letter-spacing:-.1em;margin-top:8px;color:var(--green)}
.nexus-diagram{display:flex;align-items:center;justify-content:space-around;position:relative;height:65px;margin-top:3px}
.nexus-diagram:before{content:"";position:absolute;left:16%;right:16%;top:50%;height:1px;background:var(--rust)}
.nexus-diagram i{display:block;width:10px;height:10px;border:1px solid var(--green);border-radius:50%;background:#f7f3eb;z-index:1}
.nexus-diagram i:nth-child(2),.nexus-diagram i:nth-child(4){border-color:var(--rust)}
.nexus-diagram b{position:absolute;width:28px;height:28px;border:1px solid var(--rust);transform:rotate(45deg);left:calc(50% - 14px);background:#f7f3eb}
.nexus-foot{display:block;position:absolute;bottom:12px;left:18px;font-size:6px}
.nexus-side-note{position:absolute;bottom:15px;right:16px;font:7px/1.5 var(--mono);color:var(--rust);text-align:right}
.valam-visual{background:#dce4d3;border:1px solid #c8d4be}
.field-map{position:absolute;inset:28px 28px 35px;overflow:hidden;border:1px solid rgba(56,89,77,.55);background:repeating-linear-gradient(31deg,transparent 0 19px,rgba(56,89,77,.18) 20px 21px)}
.field-map:before{content:"";position:absolute;inset:-22px 17%;border:1px solid rgba(56,89,77,.55);transform:rotate(22deg)}
.field-map:after{content:"";position:absolute;inset:15% -10%;border:1px dashed rgba(189,88,61,.7);transform:rotate(-21deg)}
.field-line{position:absolute;left:20%;right:13%;height:1px;background:rgba(56,89,77,.5);transform:rotate(-17deg);z-index:1}
.field-line:nth-child(1){top:23%}.field-line:nth-child(2){top:42%;left:10%}.field-line:nth-child(3){top:62%;right:24%}.field-line:nth-child(4){top:78%;left:5%}
.field-pin{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--rust);border:1px solid #f2f0e8;z-index:2}
.pin-a{top:23%;left:24%}.pin-b{top:48%;right:27%}.pin-c{bottom:24%;left:46%}
.field-tag{position:absolute;right:15px;top:16px;background:#f2f0e8;padding:8px;font:7px/1.6 var(--mono);color:var(--green)}
.field-legend{position:absolute;bottom:12px;left:14px;font:6px var(--mono);color:var(--green);letter-spacing:.02em}
.field-legend i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--rust);margin:0 4px 0 6px}
.docgen-visual{background:#e3e3d8;border:1px solid #cecec1;display:grid;place-items:center}
.doc-window{width:77%;height:67%;background:#faf9f4;border:1px solid #c7c9bd;box-shadow:7px 7px 0 rgba(32,43,40,.08)}
.window-bar{height:25px;display:flex;align-items:center;gap:4px;padding:0 9px;background:#e9e9df;border-bottom:1px solid #d5d5ca}
.window-bar i{width:5px;height:5px;border:1px solid #777f75;border-radius:50%}
.window-bar span{margin-left:auto;font:6px var(--mono);letter-spacing:.06em;color:var(--muted)}
.doc-body{padding:13px 15px;position:relative}
.doc-symbol{font:500 25px var(--sans);letter-spacing:-.1em;color:var(--green);margin-bottom:12px}
.doc-symbol span{color:var(--rust)}
.doc-line{height:3px;width:60%;background:#d2d4c9;margin:7px 0}
.doc-line.wide{width:84%;background:#87978b}.doc-line.mid{width:72%}
.doc-rule{height:1px;background:#cfd2c6;margin:16px 0 11px}
.doc-pill{display:inline-block;background:#dbe5d5;color:var(--green);padding:5px 7px;font:6px var(--mono);letter-spacing:.04em}
.docgen-note{position:absolute;right:13px;bottom:13px;text-align:right;font:7px/1.6 var(--mono);color:var(--rust)}
.additional-heading{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:0;padding:30px 0 5px;align-items:start}
.additional-heading .section-index{margin:0}
.additional-heading p{font:italic 18px/1.4 var(--serif);color:var(--muted);margin:0}
.project-galen,.project-analysis{padding-top:25px;padding-bottom:25px}
.galen-visual{background:#e1e5e3;border:1px solid #ccd2cf;display:flex;align-items:center;justify-content:center;gap:20px}
.galen-box{width:94px;height:105px;border:1px solid var(--green);display:grid;place-items:center;font:500 55px var(--serif);color:var(--green);position:relative;background:#eef0e9}
.galen-box:after{content:"PHARMACY / STOCK";position:absolute;bottom:-21px;font:6px var(--mono);white-space:nowrap;color:var(--muted)}
.galen-box span{color:var(--rust)}
.galen-lines{display:flex;flex-direction:column;gap:10px;width:60px}
.galen-lines i{height:5px;background:#b5c2b8;width:100%}.galen-lines i:nth-child(2){width:77%;background:#d5aa99}.galen-lines i:nth-child(3){width:88%}.galen-lines i:nth-child(4){width:60%}
.galen-bottom{position:absolute;right:12px;top:13px;font:7px var(--mono);color:var(--muted)}
.analysis-visual{background:#e7dfcf;border:1px solid #d9ceba;padding:48px 20px 30px}
.analysis-title{font:500 26px/.88 var(--sans);letter-spacing:-.075em;color:var(--ink);margin-top:13px}
.analysis-title em{font:italic 400 24px var(--serif);color:var(--rust)}
.analysis-chart{position:absolute;left:23px;right:23px;bottom:32px;height:83px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid rgba(32,43,40,.5);border-left:1px solid rgba(32,43,40,.5);padding:0 6px}
.analysis-chart:before,.analysis-chart:after{content:"";position:absolute;left:0;right:0;border-top:1px dashed rgba(32,43,40,.22)}.analysis-chart:before{top:33%}.analysis-chart:after{top:66%}
.analysis-chart i{height:var(--h);background:var(--green);width:10%;position:relative;z-index:1}.analysis-chart i:nth-child(2n){background:var(--rust)}
.analysis-note{position:absolute;right:13px;bottom:12px;font:6px var(--mono);letter-spacing:.06em;color:var(--muted)}
.work-footnote{font:9px/1.8 var(--mono);color:var(--muted);padding:16px 0 0;margin:0}.asterisk{color:var(--rust);font-size:15px}
.experience-section{background:var(--paper-deep);padding:100px 0 95px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.compact-head{margin-bottom:30px}
.timeline{border-top:1px solid var(--ink)}
.timeline-entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:36px;padding:28px 0;border-bottom:1px solid var(--line)}
.timeline-date{font:9px/1.8 var(--mono);letter-spacing:.02em;color:var(--rust)}
.timeline-date span{display:block;color:var(--muted);font-size:8px}
.timeline-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap}
.timeline-heading h3{font:500 25px var(--serif);letter-spacing:-.035em;margin:0}
.timeline-heading>span{font:8px var(--mono);letter-spacing:.08em;color:var(--green)}
.timeline-main p{font-size:12px;line-height:1.85;color:var(--muted);max-width:820px;margin:12px 0}
.experience-tags{font:8px/1.8 var(--mono);color:var(--green);letter-spacing:.015em}
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:8%;align-items:start}
.education-card{background:var(--moss);border:1px solid #cbd4c3;padding:27px 29px;position:relative;min-height:300px}
.education-card:after{content:"";position:absolute;right:24px;top:24px;width:13px;height:13px;border:1px solid var(--rust);transform:rotate(45deg)}
.edu-dates{margin-top:34px;font:9px var(--mono);color:var(--rust)}
.education-card h3{font:500 29px/1.08 var(--serif);max-width:300px;letter-spacing:-.03em;margin:10px 0}
.education-card>p{font-size:11px;color:var(--muted);line-height:1.75;margin:5px 0}
.education-card .edu-degree{color:var(--ink);max-width:310px;margin-top:15px}
.edu-result{border-top:1px solid #bfccbb;margin-top:24px;padding-top:14px;display:flex;align-items:baseline;gap:10px}
.edu-result strong{font:500 36px var(--serif);color:var(--green)}
.edu-result span{font:8px var(--mono);letter-spacing:.1em;color:var(--muted)}
.about-details{display:flex;flex-direction:column;gap:28px}
.detail-block{border-top:1px solid var(--line);padding-top:15px}
.detail-block p{font-size:12px;line-height:1.9;color:var(--muted);margin:10px 0 0}
.subtle-note{font-size:10px;color:#899188}
.interest-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.interest-list span{font:8px var(--mono);border:1px solid var(--line);padding:7px 9px;color:var(--ink-soft)}
.credentials-section{background:#e8e5dc;border-block:1px solid var(--line);padding:86px 0 95px}
.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}
.credentials-col h2,.skills-block h2{font:500 clamp(38px,4vw,53px)/.99 var(--serif);letter-spacing:-.055em;margin:0 0 35px}
.credential-list{border-top:1px solid var(--line-dark)}
.credential{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}
.credential-date{font:8px/1.7 var(--mono);color:var(--rust)}
.credential h3{font-size:13px;font-weight:600;line-height:1.5;margin:0}
.credential p{font-size:10px;color:var(--muted);line-height:1.7;margin:3px 0 0}
.skills-block{border-top:1px solid var(--line);margin-top:85px;padding-top:30px;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}
.skills-block .section-index{margin-bottom:15px}
.skills-block h2{margin:0}
.skills-groups{border-top:1px solid var(--line-dark)}
.skills-row{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.skills-row h3{font:9px var(--mono);color:var(--green);margin:0;padding-top:3px}
.skills-row p{font-size:11px;line-height:1.85;color:var(--muted);margin:0}
.contact-section{background:var(--green);color:var(--paper);padding:84px 0 0}
.contact-wrap{display:grid;grid-template-columns:1fr .9fr;gap:70px 9%}
.contact-heading .section-index{color:#e5a28b}
.contact-overline{font:8px var(--mono);letter-spacing:.1em;color:#c2d0c4;margin:18px 0}
.contact-heading h2{font:500 clamp(50px,6.8vw,83px)/.97 var(--sans);letter-spacing:-.08em;margin:0}
.contact-heading h2 em{color:#eaa28a}
.contact-intro{max-width:400px;color:#d0d8d0;font-size:12px;line-height:1.9;margin-top:25px}
.contact-panel{align-self:center;border-top:1px solid rgba(242,240,232,.38)}
.contact-row{display:grid;grid-template-columns:82px minmax(0,1fr) 18px;gap:12px;align-items:center;padding:19px 0;border-bottom:1px solid rgba(242,240,232,.3);transition:padding .2s,color .2s}
.contact-row:hover{padding-left:6px;color:#eaa28a}
.contact-type{font:8px var(--mono);letter-spacing:.08em;color:#c1d0c4}
.contact-value{font-size:12px;overflow-wrap:anywhere}
.contact-arrow{font-size:16px;color:#eaa28a;text-align:right}
.site-footer{grid-column:1/-1;margin-top:75px;border-top:1px solid rgba(242,240,232,.35);padding:21px 0 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-wordmark .wordmark-mark{border-color:var(--paper);color:var(--paper)}
.footer-wordmark small{color:#c1d0c4}
.site-footer>span,.site-footer>a:last-of-type,.site-footer>span:last-child{font:8px var(--mono);letter-spacing:.05em;color:#c1d0c4}
.site-footer>a:last-of-type:hover{color:#eaa28a}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
@media(min-width:1400px){.hero h1{font-size:115px}}
@media(max-width:900px){
  .wrap{width:calc(100% - 48px)}.hero-grid{grid-template-columns:1.1fr .8fr;gap:5%;padding:65px 0 45px}.hero h1{font-size:clamp(60px,8vw,84px)}.facts-grid{grid-template-columns:1.1fr .7fr .8fr .8fr}.fact-folio{display:none}
  .project{grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr)}.project-visual{margin-right:24px;min-height:250px}.project h3{font-size:31px}.stack{max-width:100%}.project-footer{align-items:flex-start;flex-direction:column}.contact-wrap{gap:50px 6%}
}
@media(max-width:680px){
  .wrap{width:calc(100% - 36px)}.site-header{min-height:73px}.wordmark{font-size:9px}.wordmark-mark{width:34px;height:34px}
  .menu-toggle{width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:1px solid var(--line);cursor:pointer}.menu-toggle span{width:15px;height:1px;background:var(--ink);display:block}
  .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:18px;z-index:20;flex-direction:column;align-items:stretch;gap:0}.site-header{position:relative}.main-nav.open{display:flex}.main-nav>a{padding:13px 0;border-bottom:1px solid var(--line)}.main-nav .nav-contact{margin:12px 0 0;padding:13px}
  .hero-topline{font-size:8px}.hero-grid{grid-template-columns:1fr;gap:34px;padding:56px 0 35px}.hero h1{font-size:clamp(61px,13.5vw,88px)}.hero-note{font-size:13px}.hero-aside{display:grid;grid-template-columns:.85fr 1fr;gap:18px;align-items:center}.portrait-mark{height:170px}.mark-frame{width:105px;height:105px}.mark-s{font-size:64px}.mark-s span{font-size:39px}.mark-frame:before{width:145px;height:60px}.mark-frame:after{height:145px;width:62px}.mark-caption{bottom:-20px;font-size:6px}.mark-note{font-size:6px}.intro-copy p{font-size:11px}
  .hero-bottom{gap:10px 22px;font-size:8px}.hero-bottom-end{margin-left:0}.facts-grid{grid-template-columns:1fr 1fr;gap:20px 16px}.fact-intro{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid var(--line-dark)}.fact{padding-left:14px}.fact-number{font-size:35px}
  .section{padding-top:76px;padding-bottom:75px}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.section-head h2{font-size:54px}.section-intro{margin:0;max-width:520px}
  .project{grid-template-columns:1fr;padding:17px 0 23px;gap:19px}.project-visual{margin-right:0;min-height:240px}.project-content{padding:0}.project h3{font-size:34px;margin-top:14px}.project-summary{font-size:12px}.project-detail{font-size:11px}.project-footer{flex-direction:row;align-items:flex-end}.stack{max-width:calc(100% - 4px)}.additional-heading{grid-template-columns:1fr;gap:12px;padding-top:28px}.additional-heading p{font-size:17px}.project-galen,.project-analysis{padding:18px 0 22px}
  .experience-section{padding:75px 0}.timeline-entry{grid-template-columns:1fr;gap:8px;padding:22px 0}.timeline-date span{display:inline;margin-left:9px}.timeline-heading{align-items:flex-start;flex-direction:column;gap:4px}.timeline-heading h3{font-size:24px}.timeline-main p{font-size:11px}
  .about-grid{grid-template-columns:1fr;gap:28px}.education-card{min-height:280px}.credentials-section{padding:70px 0}.credentials-grid{grid-template-columns:1fr;gap:50px}.credentials-col h2{font-size:48px;margin-bottom:24px}.skills-block{margin-top:58px;grid-template-columns:1fr;gap:22px}.skills-block h2{font-size:42px}.skills-row{grid-template-columns:1fr;gap:7px}
  .contact-section{padding-top:68px}.contact-wrap{grid-template-columns:1fr;gap:32px}.contact-heading h2{font-size:clamp(53px,11vw,70px)}.contact-panel{width:100%}.contact-row{grid-template-columns:67px minmax(0,1fr) 17px;padding:16px 0}.contact-value{font-size:11px}.site-footer{margin-top:45px;gap:17px}.site-footer>span:first-of-type{order:3}.footer-wordmark{order:1}.site-footer>a:last-of-type{order:2}.site-footer>span:last-child{order:4}
}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}.hero h1{font-size:58px}.hero-aside{grid-template-columns:1fr}.portrait-mark{height:185px}.intro-copy p{max-width:340px}.project-meta{font-size:7px}.project-footer{align-items:flex-start;flex-direction:column}.stack span{font-size:7px}.contact-heading h2{font-size:49px}}
