:root{--ink:#171612;--night:#263342;--navy:#263342;--paper:#e6d7b9;--paper-light:#f1e7d1;--brass:#a57d3e;--wine:#34383b;--moss:#526c58;--leaf:#7d9075;--muted:#6f6658;--rule:rgba(35,29,21,.28);--serif:"Newsreader",Georgia,serif;--display:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.08rem/1.65 var(--serif);background-image:radial-gradient(circle at 20% 12%,rgba(255,255,255,.22),transparent 23%),linear-gradient(90deg,rgba(70,45,20,.035) 1px,transparent 1px);background-size:auto,4px 100%}a{color:inherit}img{display:block;width:100%;height:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:var(--paper-light);padding:.7rem;z-index:100}.site-header{height:5.5rem;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);position:absolute;z-index:5;width:100%;color:var(--paper-light)}.wordmark{font:1.15rem/1 var(--sans);letter-spacing:.3em;text-decoration:none}.wordmark span{font-size:.7rem;margin-left:.6rem;color:var(--brass)}nav{display:flex;gap:clamp(.8rem,2vw,2.2rem)}nav a{font:500 .73rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}nav a:hover,nav a:focus-visible{color:#d7b26d}.menu-button{display:none;background:none;color:inherit;border:1px solid currentColor;padding:.45rem .7rem;font:500 .75rem var(--sans);text-transform:uppercase;letter-spacing:.08em}.hero{min-height:95vh;background:var(--night);color:var(--paper-light);padding:clamp(9rem,16vh,12rem) clamp(1.25rem,9vw,9rem) 7rem;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;opacity:.32;pointer-events:none;background:radial-gradient(circle at 78% 32%,rgba(165,125,62,.16),transparent 14%),radial-gradient(circle at 5% 90%,rgba(52,56,59,.5),transparent 28%)}.eyebrow,.tag,.index{font:500 .7rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase}.eyebrow{color:var(--brass)}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(3.7rem,8.8vw,8.7rem)/.91 var(--display);letter-spacing:-.045em;max-width:1000px;margin:1.2rem 0 2rem;position:relative;z-index:1}h1 em{color:#c6a266;font-weight:400}.hero-copy{max-width:34rem;color:#c8bda8;font-size:1.25rem}.text-link{font:600 .78rem var(--sans);text-transform:uppercase;letter-spacing:.14em;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:.3rem}.margin-note{position:absolute;right:4vw;bottom:3rem;writing-mode:vertical-rl;font:500 .63rem var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#918979}.constellation{position:absolute;right:6vw;top:20%;width:25vw;height:35vh;opacity:.55}.constellation i{position:absolute;width:5px;height:5px;border-radius:50%;background:#d3b372;box-shadow:0 0 9px #d3b372}.constellation i:nth-child(1){left:5%;top:25%}.constellation i:nth-child(2){left:35%;top:2%}.constellation i:nth-child(3){left:59%;top:48%}.constellation i:nth-child(4){left:95%;top:26%}.constellation i:nth-child(5){left:73%;top:91%}.constellation span{position:absolute;inset:4% 5%;background:linear-gradient(35deg,transparent 49.7%,rgba(211,179,114,.4) 50%,transparent 50.3%);transform:rotate(-11deg)}.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,8rem)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:3rem;padding-bottom:2rem;border-bottom:1px solid var(--rule);margin-bottom:3rem}.section-heading h2,.quill-section h2,.contact-section h2{font:400 clamp(2.8rem,5.5vw,5.8rem)/1 var(--display);letter-spacing:-.04em;margin:0}.section-heading>p{max-width:28rem;margin:0;color:var(--muted)}.rabbit-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}.rabbit-card{background:var(--paper-light);padding:2rem;min-height:20rem;display:flex;flex-direction:column;justify-content:space-between;position:relative}.rabbit-card.featured{grid-row:span 2;min-height:40rem}.rabbit-card.dark{background:var(--wine);color:var(--paper-light)}.rabbit-card h3{font:400 clamp(1.8rem,3vw,3.3rem)/1.07 var(--display);max-width:13ch}.rabbit-card p:last-child{max-width:31rem}.index{color:var(--brass)}.tag{color:var(--moss);margin-bottom:.7rem}.dark .tag{color:#d0af71}.orbit-mark{position:absolute;right:3rem;top:4rem;width:12rem;height:12rem;border:1px solid rgba(165,125,62,.45);border-radius:50%}.orbit-mark:before{content:"";position:absolute;inset:29%;border:1px solid rgba(165,125,62,.5);border-radius:50%}.orbit-mark:after{content:"";position:absolute;width:140%;left:-20%;top:50%;border-top:1px solid rgba(165,125,62,.5);transform:rotate(-35deg)}.notes-list{border-top:1px solid var(--rule)}.note-row{display:grid;grid-template-columns:8rem 1fr auto;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--rule);text-decoration:none}.note-row h3{font:400 clamp(1.55rem,3vw,2.65rem)/1.08 var(--display);margin:.2rem 0}.note-row:hover h3,.note-row:focus-visible h3{color:var(--wine)}.note-row .arrow{font-size:1.5rem}.data-fallback{color:var(--muted);font-style:italic}.is-loaded+.data-fallback{display:none}.lens-section{background:var(--night);color:var(--paper-light);padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem)}.inverted{border-color:rgba(230,215,185,.25)}.inverted>p{color:#aaa08e}.photo-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:1rem;align-items:start}.photo-card{margin:0;position:relative}.photo-card:nth-child(2){margin-top:6rem}.photo-card:nth-child(3){margin-top:2rem}.photo-card img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.72) contrast(1.08)}.photo-card:first-child img{aspect-ratio:5/4}.photo-card figcaption{font:500 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#a59a87;padding-top:.8rem}.work-ledger{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule)}.work-ledger>div{padding:2rem;border-right:1px solid var(--rule)}.work-ledger>div:last-child{border:0}.work-ledger span{font:500 .7rem var(--sans);color:var(--brass)}.work-ledger h3{font:400 2rem/1.1 var(--display);margin:2rem 0 1rem}.work-proof{max-width:56rem;font:300 clamp(1.5rem,3vw,2.5rem)/1.3 var(--serif);margin:4rem 0 0}.quill-section{padding:clamp(6rem,11vw,10rem) clamp(1.25rem,9vw,9rem);background:#22231e;color:var(--paper-light);display:grid;grid-template-columns:.45fr 1fr;gap:4rem;position:relative}.quill-section:before{content:"";position:absolute;inset:1.2rem;border:1px solid rgba(165,125,62,.4);pointer-events:none}.quill-section>div{position:relative}.quill-emblem{font-size:10rem;color:var(--brass);line-height:1}.quill-intro{font:italic 2rem var(--serif);color:#cab890;margin:.8rem 0 2rem}.quill-section>div:nth-child(2)>p:last-child{max-width:38rem;color:#b9af9d}.quill-grid{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quill-item{border-top:1px solid #7c6948;padding-top:1rem}.quill-item p{color:#a99d8a}.quill-item h3{font:400 1.5rem var(--display)}.contact-section{text-align:center;padding:clamp(6rem,12vw,11rem) 1.25rem;background:var(--paper-light)}.contact-section p{color:var(--muted)}.button{display:inline-block;margin-top:1.5rem;background:var(--wine);color:#fff4db;padding:.9rem 1.3rem;text-decoration:none;font:600 .78rem var(--sans);text-transform:uppercase;letter-spacing:.12em}.button:hover,.button:focus-visible{background:var(--night)}footer{padding:2rem clamp(1.25rem,5vw,5rem);background:var(--night);color:#a59a87;display:flex;align-items:center;justify-content:space-between;font:500 .68rem var(--sans);text-transform:uppercase;letter-spacing:.1em}footer p{margin:0}@media(max-width:820px){.site-header{position:absolute}.menu-button{display:block}nav{display:none;position:absolute;top:5.5rem;left:0;right:0;background:var(--night);padding:1.5rem;flex-direction:column;border-top:1px solid #3c3931}nav.open{display:flex}.hero{min-height:800px}.constellation{width:60vw;opacity:.3}.margin-note{display:none}.section-heading{grid-template-columns:1fr;gap:1rem}.rabbit-grid{grid-template-columns:1fr}.rabbit-card.featured{grid-row:auto;min-height:31rem}.note-row{grid-template-columns:5.5rem 1fr;gap:1rem}.note-row .arrow{display:none}.photo-grid{grid-template-columns:1fr 1fr}.photo-card:first-child{grid-column:1/-1}.photo-card:nth-child(2),.photo-card:nth-child(3){margin-top:0}.work-ledger{grid-template-columns:1fr}.work-ledger>div{border-right:0;border-bottom:1px solid var(--rule)}.quill-section{grid-template-columns:1fr;gap:2rem}.quill-emblem{font-size:6rem}.quill-grid{grid-column:1}.quill-section:before{inset:.65rem}footer{align-items:flex-start;gap:1rem;flex-direction:column}}@media(max-width:520px){h1{font-size:3.45rem}.hero{padding-top:9rem}.rabbit-card{min-height:23rem}.orbit-mark{width:8rem;height:8rem;right:1.5rem}.photo-grid,.quill-grid{grid-template-columns:1fr}.photo-card:first-child{grid-column:auto}.note-row{grid-template-columns:1fr}.section,.lens-section{padding-left:1.15rem;padding-right:1.15rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.rabbit-card.ops-card{grid-column:1/-1;min-height:27rem;background:#d9d2bb;overflow:hidden}
.ops-card-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.ops-card h3{max-width:16ch}
.ops-card-layout>div:first-child>p:last-of-type{max-width:38rem}
.ops-mini-calendar{position:relative;border:1px solid var(--rule);background:var(--paper-light);padding:2.8rem 1.1rem 1rem;box-shadow:9px 9px 0 rgba(38,51,66,.14);transform:rotate(.65deg)}
.ops-mini-label{position:absolute;top:.8rem;left:1rem;color:var(--wine);font:600 .64rem var(--sans);letter-spacing:.14em;text-transform:uppercase}
.ops-mini-calendar i{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--rule);font-style:normal}
.ops-mini-calendar b{color:var(--brass);font:500 .7rem var(--sans);letter-spacing:.1em}
.ops-mini-calendar em{font:400 1.1rem var(--display);font-style:normal}
@media(max-width:820px){.rabbit-card.ops-card{grid-column:auto}.ops-card-layout{grid-template-columns:1fr}.ops-mini-calendar{margin-top:1rem;transform:none}}

/* Project cards: clean thematic line illustrations. */
.rabbit-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 2rem);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.rabbit-grid .rabbit-card {
  --plate-ink: var(--brass);
  grid-row: auto;
  grid-column: auto;
  min-height: 0;
  padding: clamp(1rem, 2vw, 1.45rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--plate-ink) 62%, var(--rule));
  background: var(--paper-light);
  color: var(--ink);
  box-shadow: .35rem .35rem 0 color-mix(in srgb, var(--plate-ink) 15%, transparent);
  transition: transform .18s ease, box-shadow .18s ease;
}
.rabbit-grid .rabbit-card:hover,
.rabbit-grid .rabbit-card:focus-within {
  transform: translateY(-.18rem);
  box-shadow: .5rem .6rem 0 color-mix(in srgb, var(--plate-ink) 20%, transparent);
}
.rabbit-grid .rabbit-card::before,
.rabbit-grid .rabbit-card::after { content: none; }
.rabbit-grid .rabbit-card .index {
  align-self: flex-start;
  margin: .1rem 0 .85rem;
  color: var(--plate-ink);
  font: 700 .78rem/1 var(--sans);
  letter-spacing: .18em;
  text-shadow: none;
}
.rabbit-grid .case-tile {
  width: 100%;
  height: clamp(12rem, 22vw, 17rem);
  margin: 0 0 clamp(1.4rem, 2.5vw, 2rem);
  border: 0;
  background: transparent;
  object-fit: contain;
}
.rabbit-grid .rabbit-card .tag { color: var(--plate-ink); }
.rabbit-grid .rabbit-card h3 {
  margin-bottom: 1rem;
  font-size: clamp(1.85rem, 3vw, 3rem);
  color: var(--navy);
  text-wrap: balance;
}
.rabbit-grid .rabbit-card .card-link {
  display: inline-flex;
  gap: .9rem;
  align-items: center;
  margin-top: .75rem;
  padding-bottom: .28rem;
  border-bottom: 1px solid var(--plate-ink);
  color: var(--navy);
  text-decoration: none;
  font: 600 .74rem var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rabbit-grid .rabbit-card:nth-child(2) { --plate-ink: var(--moss); }
.rabbit-grid .rabbit-card:nth-child(3) { --plate-ink: var(--wine); }
.rabbit-grid .rabbit-card:nth-child(4) { --plate-ink: var(--navy); }
.rabbit-grid .calm-home-card {
  --plate-ink: var(--brass);
  grid-column: 1 / -1;
}
.calm-home-card-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.rabbit-grid .calm-home-card .case-tile {
  height: auto;
  max-height: 19rem;
  margin: 0;
}
.rabbit-grid .calm-home-card h3 { max-width: 14ch; }
@media(max-width:820px){
  .rabbit-grid{grid-template-columns:1fr}
  .rabbit-grid .calm-home-card{grid-column:auto}
  .calm-home-card-layout{grid-template-columns:1fr}
  .rabbit-grid .calm-home-card .case-tile{margin-bottom:1rem}
}
@media(prefers-reduced-motion:reduce){
  .rabbit-grid .rabbit-card{transition:none}
}
body{position:relative}
.page-luna-moth{position:absolute;z-index:4;top:var(--moth-top);right:var(--moth-right,auto);left:var(--moth-left,auto);width:clamp(3.1rem,5vw,4.6rem);height:auto;opacity:.72;transform:rotate(var(--moth-rotation));filter:sepia(.12) saturate(.8);pointer-events:none;user-select:none}
@media(max-width:700px){.page-luna-moth{width:2.8rem;opacity:.58}}

/* Honest empty state for Notes From the Field. Real notes replace it automatically. */
.field-placeholder{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,7vw,7rem);align-items:center;padding:clamp(2rem,5vw,4.5rem) clamp(1.25rem,4vw,3.25rem);border-bottom:1px solid var(--rule);background:linear-gradient(115deg,rgba(241,231,209,.62),rgba(165,125,62,.06))}
.field-placeholder h3{margin:.3rem 0 .85rem;color:var(--navy);font:400 clamp(2rem,4vw,3.75rem)/1.04 var(--display);text-wrap:balance}
.field-placeholder p:last-child{max-width:42rem;margin-bottom:0;color:var(--muted)}
.field-placeholder-mark{display:grid;place-items:center;width:clamp(5rem,10vw,8rem);aspect-ratio:1;border:1px solid rgba(165,125,62,.52);border-radius:50%;color:var(--brass);font-size:clamp(1.8rem,4vw,3.4rem);box-shadow:inset 0 0 0 .55rem rgba(165,125,62,.07)}
@media(max-width:620px){.field-placeholder{grid-template-columns:1fr}.field-placeholder-mark{width:4.5rem}}

/* Charcoal tint for the legacy hero treatment. */
.hero:after{background:radial-gradient(circle at 78% 32%,rgba(165,125,62,.16),transparent 14%),radial-gradient(circle at 5% 90%,rgba(52,56,59,.5),transparent 28%)}
:root{--wine:#34383b}.hero:after{background:radial-gradient(circle at 78% 32%,rgba(165,125,62,.16),transparent 14%),radial-gradient(circle at 5% 90%,rgba(52,56,59,.5),transparent 28%)}
