:root {
  color-scheme: light;
  --paper: #f4f0e7;
  --ink: #183b30;
  --muted: #597064;
  --line: #b6c0ae;
  --accent: #d7e277;
  --deep: #173b31;
  --cream: #f8f5ec;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); }
button, input, textarea { font: inherit; }
a { color: inherit; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #dce985; outline-offset: 4px; }
::selection { background: var(--accent); color: var(--deep); }

.page-shell { max-width: 1800px; margin: 0 auto; overflow: hidden; }
.masthead { min-height: 104px; padding: 27px 5.2%; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid var(--line); }
.identity { display: flex; align-items: flex-start; gap: 12px; font-family: "DM Mono", monospace; font-size: 10px; line-height: 1.27; letter-spacing: .09em; font-weight: 500; }
.identity-symbol { font-family: Georgia, serif; font-size: 34px; line-height: .82; font-weight: normal; }
.masthead-note, .eyebrow, .section-label, .artwork-caption, .footer { font-family: "DM Mono", monospace; font-size: 10px; line-height: 1.4; letter-spacing: .1em; }
.masthead-note { margin-top: 4px; display: flex; gap: 28px; align-items: center; }
.masthead-note span { font-family: Georgia, serif; font-size: 24px; line-height: .6; }

.hero { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(340px, .84fr); min-height: clamp(600px, 51vw, 790px); }
.hero-copy { min-width: 0; padding: clamp(65px, 8vw, 140px) 5% 80px 9%; display: flex; flex-direction: column; align-items: flex-start; }
.section-label { display: flex; align-items: center; gap: 12px; white-space: nowrap; color: var(--muted); }
.section-label span:last-child { display: inline-flex; gap: 27px; }
.label-line { display: inline-block; width: 30px; height: 1px; background: var(--ink); }
h1, h2, p { margin: 0; }
h1, h2 { font-family: "Instrument Serif", Georgia, serif; font-weight: 400; letter-spacing: -.045em; }
h1 { max-width: 100%; margin: clamp(55px, 7vw, 105px) 0 0; font-size: clamp(70px, 9vw, 163px); line-height: .81; overflow-wrap: anywhere; text-wrap: balance; }
.hero-rule { margin: clamp(45px, 6vw, 96px) 0 33px; display: flex; align-items: center; justify-content: space-between; width: min(100%, 580px); }
.hero-rule span:first-child { height: 1px; width: calc(100% - 35px); background: var(--line); }
.hero-rule span:last-child { font-family: Georgia, serif; font-size: 22px; line-height: 1; }
.hero-description { width: min(100%, 470px); font-size: clamp(18px, 1.5vw, 23px); line-height: 1.45; letter-spacing: -.025em; }
.domain-tagline { margin-top: 15px; color: var(--muted); font-family: "DM Mono", monospace; font-size: 10px; line-height: 1.6; letter-spacing: .025em; }
.hero-link { margin-top: 35px; padding: 0 0 9px; display: inline-flex; gap: 45px; align-items: center; border-bottom: 1px solid var(--ink); font-family: "DM Mono", monospace; font-size: 11px; letter-spacing: .04em; text-decoration: none; transition: gap .2s ease; }
.hero-link:hover { gap: 58px; }
.hero-link span { font-family: Georgia, serif; font-size: 22px; line-height: .8; }

.artwork { position: relative; overflow: hidden; min-height: 620px; background: #dce4cf; isolation: isolate; }
.artwork::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 51% 48%, #f3f1d6 0, #e1e7d2 43%, #d4ddc6 100%); }
.artwork::after { content: ""; position: absolute; inset: 0; opacity: .16; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
.orbital { position: absolute; z-index: 1; width: min(84%, 690px); aspect-ratio: 1; top: 50%; left: 50%; border: 1px solid rgba(23, 59, 49, .58); border-radius: 50%; transform: translate(-50%, -50%); }
.orbital-outer { width: min(117%, 900px); border-color: rgba(23, 59, 49, .43); }
.orbital-middle { width: min(94%, 770px); border-color: rgba(23, 59, 49, .52); }
.orbital-inner { width: min(42%, 344px); border-color: rgba(23, 59, 49, .6); }
.orbital::before, .orbital::after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--ink); }
.orbital-outer::before { top: 23%; left: 13%; }
.orbital-outer::after { right: 12%; bottom: 22%; }
.orbital-middle::before { top: 8%; right: 23%; }
.orbital-middle::after { left: 8%; bottom: 23%; }
.orbital-inner::before { top: -3px; left: calc(50% - 2px); }
.orbital-inner::after { right: -3px; top: calc(50% - 2px); }
.orbital-axis { position: absolute; z-index: 1; left: 50%; top: 50%; background: rgba(23, 59, 49, .24); transform: translate(-50%, -50%); }
.orbital-axis-horizontal { width: 100%; height: 1px; }
.orbital-axis-vertical { width: 1px; height: 100%; }
.orbital-centre { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; place-items: center; width: 92px; height: 92px; border: 1px solid var(--ink); background: var(--art-accent, #e4ebd0); transform: translate(-50%, -50%) rotate(45deg); }
.orbital-centre span { display: block; transform: rotate(-45deg); font-family: Georgia, serif; font-size: 44px; line-height: 1; }
.artwork-caption { position: absolute; z-index: 3; left: 7.5%; right: 7.5%; display: flex; justify-content: space-between; color: var(--ink); }
.artwork-caption-top { top: 42px; }
.artwork-caption-bottom { bottom: 42px; }

.inquiry { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 7vw, 130px); padding: clamp(85px, 10vw, 158px) 7.7% clamp(90px, 11vw, 175px); background: var(--deep); color: var(--cream); }
.inquiry-intro { position: relative; }
.eyebrow { color: #b9c9b6; }
h2 { margin-top: 45px; font-size: clamp(64px, 7.2vw, 118px); line-height: .91; }
h2 em { font-weight: 400; }
.inquiry-intro p { max-width: 330px; margin-top: 43px; color: #cbd8ca; font-size: 17px; line-height: 1.55; }
.inquiry-flourish { display: block; margin-top: 70px; font-family: Georgia, serif; font-size: 53px; font-weight: 400; }
.inquiry-form { padding-top: 5px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.field { margin-bottom: 39px; }
.field label { display: block; margin-bottom: 16px; font-family: "DM Mono", monospace; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.field label > span:not(.optional) { color: var(--accent); }
.optional { color: #bacbbb; font-size: 9px; text-transform: none; letter-spacing: .04em; }
.field input, .field textarea { display: block; width: 100%; padding: 11px 0 13px; border: 0; border-bottom: 1px solid #82978a; border-radius: 0; color: var(--cream); background: transparent; font-size: 18px; line-height: 1.4; transition: border-color .2s ease; }
.field input::placeholder, .field textarea::placeholder { color: #a9bbad; opacity: 1; }
.field input:hover, .field textarea:hover, .field input:focus, .field textarea:focus { border-color: var(--accent); }
.field input:focus, .field textarea:focus { outline: none; box-shadow: 0 2px 0 var(--accent); }
.field textarea { min-height: 110px; resize: vertical; }
.money-field { display: flex; align-items: baseline; gap: 13px; border-bottom: 1px solid #82978a; transition: border-color .2s ease; }
.money-field:focus-within, .money-field:hover { border-color: var(--accent); }
.money-field:focus-within { box-shadow: 0 2px 0 var(--accent); }
.money-field > span { font-family: "Instrument Serif", Georgia, serif; font-size: 33px; line-height: 1; }
.money-field input, .money-field input:hover, .money-field input:focus { border: 0; box-shadow: none; }
.field-help { display: block; margin-top: 8px; color: #bdccbd; font-size: 11px; }
.honey-field { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.form-end { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 28px; margin-top: 46px; }
button { display: inline-flex; justify-content: space-between; align-items: center; gap: 58px; min-width: 237px; min-height: 57px; padding: 15px 17px 15px 22px; border: 1px solid var(--accent); background: var(--accent); color: var(--deep); cursor: pointer; font-family: "DM Mono", monospace; font-size: 11px; letter-spacing: .04em; transition: background .2s ease, color .2s ease; }
button:hover { background: transparent; color: var(--accent); }
button:disabled { opacity: .58; cursor: wait; }
button span { font-family: Georgia, serif; font-size: 25px; line-height: .7; }
.form-status { min-height: 1.4em; max-width: 290px; color: var(--accent); font-size: 13px; line-height: 1.45; }
.form-status.is-error { color: #ffbea4; }
.footer { min-height: 101px; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 30px 5.2%; color: var(--muted); }
.footer span:last-child span { color: var(--ink); font-family: Georgia, serif; font-size: 20px; vertical-align: middle; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 600px; padding: 75px 7% 70px; }
  h1 { font-size: clamp(78px, 13vw, 135px); margin-top: 78px; }
  .hero-rule { margin-top: auto; }
  .artwork { min-height: 480px; }
  .inquiry { grid-template-columns: 1fr; gap: 45px; }
  .inquiry-flourish { display: none; }
  .inquiry-intro p { margin-top: 25px; }
}

@media (max-width: 600px) {
  .masthead { min-height: 83px; padding: 22px 6%; }
  .masthead-note { font-size: 0; }
  .masthead-note span { font-size: 22px; }
  .hero-copy { min-height: 580px; padding: 63px 6% 61px; }
  .section-label { font-size: 9px; }
  .section-label span:last-child { gap: 14px; }
  h1 { margin-top: 78px; font-size: clamp(66px, 16vw, 100px); }
  .hero-rule { margin-bottom: 25px; }
  .hero-description { font-size: 19px; }
  .hero-link { margin-top: 30px; }
  .artwork { min-height: 380px; }
  .artwork-caption { font-size: 8px; }
  .artwork-caption-top { top: 28px; }
  .artwork-caption-bottom { bottom: 28px; }
  .orbital-centre { width: 67px; height: 67px; }
  .orbital-centre span { font-size: 32px; }
  .inquiry { padding: 80px 6% 100px; }
  h2 { margin-top: 34px; font-size: clamp(64px, 13vw, 88px); }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .field { margin-bottom: 30px; }
  .form-end { align-items: flex-start; flex-direction: column; margin-top: 22px; }
  .footer { min-height: 100px; flex-wrap: wrap; padding: 28px 6%; font-size: 8px; }
  .footer > span:last-child { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
