@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500&display=swap');
:root{--ink:#221d21;--paper:#f6f2eb;--cream:#f5e9e2;--rose:#e8b5a8;--muted:#6b6260}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #e8b5a8;outline-offset:6px}.home{color:var(--cream);background:#191923;font-family:'Cormorant Garamond',Georgia,serif;min-height:100vh;overflow-x:hidden}.artwork{position:absolute;inset:0 0 auto;height:100%;pointer-events:none;z-index:0;background:#191923 url('mars-continuous-desktop.webp') center center / 100% 100% no-repeat}
.sky-image,.sky-glow,.orbital,.terrain{display:none}
.masthead{position:relative;z-index:4;max-width:1440px;margin:auto;padding:34px clamp(28px,6vw,95px);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font:500 12px 'Inter',sans-serif;letter-spacing:.35em;white-space:nowrap}.masthead nav{display:flex;gap:clamp(15px,2.8vw,38px);align-items:center}.masthead nav a{font:400 10px 'Inter',sans-serif;letter-spacing:.09em;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid transparent}.masthead nav a[aria-current]{border-color:var(--rose)}.masthead nav a:hover,.text-link:hover{color:var(--rose)}.reading-rail{position:absolute;z-index:2;left:clamp(20px,5.5vw,82px);top:105px;bottom:105px;width:1px;pointer-events:none}.reading-rail .line{position:absolute;inset:0;background:linear-gradient(var(--rose),rgba(232,181,168,.4));opacity:.75}.marker{position:absolute;left:-6px;width:13px;height:13px;border:1px solid var(--rose);border-radius:50%;background:#241e2a}.marker:after{content:'';position:absolute;inset:3px;background:var(--rose);border-radius:50%}.marker.first{top:29%}.marker.second{top:57%}.marker.third{top:91%}.homepage{position:relative;z-index:1;max-width:1440px;margin:auto;padding:0 clamp(38px,9.5vw,155px)}.copy{max-width:560px}.opening{min-height:770px;padding:80px 0 80px;display:flex;align-items:flex-start}.opening h1{font-size:clamp(57px,6.6vw,96px);line-height:.92;letter-spacing:-.03em;font-weight:400;margin:0 0 28px}.opening p{font-size:clamp(18px,1.65vw,22px);line-height:1.22;margin:0 0 19px;max-width:520px}.text-link{display:inline-flex;gap:26px;align-items:center;font:400 11px 'Inter',sans-serif;letter-spacing:.22em;transition:color .2s;text-transform:uppercase}.opening .text-link{margin-top:21px}.text-link span{font-size:20px;letter-spacing:0}.interests{min-height:740px;padding:48px 0 125px}.eyebrow{font:400 11px 'Inter',sans-serif;letter-spacing:.28em;font-weight:400;margin:0}.interests-rule{height:1px;width:min(100%,390px);background:rgba(245,233,226,.6);margin:15px 0 32px}.interest{display:grid;grid-template-columns:60px 1fr;gap:16px;margin:0 0 34px}.interest-number{font-size:40px;line-height:1;color:var(--rose)}.interest h3{font-weight:400;font-size:clamp(25px,2.4vw,34px);line-height:1.05;margin:0 0 10px}.interest p{font-size:clamp(17px,1.55vw,20px);line-height:1.2;margin:0;max-width:475px}.contact{min-height:450px;display:flex;align-items:end;padding:85px 0 90px}.contact-inner{display:flex;justify-content:space-between;align-items:end;width:100%;gap:30px}.contact h2{font-size:clamp(40px,4.5vw,64px);font-weight:400;line-height:.95;margin:0}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:5px}.home-footer{position:relative;z-index:2;padding:15px clamp(38px,9.5vw,155px) 28px;font:10px 'Inter',sans-serif;letter-spacing:.13em;color:rgba(245,233,226,.65)}
/* Statement and repository: white-paper editorial pages, without illustrations */
.light{background:var(--paper);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif}.light .masthead{border-bottom:1px solid #d7d0c8}.light .masthead nav a[aria-current]{border-color:#a56c70}.light .masthead nav a:hover{color:#8b4b57}.page-shell{max-width:930px;margin:0 auto;padding:75px 35px 100px}.page-label{font:10px 'Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#665d5a}.page-shell h1{font-size:clamp(48px,6.5vw,88px);font-weight:400;letter-spacing:-.035em;line-height:.95;margin:28px 0 20px}.dek{font-size:clamp(22px,2.5vw,30px);font-style:italic;line-height:1.15;color:#655c58;max-width:650px}.rule{border:0;border-top:1px solid #bdb2a8;margin:42px 0}.essay{max-width:700px}.essay section{margin-bottom:54px}.essay h2{font:500 11px 'Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px}.essay p{font-size:21px;line-height:1.5;margin:0 0 18px}.page-footer{border-top:1px solid #d4cac0;padding-top:16px;text-align:right;margin-top:70px;font:10px 'Inter',sans-serif;letter-spacing:.18em;text-transform:uppercase}.repo-intro{font-size:24px;line-height:1.3;max-width:680px}.repo-list{margin-top:60px;border-top:1px solid #bbb0a7}.project{display:grid;grid-template-columns:50px 1fr 150px;gap:24px;border-bottom:1px solid #bbb0a7;padding:35px 0}.project .number{font:11px 'Inter',sans-serif;color:#8b6362}.project h2{font-size:37px;font-weight:400;margin:0 0 12px}.project p{font-size:21px;line-height:1.3;margin:0;max-width:550px}.project .meta{font:11px/1.8 'Inter',sans-serif;color:#766b67}.project .status{display:block;color:#985e63;margin-top:15px}.repo-note{font-size:18px;color:#766b67;margin-top:35px}
@media(min-width:1500px){.artwork{max-width:1900px;left:50%;transform:translateX(-50%);width:100%}}@media(max-width:800px){.masthead{padding:24px 28px;align-items:flex-start;flex-wrap:wrap}.masthead nav{gap:18px;flex-wrap:wrap}.masthead nav a{font-size:9px}.reading-rail{left:20px}.homepage{padding:0 42px 0 55px}.opening{min-height:730px;padding-top:75px}.opening h1{font-size:clamp(54px,10vw,75px)}.opening p{font-size:19px}.sky-image{width:100%;opacity:.22}.sky-glow{background:linear-gradient(90deg,rgba(23,25,35,.82),rgba(23,25,35,.45))}.terrain{height:30%;background-position:65% center}.interests{padding:65px 0 90px;min-height:700px}.contact{min-height:380px}.contact-inner{align-items:flex-start;flex-direction:column}.project{grid-template-columns:36px 1fr}.project .meta{grid-column:2}.page-shell{padding:60px 28px}}
@media(max-width:480px){.masthead{padding:22px 24px 12px}.brand{font-size:11px}.masthead nav{gap:13px}.masthead nav a{font-size:9px}.homepage{padding:0 25px 0 47px}.opening{min-height:760px;padding:70px 0 40px}.opening h1{font-size:clamp(50px,12vw,65px)}.opening p{font-size:18px;line-height:1.24}.interests{padding-top:65px;min-height:800px}.interest{grid-template-columns:42px 1fr;gap:8px;margin-bottom:35px}.interest-number{font-size:32px}.interest h3{font-size:27px}.interest p{font-size:18px}.contact{min-height:360px;padding:75px 0}.contact h2{font-size:42px}.reading-rail{left:18px;top:100px;bottom:90px}.terrain{height:27%;background-position:68% center}.home-footer{padding-left:47px}.essay p{font-size:20px}.project h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Dedicated high-resolution composition avoids stretching the desktop artwork on phones. */
@media(max-width:800px){.artwork{background-image:url('mars-continuous-mobile.webp');background-size:100% 100%;background-position:center center}}

/* One uninterrupted image behind the entire homepage, not separate section backgrounds. */
.home{position:relative;isolation:isolate}
.home .artwork{position:absolute;inset:0;width:100%;height:100%;z-index:-1;background-repeat:no-repeat;background-position:center top;background-size:100% 100%}
@media(min-width:1500px){.home .artwork{max-width:none;left:0;transform:none}}
@media(max-width:800px){.home .artwork{background-position:center top;background-size:100% 100%}}

/* Editorial contact page; no boxed links or buttons */
.contact-page{max-width:850px}.contact-form{display:flex;flex-direction:column;max-width:650px;gap:10px}.contact-form label{font:500 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.16em;margin-top:18px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #a99d96;border-radius:0;background:transparent;padding:13px 1px;color:var(--ink);font:22px/1.3 'Cormorant Garamond',Georgia,serif;outline-offset:4px}.contact-form textarea{resize:vertical;border:1px solid #c8bcb3;padding:14px}.contact-form button{background:none;border:0;padding:0;margin:25px 0 0;align-self:flex-start;cursor:pointer;color:var(--ink)}.form-note{font:12px/1.7 Inter,sans-serif;color:#736963;max-width:510px;margin-top:10px}

/* A distinct rocky foreground silhouette; the original panorama remains continuous behind it. */
.home .contact{position:relative;isolation:isolate}
.home .rock-reveal{position:absolute;z-index:0;pointer-events:none;left:50%;bottom:-2px;width:100vw;height:clamp(320px,39vw,600px);transform:translate(-50%,calc((1 - var(--reveal,0)) * 35px));background:url('mars-ridge-desktop.png') center bottom / 100% 100% no-repeat;opacity:1;will-change:transform}
.home .contact-inner{position:relative;z-index:1;text-shadow:0 2px 18px rgba(19,13,23,.55)}
@media(max-width:800px){.home .rock-reveal{height:clamp(300px,67vw,560px);background-image:url('mars-ridge-mobile.png')}}
@media(prefers-reduced-motion:reduce){.home .rock-reveal{transform:translateX(-50%);will-change:auto}}

/* Deeper foreground parallax: the original 4096px ridge is retained at full source resolution. */
.home .contact { overflow: visible; }
.home .rock-reveal {
  left: 50%;
  bottom: -24px;
  width: 124vw;
  max-width: none;
  height: clamp(560px, 57vw, 930px);
  background-size: 100% 100%;
  background-position: center bottom;
  transform: translate(-50%, calc(115px - var(--reveal, 0) * 190px));
  filter: drop-shadow(0 -16px 20px rgba(16, 13, 22, .12));
}
.home .contact-inner { z-index: 2; }
@media (max-width: 800px) {
  .home .rock-reveal {
    width: 145vw;
    height: clamp(520px, 110vw, 820px);
    transform: translate(-50%, calc(105px - var(--reveal, 0) * 160px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .home .rock-reveal { transform: translate(-50%, -35px); }
}

/* Exact-source foreground cut: the alpha boundary follows the rocky ridge,
   not the crater rim. Image pixel coordinates match the uninterrupted backdrop. */
.home .contact { isolation:auto; }
.home .rock-reveal {
  position:absolute;
  left:0; right:0; top:0; bottom:auto;
  width:100%; max-width:none;
  height:100%;
  background:none;
  transform:none;
  filter:none;
  opacity:0;
  pointer-events:none;
}
.home .artwork::after {
  content:"";
  position:absolute;
  inset:0;
  background-image:url('mars-ridge-aligned-desktop.webp');
  background-size:100% 27%;
  background-repeat:no-repeat;
  background-position:center bottom;
  transform:translateY(calc((1 - var(--ridge-progress, 0)) * 58px));
  will-change:transform;
  pointer-events:none;
}
.home .artwork { z-index:1; }
.home .homepage { z-index:2; }
@media(max-width:800px) {
 .home .artwork::after {background-image:url('mars-ridge-aligned-mobile.webp');}
}
@media(prefers-reduced-motion:reduce) {
 .home .artwork::after {transform:none;will-change:auto;}
}

/* Foreground above preceding content, but below contact text. */
.home .homepage{z-index:auto}
.home .opening,.home .interests{position:relative;z-index:2}
.home .contact{z-index:5}
.home .contact-inner{position:relative;z-index:6}
.home .ridge-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;background:url('mars-ridge-aligned-desktop.webp') center bottom / 100% 27% no-repeat;transform:translateY(calc((1 - var(--ridge-progress,0)) * 58px));will-change:transform}
.home .artwork::after{display:none}
@media(max-width:800px){.home .ridge-overlay{background-image:url('mars-ridge-aligned-mobile.webp')}}
@media(prefers-reduced-motion:reduce){.home .ridge-overlay{transform:none;will-change:auto}}

/* New matched-source illustrated panorama and separately masked rocky foregrounds. */
.home {position:relative; isolation:isolate;}
.home .artwork {position:absolute;inset:0;width:100%;height:100%;max-width:none;left:0;transform:none;z-index:-1;background:#312f52 url('mars-editorial-background.webp') center top / 100% 100% no-repeat;}
.home .artwork > *,.home .ridge-overlay,.home .rock-reveal,.home .artwork::after {display:none!important;}
.home .homepage {position:relative;z-index:2;}
.home .mars-foreground {position:absolute;inset:0;z-index:3;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;background-position:center top;will-change:transform;}
.home .mars-foreground-left {background-image:url('mars-foreground-left.png');transform:translate3d(0,calc((1 - var(--mars-scroll,0)) * 135px),0);}
.home .mars-foreground-right {background-image:url('mars-foreground-right.png');transform:translate3d(0,calc((1 - var(--mars-scroll,0)) * 185px),0);}
.home .home-footer {z-index:4;}
/* The foreground layers have the exact same image coordinate system as the backdrop. */
@media(max-width:800px){.home .artwork{background-image:url('mars-editorial-background.webp');background-size:100% 100%;}.home .mars-foreground{background-size:100% 100%;}}
@media(prefers-reduced-motion:reduce){.home .mars-foreground-left,.home .mars-foreground-right{transform:none;will-change:auto;}}

/* SINGLE RIDGE REVEAL — one mask from the exact source illustration.
   The foreground occupies the same full-page coordinates as the base artwork.
   Its motion begins only as the contact section approaches the viewport. */
.home { overflow-x:clip; background:#442c3b; }
.home .artwork { inset:0; height:100%; background-size:100% 100%; background-position:center top; }
.home .mars-foreground-left,.home .mars-foreground-right{display:none!important}
.home .mars-foreground-single{
 position:absolute;inset:0;z-index:3;pointer-events:none;
 background:url('mars-foreground-single.png') center top / 100% 100% no-repeat;
 transform:translate3d(0,calc((1 - var(--reveal-progress,0)) * 32px),0);
 opacity:calc(.65 + var(--reveal-progress,0) * .35);
 will-change:transform;
}
.home .opening,.home .interests{position:relative;z-index:2}
.home .contact{position:relative;z-index:4;isolation:isolate}
.home .contact-inner{position:relative;z-index:5}
.home .home-footer{z-index:5;background:transparent;padding-bottom:20px}
@media(max-width:800px){.home .mars-foreground-single{background-size:100% 100%;transform:translate3d(0,calc((1 - var(--reveal-progress,0)) * 18px),0)}}
@media(prefers-reduced-motion:reduce){.home .mars-foreground-single{transform:none;opacity:1;will-change:auto}}


/* 2026-10: Three independent depth planes, rather than a stretched full-page panorama. */
.home{background:#34385d;overflow-x:clip;isolation:isolate}
.home .artwork{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:-1!important;
 background:linear-gradient(158deg,#294c7b 0%,#5d4e79 18%,#b05c79 34%,#e76a70 47%,#ee6b58 57%,#783e55 82%,#39283c 100%)!important}
.home .homepage{z-index:1;overflow:visible}
.home .opening{position:relative;z-index:2;min-height:860px}
.home .interests{position:relative;z-index:3;min-height:900px;isolation:isolate}
.home .horizon-layer{position:absolute;z-index:-1;pointer-events:none;left:50%;top:-160px;
 width:100vw;height:calc(100% + 400px);transform:translateX(-50%) translateY(var(--horizon-shift,0px));
 background:url('mars-horizon-expanded.webp') center top / 100% 100% no-repeat}
.home .contact{position:relative;z-index:4;min-height:720px;isolation:isolate;align-items:flex-end;padding-bottom:115px}
.home .ridge-layer{position:absolute;z-index:-1;pointer-events:none;left:50%;bottom:-120px;
 width:100vw;height:calc(100% + 480px);transform:translateX(-50%) translateY(var(--ridge-shift,0px));
 background:url('mars-foreground-ridge.png') center bottom / 100% 100% no-repeat}
.home .contact-inner{position:relative;z-index:2;text-shadow:0 2px 24px rgba(24,16,30,.7)}
.home .home-footer{z-index:5;background:#39283c;min-height:60px}
.home .mars-foreground,.home .rock-reveal,.home .ridge-overlay{display:none!important}
@media(max-width:800px){
 .home .opening{min-height:820px}
 .home .interests{min-height:920px}
 .home .horizon-layer{top:-100px;height:calc(100% + 280px);width:160vw;background-size:100% 100%}
 .home .contact{min-height:650px;padding-bottom:110px}
 .home .ridge-layer{width:170vw;left:47%;height:calc(100% + 340px);bottom:-75px;background-position:39% bottom}
}
@media(max-width:480px){
 .home .opening{min-height:800px}
 .home .interests{min-height:1000px}
 .home .contact{min-height:570px}
 .home .ridge-layer{width:210vw;left:42%;background-position:32% bottom}
}
@media(prefers-reduced-motion:reduce){.home .horizon-layer,.home .ridge-layer{transform:translateX(-50%)!important}}

/* Four individually illustrated depth planes. Each plane extends below its own silhouette. */
body.home{background:#372d46!important;overflow-x:clip!important}
body.home>.artwork{position:absolute!important;inset:0!important;height:100%!important;width:100%!important;z-index:0!important;background:none!important;display:block!important;pointer-events:none;overflow:hidden}
body.home>.artwork>div{display:block!important;position:absolute;left:0;width:100%;height:calc(100% - 100px);background-repeat:no-repeat;background-position:center top;background-size:100% 100%;will-change:transform}
body.home>.artwork .scene-sky{top:0;height:100%;background-image:url('parallax-sky.png');z-index:1}
body.home>.artwork .scene-horizon{top:27%;height:73%;background-image:url('parallax-horizon.png');z-index:2;transform:translateY(var(--move-horizon,0px))}
body.home>.artwork .scene-right{top:52%;height:48%;background-image:url('parallax-ridge-right.png');z-index:3;transform:translateY(var(--move-right,0px))}
body.home>.artwork .scene-left{top:70%;height:30%;background-image:url('parallax-ridge-left.png');z-index:4;transform:translateY(var(--move-left,0px))}
body.home .homepage{position:relative!important;z-index:6!important}
body.home .masthead,body.home .reading-rail{z-index:8!important}
body.home .opening,body.home .interests,body.home .contact{isolation:auto!important;z-index:auto!important;background:none!important}
body.home .opening{min-height:890px!important}
body.home .interests{min-height:910px!important}
body.home .contact{min-height:650px!important}
body.home .horizon-layer,body.home .ridge-layer{display:none!important}
body.home .home-footer{z-index:7!important;background:transparent!important;padding-bottom:30px!important}
body.home .contact-inner{z-index:7!important}
@media(max-width:800px){body.home>.artwork>div{width:170%;left:-38%;background-size:100% 100%}body.home>.artwork .scene-sky{width:100%;left:0}body.home .opening{min-height:850px!important}body.home .interests{min-height:980px!important}body.home .contact{min-height:620px!important}}
@media(prefers-reduced-motion:reduce){body.home>.artwork>div{transform:none!important}}

/* Refined lightweight masthead typography only */
.brand{font-weight:300!important;letter-spacing:.36em}.masthead nav a{font-weight:300!important;letter-spacing:.18em}
