:root {
  color-scheme: light;
  --paper: #f5f0e7;
  --ink: #27241f;
  --muted: #544e45;
  --sand: #f2ede4;
  --line: #cfc5b5;
  --bronze: #795631;
  --gold: #dfbf89;
  --night: #181714;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: system-ui, -apple-system, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 1rem/1.55 var(--sans); }
a { color: inherit; text-underline-offset: .24em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid #956b3e; outline-offset: 4px; }
h1, h2, h3, p, ul { margin: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; }
.frame { width: min(1160px, 100% - 96px); margin-inline: auto; }
.skip { position: fixed; top: 10px; left: 10px; z-index: 3; transform: translateY(-200%); background: var(--paper); padding: 10px; }
.skip:focus { transform: none; }
.site-header { position: absolute; z-index: 2; inset: 0 0 auto; color: var(--paper); border-bottom: 1px solid #fff2db38; background: linear-gradient(#171512b5, transparent); }
.top { min-height: 78px; display: flex; justify-content: space-between; align-items: center; gap: 14px 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--gold); text-decoration: none; font: italic 400 1.85rem var(--serif); letter-spacing: -.045em; }
.brand-mark { color: var(--gold); flex: none; }
nav { display: flex; flex-wrap: wrap; gap: 8px clamp(14px, 3vw, 34px); font-size: .71rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
nav a { text-decoration: none; }
nav a:hover { text-decoration: underline; }
.hero { position: relative; isolation: isolate; overflow: hidden; background: var(--night); color: var(--paper); }
.hero-image, .hero::after { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.hero-image { object-fit: cover; object-position: 65% center; }
.hero::after { content: ''; background: linear-gradient(90deg, #151411ed 0%, #151411b5 36%, #15141132 75%), linear-gradient(0deg, #1715129c, transparent 46%); }
.hero-inner { position: relative; display: flex; align-items: center; min-height: clamp(660px, 91svh, 880px); padding-block: 132px 125px; }
.hero-copy { max-width: 49rem; }
.hero .eyebrow, .hero h1 em { color: var(--gold); }
.hero .intro { color: #eee5d7; }
.hero .button { border-color: #cfb485; color: var(--paper); background: #201b1666; }
.hero .button:hover { background: #463728; }
.hero :focus-visible, .site-header :focus-visible, .footer :focus-visible { outline-color: var(--gold); }
.explore { position: absolute; left: 0; bottom: 30px; padding: 8px 0; color: #f4ecde; font-size: .67rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; }
.explore span { margin-left: 6px; }
.eyebrow { color: var(--bronze); font-size: .72rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
h1 { margin-top: 19px; font-size: clamp(4rem, 8vw, 8rem); line-height: .94; letter-spacing: -.065em; }
h1 em { color: var(--bronze); font-weight: 400; }
.intro { color: var(--muted); max-width: 44ch; margin-top: 24px; font-size: 1.075rem; }
.actions { display: flex; flex-wrap: wrap; gap: 12px 25px; align-items: center; margin-top: 33px; font-size: .78rem; font-weight: 650; }
.button { display: inline-flex; gap: 14px; align-items: center; width: fit-content; padding: 13px 19px; background: var(--ink); color: var(--paper); border: 1px solid transparent; font: 650 .73rem/1.5 var(--sans); letter-spacing: .11em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.button:hover { background: #514435; }
.button:disabled { opacity: .65; cursor: progress; }
.arrow { position: relative; width: .64em; height: .64em; border-top: 1px solid; border-right: 1px solid; }
.arrow::before { content: ''; position: absolute; top: 0; right: 0; width: .8em; border-top: 1px solid; transform-origin: right; transform: rotate(-45deg); }
.text-link { padding-block: 9px; }
.overview { border-block: 1px solid var(--line); background: var(--sand); }
h2 { font-size: clamp(2.05rem, 3.6vw, 3.6rem); line-height: 1.06; letter-spacing: -.045em; }
.process { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(26px, 7vw, 96px); padding-block: 53px 58px; }
.process-intro h2 { margin-top: 10px; }
.process-intro h2 em { color: var(--bronze); }
.process-intro > p:not(.eyebrow) { max-width: 40ch; margin-top: 16px; color: var(--muted); }
.use-cases { display: grid; gap: 2px; margin-top: 17px; padding-left: 1.1em; font-size: .85rem; }
.use-cases li::marker { color: var(--bronze); }
.process-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.process-steps li { display: grid; grid-template-columns: 2.1rem minmax(0, 1fr); gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.step-number { color: var(--bronze); font-size: .72rem; font-weight: 750; letter-spacing: .12em; padding-top: 4px; }
.process-steps h3, .travel-note h3 { margin-top: 0; font-size: clamp(1.3rem, 2.4vw, 1.72rem); }
.process-steps p, .travel-note p { color: var(--muted); margin-top: 5px; font-size: .92rem; }
.travel-note { margin-top: 17px; padding: 13px 15px; border-left: 2px solid var(--bronze); background: var(--paper); }
.intake { padding-block: 69px 72px; }
.intake > h2 { margin-top: 8px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px; margin-top: 29px; }
.form-card { display: flex; flex-direction: column; border: 1px solid var(--line); padding: clamp(19px, 3.8vw, 42px); scroll-margin-top: 18px; }
.professional { background: #eee5d6; }
h3 { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.1; letter-spacing: -.045em; margin-top: 9px; }
.form-card > p:not(.eyebrow) { margin: 11px 0 21px; color: var(--muted); font-size: .94rem; }
form { margin-top: auto; display: grid; gap: 12px; }
label { display: grid; gap: 4px; font-size: .83rem; font-weight: 650; }
input, textarea { min-width: 0; width: 100%; background: var(--paper); color: var(--ink); border: 1px solid #9b8d78; border-radius: 0; padding: 9px; font: 1rem/1.4 var(--sans); }
input::placeholder, textarea::placeholder { color: #6c6051; opacity: 1; }
textarea { resize: vertical; }
.trap { display: none; }
.form-note, .form-status { color: var(--muted); font-size: .81rem; }
.form-status:empty { display: none; }
.form-status[data-error="true"] { color: #8b3424; }
.privacy { border-top: 1px solid var(--line); padding-block: 28px 35px; color: var(--muted); }
.privacy h2 { color: var(--ink); font-size: 1.55rem; }
.privacy p { max-width: 76ch; margin-top: 8px; font-size: .86rem; }
.footer { background: var(--night); color: var(--paper); }
.footer-inner { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 22px; padding-block: 31px; font-size: .9rem; }
.footer .eyebrow { color: var(--gold); margin-bottom: 3px; }
.footer .brand { margin-bottom: 3px; }
@media (max-width: 940px) {
  .frame { width: calc(100% - 58px); }
  h1 { font-size: clamp(3.6rem, 8.7vw, 6rem); }
}
@media (max-width: 680px) {
  .frame { width: calc(100% - 36px); }
  .top { flex-wrap: wrap; padding-block: 14px; }
  .process, .form-grid { grid-template-columns: 1fr; }
  nav { font-size: .62rem; letter-spacing: .09em; }
  .hero-inner { min-height: 675px; align-items: flex-end; padding-block: 154px 90px; }
  .hero-image { object-position: 74% center; }
  .hero::after { background: linear-gradient(0deg, #151411fb 1%, #151411dc 36%, #15141160 71%, #15141172 100%); }
  h1 { font-size: clamp(2.85rem, 10vw, 4.65rem); }
  .hero .intro { margin-top: 17px; }
  .actions { margin-top: 20px; }
  .explore { bottom: 20px; }
  .process { padding-block: 35px 39px; }
  .use-cases { display: flex; flex-wrap: wrap; gap: 6px 25px; }
  .intake { padding-block: 43px 47px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
