:root{--ink:#35251f;--tan:#e5cbbf;--tan-light:#ecded6;--umber:#5b3027;--muted:#7a6359;--subtitle-green:#5f7b47;--line:rgba(53,37,31,0.28);--card-bg:rgba(231,215,204,0.62);--card-bg-hover:rgba(238,225,216,0.82);--tag-bg:rgba(222,213,200,0.58);--summary:#625b52;--visual-border:rgba(53,37,31,0.16);--visual-bg:#d7c6aa;--mountain-image:url(/images/geology-mountain-cross-section-light-new.webp);--mountain-filter:none;--mountain-left:29%;--mountain-bottom:-7vh;--mountain-position:right bottom;--mountain-size:92% auto}:root[data-theme=dark]{--ink:#dfd4bd;--tan:#1f1e18;--tan-light:#25231d;--umber:#6f8a63;--muted:#c7b99e;--subtitle-green:#8da86b;--line:#4a4d43;--card-bg:rgba(37,35,29,0.78);--card-bg-hover:rgba(45,43,35,0.9);--tag-bg:rgba(30,29,23,0.78);--summary:#c9bda5;--visual-border:#4a4d43;--visual-bg:#25231d;--mountain-image:url(/images/geology-mountain-cross-section-dark-new.webp);--mountain-filter:none;--mountain-left:29%;--mountain-bottom:-8.8vh;--mountain-position:right 0.05vw bottom;--mountain-size:92% auto}*{box-sizing:border-box}html{overflow:hidden;background:var(--tan)}body,html{width:100%;height:100%}body{min-width:320px;display:grid;place-items:center;margin:0;overflow:hidden;color:var(--ink);background:var(--tan);font-family:Avenir Next,Avenir,Trebuchet MS,Arial,sans-serif}a{color:inherit;text-decoration:none}dd,dl,h1,h2,h3,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}a:focus-visible{outline:2px solid var(--umber);outline-offset:4px}.error-page{min-height:100svh;display:grid;align-content:center;grid-gap:14px;gap:14px;padding:32px;color:var(--ink);background:var(--tan)}.error-page h1{max-width:620px;font-size:clamp(44px,7vw,92px);line-height:.9;letter-spacing:-.06em}.error-page p{max-width:520px;font-size:16px;line-height:1.4}.error-label{color:var(--umber);font-family:Courier New,monospace;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.error-page a,.error-page button{width:-moz-fit-content;width:fit-content;padding:9px 12px;border:1px solid var(--ink);color:inherit;background:transparent;font:inherit;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}::selection{color:var(--tan-light);background:var(--umber)}.portfolio{position:relative;width:min(100vw,1920px);max-width:1920px;height:min(100svh,1248px);max-height:1248px;display:grid;grid-template-columns:minmax(380px,38%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"header work" "hero work" "footer work";overflow:hidden;container-name:portfolio;container-type:size;margin:auto}:root[data-theme=dark] .portrait-panel{border-color:transparent;background:transparent}:root[data-theme=dark] .identity-text span:first-child,:root[data-theme=dark] .work-header h1{font-weight:400;-webkit-text-stroke:0}:root[data-theme=dark] .about-copy p{color:var(--ink)}.portfolio:before{z-index:0;left:var(--mountain-left);right:-1vw;bottom:var(--mountain-bottom);height:min(520px,55vh);background-image:var(--mountain-image);background-repeat:no-repeat;background-position:var(--mountain-position);background-size:var(--mountain-size);filter:var(--mountain-filter)}.portfolio:after,.portfolio:before{position:absolute;content:"";pointer-events:none}.portfolio:after{z-index:3;top:18px;bottom:4vh;left:38%;width:1px;background:var(--ink)}.portfolio>*{position:relative;z-index:1}.theme-toggle{position:absolute;z-index:5;top:7px;right:48px;width:92px;height:44px;padding:11px 21px;border:0;color:var(--ink);background:transparent;cursor:pointer}.theme-toggle:before{position:absolute;top:11px;right:21px;left:21px;height:22px;border:1px solid var(--line);border-radius:999px;content:""}.theme-icon{position:absolute;top:50%;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-50%)}.theme-icon-sun{left:0}.theme-icon-moon{right:0;fill:currentColor;stroke:none}.theme-thumb{position:relative;z-index:1;display:block;width:20px;height:20px;border-radius:50%;background:currentColor;transform:translateX(0);transition:transform .18s ease}:root[data-theme=dark] .theme-thumb{transform:translateX(30px)}.site-header{grid-area:header;padding:18px 22px 4px}.identity,.site-header{display:flex;align-items:center;min-width:0}.identity-text{min-width:0;display:grid;grid-gap:4px;gap:4px;text-transform:uppercase}.identity-text span:first-child{font-size:clamp(25px,1.9cqw,44px);font-weight:450;-webkit-text-stroke:.16px currentColor;line-height:.9;letter-spacing:.14em}.identity-text span:last-child{color:var(--subtitle-green);font-size:clamp(13px,.9cqw,17px);font-weight:400;line-height:1;letter-spacing:.26em}.hero{grid-area:hero;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;grid-gap:0;gap:0;padding:0 22px 8px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--line) transparent;scrollbar-width:thin}.hero::-webkit-scrollbar{width:6px}.hero::-webkit-scrollbar-thumb{border-radius:999px;background:var(--line)}.bio-panel{padding:7px 4px 20px;transform:translateY(14px)}.bio-list{display:grid;grid-gap:9px;gap:9px;max-width:270px;margin-inline:auto}.bio-list li{display:grid;grid-template-columns:10px minmax(0,1fr);grid-column-gap:10px;column-gap:10px;align-items:start;font-size:15px;line-height:1.22}.bio-list li:before{width:5px;height:5px;margin-top:.48em;justify-self:center;background:var(--ink);border-radius:50%;content:""}.profile-list{width:min(100%,390px);margin-left:min(34px,5vw);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:24px 66px;gap:24px 66px;align-items:start}.cv-link,.profile-list li{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:9px;gap:9px;align-items:center;font-size:clamp(13px,.9cqw,17px);line-height:1.22}.profile-list li:nth-child(2n){transform:translateX(34px)}.profile-list svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cv-link,.profile-list strong{text-transform:uppercase;font-size:clamp(11px,.76cqw,14px);font-weight:500;letter-spacing:.1em}.profile-list strong{display:block;margin-bottom:7px}.cv-link{grid-template-columns:22px auto;width:-moz-fit-content;width:fit-content;padding:0;border:1px solid transparent;border-radius:4px}.portrait-panel{position:relative;aspect-ratio:1665/793;margin:10px -22px 0;overflow:hidden;border-block:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--tan-light)}.portrait-panel img{position:absolute;inset:0 -4px 0 0;width:calc(100% + 4px);height:100%;object-fit:cover;object-position:center}.about-copy{min-height:0;display:grid;grid-gap:clamp(14px,1.8vh,20px);gap:clamp(14px,1.8vh,20px);padding:10px 6px 5px;overflow:hidden;align-content:start;background:transparent}@container portfolio (min-width: 1600px){.profile-list{width:min(100%,500px);margin-left:42px}}@container portfolio (min-width: 1850px){.profile-list{width:min(100%,560px);margin-left:50px}}.about-copy h2{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line);text-transform:uppercase;font-size:clamp(12px,.83cqw,16px);font-weight:500;line-height:1;letter-spacing:.12em}.about-copy h2 svg{width:25px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.about-copy p{position:relative;max-width:540px;margin-top:0;padding-left:12px;color:#241914;background:transparent;font-size:clamp(13px,.9cqw,17px);line-height:1.2}.about-copy p:before{position:absolute;left:0;content:"*"}.work-panel{position:relative;grid-area:work;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;padding:18px 17px 0 51px;overflow:hidden}.work-header{justify-content:space-between;min-width:0;gap:16px;padding-bottom:6px}.work-header,.work-header h1{display:flex;align-items:center}.work-header h1{position:relative;gap:11px;text-transform:uppercase;font-size:clamp(23px,1.65cqw,40px);font-weight:550;-webkit-text-stroke:.1px currentColor;line-height:.9;letter-spacing:.14em}.folder-mark{flex:0 0 auto;width:29px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.work-header p{margin-top:6px;letter-spacing:.12em}.site-footer,.work-header p{text-transform:uppercase;font-size:clamp(11px,.76cqw,14px);font-weight:800}.site-footer{grid-area:footer;display:grid;grid-template-columns:1fr;min-width:0;grid-gap:8px;gap:8px;padding:0 22px 14px;letter-spacing:.08em}.site-footer>div{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;padding-top:9px;border-top:1px solid var(--line)}.site-footer span{color:var(--muted)}.site-footer a:hover{color:var(--umber)}.project-groups{--project-card-feature-height:clamp(210px,29cqh,344px);--project-card-compact-height:clamp(174px,23cqh,276px);--project-card-compact-offset:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:18px;gap:18px;padding:6px 0 28px;overflow:hidden}.project-group{min-height:0;display:block}.project-list{min-height:0;display:grid;grid-gap:16px;gap:16px;align-content:start;overflow:hidden}.project-list li{min-height:0}.project-row{position:relative;width:100%;height:var(--project-card-feature-height);min-height:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(70px,1fr) auto auto;grid-gap:7px 10px;gap:7px 10px;padding:6px 8px 8px;overflow:hidden;border:1px solid var(--line);border-radius:6px;color:inherit;background:var(--card-bg);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.project-group:first-child .project-list li:nth-child(3) .project-row{height:var(--project-card-compact-height);margin-top:var(--project-card-compact-offset)}.project-row:focus-visible,.project-row:hover{color:var(--umber);background:var(--card-bg-hover)}.project-row:focus-visible{outline:2px solid var(--umber);outline-offset:3px}.project-visual{grid-column:1/-1;min-height:0;border:1px solid var(--visual-border);border-radius:4px;background-color:var(--visual-bg);background-position:50%;background-size:cover}.project-visual-geological-map-eastern-italy{background-image:url(/images/projects/geological-map-eastern-italy-card.webp)}.project-visual-global-ai-compute-capacity{background-image:url(/images/projects/global-ai-compute-capacity-card-focused.webp)}.project-visual-otago-gold-exploration{background-image:url(/images/projects/otago-core-cross-section-card.webp);background-color:#fff;background-position:center 45%}.project-visual-land-cover-terrain-jaeren{background-image:url(/images/projects/land-cover-terrain-jaeren-card.webp)}.project-visual-terrain-analysis-stavanger{background-image:url(/images/projects/deadliest-earthquakes-2000-2020-card.webp);background-color:#fff}.project-visual-python-data-cleaning-gis-layers{background-image:url(/images/projects/python-data-cleaning-gis-layers-card.webp)}.project-row-coming-soon{cursor:default}.project-row-coming-soon .project-visual{position:relative;display:grid;place-items:center;overflow:hidden;background-image:url(/images/projects/coming-soon-card.svg)}.project-coming-soon{padding:7px 11px 6px;border:1px solid rgba(53,37,31,.42);border-radius:999px;color:#35251f;background:rgba(236,222,214,.82);box-shadow:0 8px 28px rgba(53,37,31,.12);font-size:clamp(11px,.76vw,13px);font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=dark] .project-visual-geological-map-eastern-italy{background-image:url(/images/projects/geological-map-eastern-italy-card-dark.webp)}:root[data-theme=dark] .project-visual-global-ai-compute-capacity{background-image:url(/images/projects/global-ai-compute-capacity-card-focused-dark-earth.webp)}:root[data-theme=dark] .project-visual-otago-gold-exploration{background-image:url(/images/projects/otago-core-cross-section-card.webp);background-color:#fff}:root[data-theme=dark] .project-visual-land-cover-terrain-jaeren{background-image:url(/images/projects/land-cover-terrain-jaeren-card-dark.webp)}:root[data-theme=dark] .project-visual-terrain-analysis-stavanger{background-image:url(/images/projects/deadliest-earthquakes-2000-2020-card.webp)}:root[data-theme=dark] .project-visual-python-data-cleaning-gis-layers{background-image:url(/images/projects/python-data-cleaning-gis-layers-card-dark.webp)}:root[data-theme=dark] .project-row-coming-soon .project-visual{background-image:url(/images/projects/coming-soon-card-dark.svg)}:root[data-theme=dark] .project-coming-soon{border-color:rgba(223,212,189,.38);color:#dfd4bd;background:rgba(31,30,24,.8);box-shadow:0 8px 28px rgba(0,0,0,.24)}.project-number,.project-tools{color:var(--muted);font-size:clamp(10px,.69cqw,13px);text-transform:uppercase}.project-number{display:none}.project-name{grid-column:1/-1;min-width:0;font-family:inherit}.project-name strong{display:block;font-size:clamp(14px,.94cqw,20px);font-weight:500;line-height:1.05;letter-spacing:0;transition:transform .65s cubic-bezier(.22,1,.36,1)}.project-summary{display:block;max-width:520px;margin-top:3px;color:var(--summary);font-size:clamp(11px,.72cqw,14px);line-height:1.22}.project-tools{grid-column:1;align-self:end;display:flex;flex-wrap:wrap;gap:4px}.project-tools span{padding:2px 6px;border:1px solid var(--line);border-radius:3px;background:var(--tag-bg)}.project-arrow{grid-column:2;align-self:end;justify-self:end;color:var(--umber);font-size:16px;transition:transform .65s cubic-bezier(.22,1,.36,1)}.project-row:focus-visible .project-name strong,.project-row:hover .project-name strong{transform:translateX(2px)}.project-row-coming-soon:hover{color:inherit;background:var(--card-bg)}.project-row-coming-soon:hover .project-name strong{transform:none}.project-row:focus-visible .project-arrow,.project-row:hover .project-arrow{transform:translate(2px,-2px)}.project-detail{min-height:0;grid-area:work;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow-x:hidden;overflow-y:auto;color:var(--ink);background:var(--tan-light);border-bottom:1px solid}.detail-footer,.detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;font-family:Courier New,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.detail-header{border-bottom:1px solid var(--line)}.detail-header button{display:flex;align-items:center;gap:9px;padding:0;border:0;color:inherit;background:transparent;font:inherit;text-transform:uppercase;cursor:pointer}.detail-header button span{font:20px/.5 Arial,sans-serif;transition:transform .22s ease}.detail-header button:hover span{transform:rotate(90deg)}.detail-title{position:relative;padding:clamp(28px,6vh,68px) 24px;border-bottom:1px solid var(--line)}.detail-title>p{color:var(--umber);font-family:Courier New,monospace;font-size:clamp(11px,.7cqw,13px);text-transform:uppercase}.detail-title h1{max-width:1050px;margin-top:14px;font-size:clamp(60px,8.7vw,140px);line-height:.84;letter-spacing:-.07em}.status{position:absolute;top:22px;right:24px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:clamp(11px,.66cqw,12px);text-transform:uppercase;letter-spacing:.06em}.detail-body{min-height:0;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}.detail-statement{display:flex;flex-direction:column;padding:24px;border-right:1px solid var(--line)}.detail-statement>p{max-width:520px;font-size:clamp(19px,1.9vw,30px);line-height:1.22;letter-spacing:-.025em}.detail-statement ul{display:flex;flex-wrap:wrap;gap:5px;margin:auto 0 0;padding:18px 0 0;list-style:none}.detail-statement li{padding:5px 7px;border:1px solid var(--line);font-family:Courier New,monospace;font-size:clamp(11px,.66cqw,12px);text-transform:uppercase}.detail-facts{min-height:0;display:grid;grid-template-rows:repeat(3,1fr)}.detail-facts div{display:grid;grid-template-columns:88px minmax(0,680px);grid-gap:20px;gap:20px;align-content:center;padding:16px 24px}.detail-facts div+div{border-top:1px solid var(--line)}.detail-facts dt{color:var(--umber);font-family:Courier New,monospace;font-size:clamp(11px,.66cqw,12px);text-transform:uppercase}.detail-facts dd{font-size:clamp(14px,1.05cqw,18px);line-height:1.4}.detail-footer{border-top:1px solid var(--line);color:var(--muted)}.project-route{position:fixed;z-index:6;inset:0;width:100vw;height:100svh;overflow:clip;overscroll-behavior:none}.project-backdrop{position:absolute;z-index:6;inset:0;width:100%;padding:0;border:0;background:rgba(31,24,20,.14);-webkit-backdrop-filter:blur(7px) saturate(.78);backdrop-filter:blur(7px) saturate(.78);cursor:w-resize;animation:backdrop-in .42s ease both}:root[data-theme=dark] .project-backdrop{background:rgba(6,7,5,.26)}.project-drawer{position:absolute;z-index:7;top:0;right:0;width:85vw;min-width:640px;height:100%;overflow:hidden;border-left:1px solid var(--ink);background:var(--tan-light);box-shadow:-24px 0 70px rgba(53,37,31,.2);container-name:project-drawer;container-type:size;animation:drawer-in .62s cubic-bezier(.22,1,.36,1) both}:root[data-theme=dark] .project-drawer{box-shadow:-24px 0 70px rgba(0,0,0,.42)}.project-drawer.is-closing{animation:drawer-out .36s cubic-bezier(.64,0,.78,0) both}.project-backdrop.is-closing{animation:backdrop-out .36s ease both}.project-drawer .project-detail{grid-area:auto;width:min(100%,1920px);height:100%;margin-inline:auto}.project-drawer .detail-title h1{font-size:clamp(50px,6.2vw,108px)}@keyframes drawer-in{0%{transform:translateX(100%)}}@keyframes drawer-out{to{transform:translateX(100%)}}@keyframes backdrop-in{0%{background:transparent;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}}@keyframes backdrop-out{to{background:transparent;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}}.project-detail-static-map,.static-map-project{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.static-map-project{min-height:0;display:grid;background:var(--tan-light)}.static-map-project-hero{padding:clamp(15px,2vh,22px) 28px 17px;border-bottom:1px solid var(--ink)}.static-map-project-hero>p{color:var(--umber);font-family:Courier New,monospace;font-size:clamp(11px,.74cqw,14px);text-transform:uppercase;letter-spacing:.08em}.static-map-project-hero h1{max-width:1160px;margin-top:0;font-size:clamp(34px,3.6cqw,68px);line-height:.9;letter-spacing:-.055em}.static-map-framework{min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr);border-bottom:1px solid var(--ink)}.static-map-information-panel{min-height:0;display:flex;flex-direction:column;padding:22px 20px;overflow-x:hidden;overflow-y:auto;border-right:1px solid var(--line);background:color-mix(in srgb,var(--tan) 38%,transparent);scrollbar-color:var(--line) transparent;scrollbar-width:thin}.static-map-information-panel::-webkit-scrollbar{width:6px}.static-map-information-panel::-webkit-scrollbar-thumb{border-radius:999px;background:var(--line)}.static-map-information-panel section+section{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.static-map-information-panel h2{font-size:clamp(17px,1.08cqw,21px);font-weight:500;letter-spacing:-.025em}.static-map-information-panel p{margin-top:9px;color:var(--ink);font-size:clamp(13.5px,.84cqw,16px);line-height:1.55;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.static-map-download{display:grid;grid-template-columns:15px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;margin-top:auto;padding-top:28px;color:var(--ink);font-size:clamp(12.5px,.78cqw,15px);font-weight:600;line-height:1.4}.static-map-download>span:first-child{color:var(--subtitle-green);font-size:15px;line-height:1}.static-map-download>span:last-child{text-decoration:underline;text-underline-offset:3px}.static-map-download:focus-visible,.static-map-download:hover{color:var(--subtitle-green)}.static-map-workspace{min-width:0;min-height:0;display:grid;place-items:center;margin:0;padding:clamp(18px,2vw,30px) clamp(18px,2vw,30px) clamp(32px,3.5vh,44px);overflow:hidden}.static-map-workspace img{width:min(100%,940px);height:auto;max-height:min(74vh,700px);display:block;object-fit:contain;border:1px solid var(--line);background:#fff;box-shadow:0 18px 46px rgba(53,37,31,.12)}@container project-drawer (min-width: 1450px) and (min-height: 950px){.static-map-framework{grid-template-columns:320px minmax(0,1fr)}.static-map-workspace img{width:min(100%,1150px);max-height:min(76cqh,820px)}}@container project-drawer (min-width: 1900px) and (min-height: 1100px){.static-map-framework{grid-template-columns:360px minmax(0,1fr)}.static-map-workspace img{width:min(100%,1300px);max-height:min(78cqh,900px)}}@media (max-width:900px){.project-detail-static-map{overflow-y:auto}.static-map-project{overflow:visible}.static-map-framework{grid-template-areas:"workspace" "information";grid-template-columns:minmax(0,1fr)}.static-map-information-panel{grid-area:information;padding:18px 16px;overflow:visible;border-top:1px solid var(--line);border-right:0}.static-map-information-panel p{font-size:14px}.static-map-workspace{grid-area:workspace;padding:22px}.static-map-workspace img{width:100%;max-height:760px}}@media (max-width:620px){.static-map-project-hero{padding:18px 20px}.static-map-project-hero h1{font-size:clamp(32px,9vw,46px)}.static-map-workspace{padding:14px 12px}}.project-detail-geology-case-study{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.geology-case-study{min-height:0;display:grid;grid-template-columns:clamp(320px,27vw,385px) minmax(0,1fr);overflow:hidden;background:var(--tan-light)}.geology-case-study-narrative{min-height:0;padding:clamp(18px,2.4vh,24px) clamp(24px,2.4vw,32px) clamp(16px,2.2vh,22px);overflow-x:hidden;overflow-y:auto;border-right:1px solid var(--line)}.geology-case-study-introduction h1{margin-top:0;font-size:clamp(38px,3.4cqw,56px);line-height:.96;letter-spacing:-.055em}.geology-case-study-subtitle{max-width:460px;margin-top:clamp(12px,1.8vh,16px);color:var(--subtitle-green);font-size:clamp(15px,1.35cqw,21px);line-height:1.45}.geology-case-study-overview{margin-top:clamp(18px,2.7vh,24px);color:var(--ink);font-size:clamp(14px,.9cqw,16.5px);line-height:1.65;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.geology-case-study-details{margin-top:clamp(13px,1.8vh,16px);padding-top:clamp(13px,1.8vh,16px);border-top:1px solid var(--line)}.geology-case-study-details p{color:var(--ink);font-size:clamp(13.5px,.86cqw,16px);line-height:1.62;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.geology-case-study-details p+p{margin-top:10px}.geology-case-study-visuals{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) clamp(292px,35vh,332px);grid-gap:10px;gap:10px;padding:12px 20px 0;overflow:hidden;background:color-mix(in srgb,var(--tan-light) 82%,var(--tan))}.geology-case-study-primary-visuals{min-width:0;min-height:0;width:min(100%,819px);display:grid;grid-template-columns:minmax(0,.5635fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-self:end;justify-self:center}.geology-visual-card{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) 66px;margin:0;padding:0}.geology-interpretation-image,.geology-location-image{min-height:0;position:relative;display:grid;place-items:center;overflow:hidden}.geology-location-image{aspect-ratio:545/668;align-self:start;border:1px solid color-mix(in srgb,var(--umber) 30%,var(--line));border-radius:5px;background:#79cfe1}.geology-interpretation-image,.geology-location-image{width:100%;height:auto;max-height:none;box-shadow:0 7px 20px rgba(53,37,31,.12)}.geology-interpretation-image{max-width:none;aspect-ratio:973/672;place-self:start stretch;border:1px solid color-mix(in srgb,var(--umber) 30%,var(--line));border-radius:5px;background:#fff}.geology-location-image img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.08);transform-origin:50% 57%}.geology-interpretation-image img{width:100%;height:100%;display:block;object-fit:contain}.geology-location-image>span{position:absolute;right:3px;bottom:3px;padding:2px 3px;border-radius:2px;color:#27221f;background:rgba(255,255,255,.8);font:7px/1.1 Arial,sans-serif}.geology-visual-card>figcaption{height:66px;padding:9px 1px 0;color:var(--muted);font-size:clamp(13px,.78cqw,15px);line-height:1.4}.geology-visual-card>figcaption strong{display:block;margin-bottom:3px;color:var(--ink);font-size:clamp(12px,.74cqw,14px);font-weight:750;letter-spacing:.045em;text-transform:uppercase}.geology-visual-card>figcaption span{display:block;text-align:justify;text-justify:inter-word}@container project-drawer (min-width: 1450px) and (min-height: 950px){.geology-case-study{grid-template-columns:clamp(420px,31cqw,500px) minmax(0,1fr)}.geology-case-study-visuals{grid-template-rows:minmax(0,clamp(478px,43cqh,518px)) clamp(350px,38cqh,440px);align-content:center}.geology-case-study-primary-visuals{width:min(100%,971px)}.geology-visual-card{grid-template-rows:minmax(0,1fr) 58px}.geology-visual-card>figcaption{height:58px}}@container project-drawer (min-width: 1900px) and (min-height: 1100px){.geology-case-study-primary-visuals{width:min(100%,1061px)}}@media (max-width:1000px){.project-detail-geology-case-study{overflow-y:auto}.geology-case-study{display:block;overflow:visible}.geology-case-study-narrative{overflow:visible;border-right:0;border-bottom:1px solid var(--line)}.geology-case-study-introduction h1{font-size:clamp(38px,7vw,56px)}.geology-case-study-visuals{display:block;overflow:visible;padding:18px}.geology-case-study-primary-visuals{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}.geology-visual-card{min-height:520px}.geology-location-image{width:min(100%,460px);height:auto;max-height:none;aspect-ratio:545/668;place-self:start center}.geology-interpretation-card{min-height:480px}.geology-case-study-details p,.geology-case-study-overview,.geology-visual-card>figcaption span{text-align:left}}@media (max-width:620px){.geology-case-study-narrative{padding-inline:20px}.geology-case-study-visuals{padding:12px}.geology-visual-card{min-height:440px}.geology-interpretation-card{min-height:368px}}@media (max-height:800px) and (min-width:1001px){.geology-case-study-visuals{grid-template-rows:minmax(0,1fr) 302px}}.core-samples-slideshow{grid-template-rows:minmax(0,1fr)}.core-samples-slideshow,.core-slide{min-width:0;min-height:0;display:grid;overflow:hidden}.core-slide{grid-template-rows:auto auto;align-content:start;justify-items:center;margin:0}.core-slide-image{width:min(100%,1200px);height:auto;min-height:0;aspect-ratio:2077/660;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--umber) 30%,var(--line));border-radius:5px;background:#191511;box-shadow:0 7px 20px rgba(53,37,31,.12)}.core-slide-image .core-slide-photo{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s}.core-slide-image .core-slide-photo.is-active{opacity:1;visibility:visible;transition:opacity .18s ease,visibility 0s linear}.core-slide-counter{position:absolute;bottom:10px;left:10px;z-index:1;padding:5px 7px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;background:rgba(35,29,24,.72);font:10px/1 Courier New,monospace}.core-slide-control{position:absolute;top:50%;z-index:2;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:transparent;box-shadow:none;cursor:pointer;transform:translateY(-50%);transition:background-color .16s ease,transform .16s ease}.core-slide-control:before{position:absolute;inset:7px;border-radius:50%;background:rgba(35,29,24,.72);box-shadow:0 5px 18px rgba(20,15,12,.24);content:"";transition:background-color .16s ease}.core-slide-control svg{position:relative;z-index:1;width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.core-slide-control:hover{transform:translateY(-50%) scale(1.04)}.core-slide-control:hover:before{background:rgba(35,29,24,.92)}.core-slide-control:focus-visible{outline:2px solid var(--subtitle-green);outline-offset:2px}.core-slide-control.is-previous{left:12px}.core-slide-control.is-next{right:12px}.core-slide figcaption{width:100%;height:34px;display:flex;align-items:center;justify-content:center;padding:7px 8px 1px;text-align:center}.core-slide h3 strong{font-weight:750;letter-spacing:.045em;text-transform:uppercase}.core-slide h3{width:min(540px,100%);display:grid;grid-template-columns:145px minmax(0,1fr);align-items:baseline;grid-gap:6px;gap:6px;font-size:clamp(13px,.78cqw,15px);font-weight:450;line-height:1.3;transform:translateX(22px)}.core-slide h3 strong{text-align:right;white-space:nowrap}.core-slide h3 span{text-align:left}@media (max-width:760px){.core-samples-slideshow{height:350px;margin-top:13px}.core-slide figcaption{height:46px}.core-slide h3{grid-template-columns:112px minmax(0,1fr);transform:none}}@media (prefers-reduced-motion:reduce){.core-slide-control,.core-slide-image .core-slide-photo{transition:none}}.project-detail:has(.map-project-scroll){grid-template-rows:auto minmax(0,1fr);overflow:hidden}.map-project-scroll{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow-x:hidden;overflow-y:hidden}.map-project-hero{position:relative;padding:clamp(14px,2vh,20px) 28px 15px;border-bottom:1px solid var(--ink)}.map-project-hero>div>p:first-child,.map-section-label{color:var(--umber);font-family:Courier New,monospace;font-size:clamp(11px,.74cqw,14px);text-transform:uppercase;letter-spacing:.08em}.map-project-hero h1{max-width:1160px;margin-top:0;font-size:clamp(34px,3.6cqw,68px);line-height:.9;letter-spacing:-.055em}.map-project-hero h1 span{display:inline-block;font-size:.36em;letter-spacing:-.03em;white-space:nowrap}.map-project-subtitle{margin-top:7px;color:var(--subtitle-green);font-size:clamp(15px,1.15cqw,21px);font-weight:500}.map-framework{display:grid;grid-template-columns:250px minmax(0,1fr) 185px;min-height:0;border-bottom:1px solid var(--ink)}.map-workspace{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,600px) auto;grid-gap:12px;gap:12px;align-content:center;padding:16px 18px 14px}.map-frame{--map-ocean:#acd6e8;position:relative;width:100%;height:100%;max-height:600px;align-self:center;min-height:0;overflow:hidden;border:1px solid var(--ink);background:var(--map-ocean)}@container project-drawer (min-width: 1450px) and (min-height: 950px){.map-framework{grid-template-columns:280px minmax(0,1fr) 200px}.map-workspace{grid-template-rows:minmax(0,clamp(600px,58cqh,720px)) auto}.map-frame{max-height:720px}}@container project-drawer (min-width: 1900px) and (min-height: 1100px){.map-framework{grid-template-columns:300px minmax(0,1fr) 220px}}.map-information-panel,.map-layer-panel{min-height:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--tan) 38%,transparent)}.map-information-panel{padding:16px 20px;overflow-x:hidden;overflow-y:auto;border-right:1px solid var(--line);scrollbar-color:var(--line) transparent;scrollbar-width:thin}.map-information-panel::-webkit-scrollbar{width:6px}.map-information-panel::-webkit-scrollbar-thumb{border-radius:999px;background:var(--line)}.map-layer-panel{padding:18px 16px;border-left:1px solid var(--line)}.map-sidebar-section+.map-sidebar-section{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.map-horizontal-legend h2,.map-layer-panel h2,.map-sidebar-section h2{margin-top:6px;font-size:clamp(17px,1.08cqw,21px);font-weight:500;letter-spacing:-.025em}.map-sidebar-section>p:not(.map-section-label){margin-top:7px;color:var(--ink);font-size:clamp(13px,.82cqw,16px);line-height:1.45;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.map-sidebar-data{display:grid;grid-gap:7px;gap:7px}.map-sidebar-data>p:not(.map-section-label){margin-top:0;font-size:clamp(12.5px,.78cqw,15px)}.map-sidebar-data .map-section-label{font-size:clamp(13px,.82cqw,16px);font-weight:700}.map-horizontal-legend{display:grid;grid-gap:8px;gap:8px}.map-legend-heading{display:flex;gap:18px;align-items:flex-end;justify-content:space-between}.map-legend-heading>p{max-width:330px;color:var(--muted);font-size:clamp(12px,.72cqw,14px);line-height:1.35;text-align:right}.map-horizontal-legend h2{margin-top:0}.map-horizontal-legend ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.map-horizontal-legend li{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:clamp(12px,.72cqw,14px);line-height:1.15;text-align:center}.map-horizontal-legend li:first-child{text-align:left}.map-horizontal-legend li:last-child{text-align:right}.map-legend-swatch{width:100%;height:13px;border:1px solid rgba(3,5,26,.35);border-left-width:0}.map-horizontal-legend li:first-child .map-legend-swatch{border-left-width:1px;border-radius:3px 0 0 3px}.map-horizontal-legend li:last-child .map-legend-swatch{border-radius:0 3px 3px 0}.map-metric-context{height:clamp(165px,18cqh,210px);min-height:clamp(165px,18cqh,210px);padding:16px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:clamp(12.5px,.78cqw,15px);line-height:1.42}.map-layer-controls{margin-top:clamp(76px,13vh,128px)}.map-metric-context>span{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.map-metric-context small{display:block;margin-bottom:7px;color:var(--umber);font-family:Courier New,monospace;font-size:clamp(11.5px,.74cqw,14px);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.map-metric-context strong{display:block;margin-bottom:5px;color:var(--ink);font-size:clamp(13px,.86cqw,16px);font-weight:600}.map-view-selector{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.map-view-selector button{min-height:54px;display:grid;grid-template-columns:17px minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--card-bg);font:inherit;font-size:clamp(12px,.76cqw,14px);text-align:left;cursor:pointer}.map-view-selector button:focus-visible,.map-view-selector button:hover{border-color:var(--umber)}.map-view-selector button:focus-visible{outline:2px solid var(--umber);outline-offset:2px}.map-view-selector button.is-active{border-color:var(--ink);background:color-mix(in srgb,var(--tan) 58%,var(--card-bg))}.map-view-selector small{display:block;margin-bottom:3px;color:var(--muted);font-size:clamp(11px,.66cqw,12.5px);text-transform:uppercase;letter-spacing:.09em}:root:not([data-theme=dark]) .map-metric-context,:root:not([data-theme=dark]) .map-view-selector small{color:#5f4940}.map-button-indicator{width:17px;height:17px;display:grid;place-items:center;border:1px solid;border-radius:2px}.map-view-selector button.is-active .map-button-indicator{color:var(--tan-light);background:var(--ink)}.map-view-selector button.is-active .map-button-indicator:after{content:"✓";font-family:Arial,sans-serif;font-size:12px;line-height:1}.map-layer-links{display:grid;grid-gap:9px;gap:9px;margin-top:auto;padding-bottom:4px}.map-layer-links a{display:grid;grid-template-columns:14px minmax(0,1fr);grid-gap:7px;gap:7px;align-items:start;color:var(--ink);font-size:clamp(12.5px,.78cqw,15px);font-weight:600;line-height:1.4}.map-layer-links a>span:first-child{color:var(--subtitle-green);font-size:15px;line-height:1}.map-layer-links a>span:last-child{text-decoration:underline;text-underline-offset:3px}.map-layer-links a:focus-visible,.map-layer-links a:hover{color:var(--subtitle-green)}.map-framework{--map-class-1:#faebdd;--map-class-2:#f69e75;--map-class-3:#e8403e;--map-class-4:#a21a5b;--map-class-5:#4c1d4b;--map-class-6:#03051a;--map-hover-stroke:#25285f}:root[data-theme=dark] .map-framework{--map-class-1:#f2efe8;--map-class-2:#b8c59f;--map-class-3:#d0a866;--map-class-4:#a86452;--map-class-5:#67465d;--map-class-6:#20212a;--map-hover-stroke:#f4efdc}:root[data-theme=dark] .map-frame{--map-ocean:#66716c}.map-color-1{--map-class-color:var(--map-class-1)}.map-color-2{--map-class-color:var(--map-class-2)}.map-color-3{--map-class-color:var(--map-class-3)}.map-color-4{--map-class-color:var(--map-class-4)}.map-color-5{--map-class-color:var(--map-class-5)}.map-color-6{--map-class-color:var(--map-class-6)}.map-legend-swatch{background-color:var(--map-class-color)}.native-map-country{fill:var(--map-class-color)}:root[data-theme=dark] .map-legend-swatch{border-color:rgba(223,212,189,.44)}.native-map{position:relative;width:100%;height:100%;overflow:hidden;background:var(--map-ocean);touch-action:pan-y pinch-zoom}.native-map svg{display:block;width:100%;height:100%;cursor:default}.native-map svg:active{cursor:-webkit-grabbing;cursor:grabbing}.native-map-ocean{fill:var(--map-ocean)}.native-map-country{stroke:#232323;stroke-width:.45px;stroke-linejoin:round;cursor:pointer;transition:fill .16s ease}.native-map-hover-outline{fill:none;stroke:var(--map-hover-stroke);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.native-map-message{width:100%;height:100%;display:grid;place-items:center;color:#25285f;font-family:Courier New,monospace;font-size:clamp(12px,.74cqw,14px);text-transform:uppercase;letter-spacing:.08em}.native-map-tooltip{position:absolute;z-index:2;width:min(248px,calc(100% - 24px));display:grid;overflow:hidden;border:1px solid rgba(37,40,95,.26);border-radius:10px;color:#17172d;background:rgba(250,248,244,.97);box-shadow:0 18px 45px rgba(37,40,95,.18),0 3px 10px rgba(37,40,95,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(5px) scale(.985);transition:opacity .13s ease-out,transform .17s cubic-bezier(.22,1,.36,1),visibility 0s linear .17s;pointer-events:none}.native-map-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition-delay:0s}.native-map-tooltip-header{display:grid;grid-gap:3px;gap:3px;padding:12px 14px 11px 16px;border-bottom:1px solid rgba(37,40,95,.12)}.native-map-tooltip-header p,.native-map-tooltip-metric>span{color:#696678;font-family:Courier New,monospace;font-size:clamp(11.5px,.7cqw,13px);font-weight:700;line-height:1.25;text-transform:uppercase;letter-spacing:.09em}.native-map-tooltip-header strong{color:#17172d;font-size:clamp(16px,1cqw,19px);font-weight:650;line-height:1.15;letter-spacing:-.02em}.native-map-tooltip-metric{display:grid;grid-gap:7px;gap:7px;padding:10px 14px 12px 16px}.native-map-tooltip-metric div{display:flex;gap:7px;align-items:baseline}.native-map-tooltip-metric strong{color:#25285f;font-size:clamp(18px,1.15cqw,22px);font-weight:700;line-height:1;letter-spacing:-.02em}.native-map-tooltip-metric small{color:#696678;font-size:clamp(12px,.72cqw,14px);line-height:1.2}.native-map-instructions{position:absolute;right:8px;bottom:7px;padding:4px 6px;color:#25285f;background:rgba(250,248,244,.8);font-family:Courier New,monospace;font-size:clamp(10.5px,.66cqw,12px);text-transform:uppercase;letter-spacing:.04em}.native-map-instructions-touch{display:none}@media (hover:none),(pointer:coarse){.native-map-instructions-pointer{display:none}.native-map-instructions-touch{display:inline}}:root[data-theme=dark] .native-map-country{stroke:#4f5b56}:root[data-theme=dark] .native-map-tooltip{border-color:rgba(223,212,189,.24);color:#dfd4bd;background:rgba(37,35,29,.97);box-shadow:0 20px 50px rgba(0,0,0,.42),0 3px 12px rgba(0,0,0,.3)}:root[data-theme=dark] .native-map-tooltip-header{border-bottom-color:rgba(223,212,189,.14)}:root[data-theme=dark] .native-map-tooltip-header p,:root[data-theme=dark] .native-map-tooltip-metric small,:root[data-theme=dark] .native-map-tooltip-metric>span{color:#a99f8a}:root[data-theme=dark] .native-map-tooltip-header strong{color:#dfd4bd}:root[data-theme=dark] .native-map-tooltip-metric strong{color:#d0a866}:root[data-theme=dark] .native-map-message{color:#dfd4bd}:root[data-theme=dark] .native-map-instructions{color:#c7b99e;background:rgba(37,35,29,.84)}@media (prefers-reduced-motion:reduce){.native-map-tooltip,.native-map-tooltip.is-visible{transition:none}}@media (max-width:1200px){.map-framework{grid-template-columns:minmax(210px,.74fr) minmax(0,1.8fr) 170px}.map-information-panel{padding-inline:15px}.map-sidebar-section+.map-sidebar-section{margin-top:13px;padding-top:12px}.map-sidebar-section>p:not(.map-section-label){font-size:12px;line-height:1.4}.map-layer-panel{padding-inline:13px}.map-legend-heading>p{max-width:230px}}@media (max-width:900px){.map-project-scroll{display:block;overflow-y:auto}.map-framework{grid-template-areas:"workspace layers" "information information";grid-template-columns:minmax(0,1fr) 180px}.map-information-panel{grid-area:information;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;border-top:1px solid var(--line);border-right:0}.map-sidebar-section+.map-sidebar-section{margin-top:0;padding-top:0;border-top:0}.map-sidebar-data{grid-column:1/-1}.map-workspace{grid-area:workspace;min-height:520px}.map-layer-panel{grid-area:layers}}@media (max-width:620px){.map-project-hero h1{max-width:80%;font-size:clamp(32px,9vw,46px)}.map-framework{grid-template-areas:"workspace" "layers" "information";grid-template-columns:minmax(0,1fr)}.map-workspace{grid-template-rows:380px auto;align-content:start;min-height:0;padding:14px 12px}.map-frame{height:380px;max-height:none}.map-horizontal-legend li{font-size:10px}.map-legend-heading>p{display:none}.map-layer-panel{border-top:1px solid var(--line);border-left:0}.map-metric-context{height:130px;min-height:130px}.map-view-selector{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.map-layer-controls{margin-top:16px}.map-view-selector button{grid-template-columns:15px minmax(0,1fr);gap:6px;padding-inline:7px}.map-button-indicator{width:15px;height:15px}.map-information-panel{grid-template-columns:minmax(0,1fr)}.map-sidebar-data{grid-column:auto}.map-sidebar-section+.map-sidebar-section{padding-top:14px;border-top:1px solid var(--line)}}@media (max-height:850px) and (min-width:901px){.map-information-panel,.map-layer-panel{padding-block:10px}.map-sidebar-section+.map-sidebar-section{margin-top:10px;padding-top:9px}.map-layer-controls{margin-top:clamp(34px,6vh,52px)}}@media (max-height:720px) and (min-width:901px){.map-project-hero{padding-block:12px}.map-project-hero h1{margin-top:5px;font-size:clamp(30px,3vw,48px)}.map-project-subtitle{margin-top:6px;font-size:13px}.map-information-panel,.map-layer-panel{padding-block:5px}.map-sidebar-section+.map-sidebar-section{margin-top:7px;padding-top:6px}.map-sidebar-section>p:not(.map-section-label){font-size:11.5px;line-height:1.36}.map-sidebar-data{gap:4px}.map-metric-context{padding-block:12px}.map-layer-controls{margin-top:20px}.map-view-selector{gap:6px;margin-top:16px}.map-view-selector button{min-height:47px}.map-workspace{gap:9px;padding-block:12px}.map-horizontal-legend{gap:5px}.map-legend-heading>p{display:none}}@media (min-width:1051px){.project-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1180px) and (min-width:1051px){.portfolio{grid-template-columns:minmax(360px,39%) minmax(0,1fr)}.portfolio:after{left:39%}.project-groups{gap:12px}.work-panel{padding-left:34px}}@media (max-width:1050px){body,html{display:block;height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}body:has(.project-route){height:100svh;min-height:100svh;overflow:hidden}.portfolio{width:100%;height:auto;max-height:none;min-height:100svh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:"header" "hero" "work" "footer";overflow:visible;container-type:inline-size}.portfolio:after{display:none}.portfolio:before{left:0;right:0;bottom:0;height:min(360px,34vh);background-size:100% auto}.site-header{padding:22px 24px 14px}.identity-text span:first-child{font-size:clamp(30px,5.2cqw,42px)}.hero{grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr);grid-template-rows:auto auto;grid-template-areas:"profile portrait" "notes notes";gap:22px 24px;padding:0 24px 28px;overflow:visible}.bio-panel{grid-area:profile;align-self:center;padding:10px 0;transform:none}.profile-list{width:100%;margin:0;gap:24px 30px}.profile-list li:nth-child(2n){transform:none}.portrait-panel{grid-area:portrait;align-self:center;margin:0;border:1px solid var(--ink);border-radius:5px}.about-copy{grid-area:notes;width:min(100%,780px);gap:9px;padding:0;overflow:visible}.about-copy h2{margin-bottom:8px}.about-copy p{max-width:760px;font-size:clamp(14px,1.75cqw,16px);line-height:1.35}.work-panel{padding:28px 24px 12px;overflow:visible}.work-header{padding-bottom:14px}.work-header h1{font-size:clamp(28px,4.8cqw,40px)}.project-groups{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 0 24px}.project-groups,.project-list{gap:18px;overflow:visible}.project-group:first-child .project-list li:nth-child(3) .project-row,.project-row{height:clamp(220px,30vw,286px);margin-top:0;grid-template-rows:minmax(108px,1fr) auto auto}.project-name strong{font-size:clamp(16px,2cqw,19px)}.project-summary{font-size:clamp(12px,1.55cqw,14px)}.project-tools{font-size:clamp(10px,1.35cqw,12px)}.site-footer{padding:8px 24px 20px;font-size:12px}}@media (max-width:680px){.theme-toggle{top:7px;right:12px;width:88px;min-height:44px}.site-header{padding:20px 18px 12px}.identity-text span:first-child{padding-right:94px;font-size:clamp(27px,8cqw,36px)}.identity-text span:last-child{font-size:13px}.hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"profile" "portrait" "notes";grid-gap:18px;gap:18px;padding:0 18px 22px}.profile-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.cv-link,.profile-list li{font-size:13px}.cv-link,.profile-list strong{font-size:11px}.portrait-panel{margin-inline:-18px;border-inline:0;border-radius:0}.about-copy{gap:12px}.about-copy h2{font-size:13px}.about-copy p{font-size:14px;line-height:1.42}.work-panel{padding:24px 18px 10px}.work-header h1{font-size:clamp(28px,8cqw,36px)}.project-groups{grid-template-columns:minmax(0,1fr);gap:18px}.project-group:first-child .project-list li:nth-child(3) .project-row,.project-row{height:290px;grid-template-rows:minmax(118px,1fr) auto auto}.project-name strong{font-size:17px}.project-summary{font-size:13px;line-height:1.32}.project-tools{font-size:11px}.site-footer{padding:8px 18px 18px}.site-footer>div{grid-template-columns:1fr auto}}@media (max-width:430px){.profile-list{grid-template-columns:minmax(0,1fr)}}@media (max-width:1050px){.project-drawer{width:calc(100vw - 24px);min-width:0}}@media (max-width:680px){.project-drawer{width:calc(100vw - 12px)}.detail-title{padding-block:22px}.detail-header button{min-height:44px;padding-inline:4px}.detail-title h1{max-width:86%;font-size:clamp(40px,12vw,60px)}.detail-body{grid-template-columns:1fr}.detail-statement{border-right:0;border-bottom:1px solid var(--line)}.detail-statement ul{margin-top:20px}}@media (max-height:720px) and (min-width:1051px){.project-groups{--project-card-feature-height:clamp(150px,21cqh,184px);--project-card-compact-height:clamp(126px,17cqh,154px)}.hero{gap:12px}.portrait-panel{min-height:150px}.project-row{grid-template-rows:minmax(50px,1fr) auto auto}.detail-title{padding-block:18px}.detail-title h1{font-size:clamp(38px,8vh,62px)}.detail-footer,.detail-header{padding-block:11px}}@media (prefers-reduced-motion:reduce){.detail-header button span,.project-arrow,.project-backdrop,.project-backdrop.is-closing,.project-drawer,.project-drawer.is-closing,.project-name strong{transition:none;animation:none}}