:root {
  --black: #080808;
  --black-2: #0d0d0d;
  --black-3: #15130f;
  --old-gold: #b08d57;
  --old-gold-soft: #d1b98f;
  --ivory: #e6ded0;
  --text: #c8c0b4;
  --muted: #8d877e;
  --line: rgba(176, 141, 87, .32);
  --line-soft: rgba(230, 222, 208, .10);
  --site: min(1360px, calc(100vw - 72px));
  --header: 82px;
}

* { box-sizing: border-box; }
html { background: var(--black); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ivory);
  background: var(--black);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
.site-width { width: var(--site); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: var(--old-gold); color: #080808; padding: 12px 16px; text-decoration: none; }
.skip-link:focus { top: 16px; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: var(--header);
  background: rgba(8,8,8,.96);
  border-bottom: 1px solid var(--line-soft);
}
.header-row { height: 100%; display: grid; grid-template-columns: 230px 1fr 46px; align-items: center; gap: 30px; }
.wordmark { display: inline-flex; align-items: baseline; text-decoration: none; font-family: Georgia, 'Times New Roman', serif; font-size: 22px; letter-spacing: .12em; }
.wordmark span { color: var(--ivory); font-weight: 400; }
.wordmark strong { color: var(--old-gold); font-weight: 400; }
.site-nav { display: flex; justify-content: center; gap: clamp(22px, 3vw, 46px); }
.site-nav a { position: relative; color: #aaa399; font-size: 10px; font-weight: 700; letter-spacing: .19em; text-decoration: none; text-transform: uppercase; }
.site-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -12px; height: 1px; background: var(--old-gold); transition: right .2s ease; }
.site-nav a:hover, .site-nav a[aria-current='page'] { color: var(--old-gold-soft); }
.site-nav a:hover::after, .site-nav a[aria-current='page']::after { right: 0; }
.language-switch { justify-self: end; color: var(--old-gold-soft); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-decoration: none; border-left: 1px solid var(--line); padding-left: 18px; }
.menu-toggle { display: none; }

.page-main { min-height: calc(100svh - 58px); padding-top: var(--header); }
.eyebrow { margin: 0 0 20px; color: var(--old-gold-soft); font-size: 10px; font-weight: 700; letter-spacing: .27em; line-height: 1.5; }
.lead { color: var(--text); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(18px, 1.55vw, 24px); line-height: 1.55; }
.button { min-height: 48px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--old-gold); border-radius: 0; font-size: 9px; font-weight: 700; letter-spacing: .18em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.button-solid { color: #080808; background: var(--old-gold); }
.button-solid:hover { background: var(--old-gold-soft); border-color: var(--old-gold-soft); }
.button-line { color: var(--ivory); background: transparent; border-color: rgba(230,222,208,.24); }
.button-line:hover { color: var(--old-gold-soft); border-color: var(--old-gold); }

.home-stage {
  min-height: calc(100svh - var(--header) - 58px);
  padding: 38px 0 30px;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(480px, .98fr);
  gap: clamp(46px, 6vw, 92px);
  align-items: center;
}
.home-copy { align-self: center; }
.home-copy h1 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(72px, 8.3vw, 126px); line-height: .80; letter-spacing: -.065em; font-weight: 400; }
.home-copy h1 span, .home-copy h1 strong { display: block; font-weight: 400; }
.home-copy h1 strong { color: var(--old-gold); margin-left: .34em; }
.role-line { margin: 30px 0 0; color: #aaa399; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.home-copy h2 { margin: 38px 0 0; max-width: 720px; color: var(--ivory); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(31px, 3.1vw, 52px); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.home-copy .lead { max-width: 650px; margin: 20px 0 0; }
.action-row { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.founder-note { display: flex; align-items: center; gap: 15px; margin-top: 33px; color: var(--muted); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.founder-note::before { content: ''; width: 40px; height: 1px; background: var(--line); }
.founder-note a { color: var(--old-gold-soft); text-decoration: none; font-weight: 700; }
.home-visual { display: grid; grid-template-columns: minmax(215px, .72fr) minmax(250px, 1fr); gap: 16px; align-items: stretch; }
.portrait-frame { margin: 0; min-height: 510px; border: 1px solid var(--line); background: var(--black-2); overflow: hidden; }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.72) contrast(1.05); }
.home-media { min-height: 510px; display: grid; grid-template-rows: 1fr auto; border: 1px solid var(--line); background: var(--black-2); }
.media-screen { padding: 34px; display: flex; flex-direction: column; justify-content: end; background: linear-gradient(180deg, rgba(176,141,87,.035), transparent 38%), #0b0b0b; }
.media-screen > span { color: var(--old-gold-soft); font-size: 9px; font-weight: 700; letter-spacing: .23em; }
.media-screen h3 { margin: 16px 0 10px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(27px, 2.5vw, 42px); font-weight: 400; line-height: 1.05; }
.media-screen p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.media-strip { padding: 19px 22px; display: grid; gap: 11px; border-top: 1px solid var(--line-soft); }
.media-strip b { color: #aaa399; font-size: 8px; letter-spacing: .16em; font-weight: 700; }
.media-strip span { color: var(--old-gold); font-size: 8px; letter-spacing: .17em; margin-top: 4px; }

.page-stage { min-height: calc(100svh - var(--header) - 58px); padding: clamp(54px, 7vh, 84px) 0 48px; }
.page-heading { max-width: 990px; }
.page-heading h1 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(46px, 5.5vw, 82px); font-weight: 400; line-height: 1.02; letter-spacing: -.045em; }
.page-heading .lead { max-width: 920px; margin: 24px 0 0; }
.compact-heading { max-width: 1120px; }

.profile-grid { margin-top: 48px; display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(50px, 7vw, 100px); }
.expertise-list { border-top: 1px solid var(--line); }
.expertise-list article { min-height: 126px; padding: 24px 0; display: grid; grid-template-columns: 62px 1fr; gap: 20px; border-bottom: 1px solid var(--line-soft); }
.expertise-list article > span { color: var(--old-gold); font-family: Georgia, serif; font-size: 15px; }
.expertise-list h2 { margin: 0 0 10px; font-family: Georgia, serif; font-size: 25px; font-weight: 400; }
.expertise-list p { margin: 0; max-width: 650px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.network-panel { padding: 28px 30px; border: 1px solid var(--line); background: var(--black-2); }
.network-panel > p:not(.eyebrow) { color: var(--muted); font-size: 13px; line-height: 1.55; }
.network-list { margin-top: 25px; border-top: 1px solid var(--line-soft); }
.network-list a { padding: 13px 0; display: flex; justify-content: space-between; color: #b8b1a6; border-bottom: 1px solid var(--line-soft); text-decoration: none; font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.network-list a b { color: var(--old-gold); font-weight: 400; }
.network-list a:hover { color: var(--old-gold-soft); }

.story-stage { min-height: calc(100svh - var(--header) - 58px); display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 8vw; padding: 60px 0; }
.story-marker { color: rgba(176,141,87,.11); font-family: Georgia, serif; font-size: clamp(74px, 10vw, 158px); line-height: .9; letter-spacing: -.07em; white-space: nowrap; }
.story-message { max-width: 760px; padding: 56px; border-left: 1px solid var(--old-gold); background: linear-gradient(90deg, rgba(176,141,87,.035), transparent); }
.story-message h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(48px, 5.4vw, 82px); font-weight: 400; line-height: 1.02; letter-spacing: -.045em; }
.story-message .lead { margin: 26px 0 0; }
.coming-line { margin-top: 42px; display: flex; align-items: center; gap: 17px; color: var(--old-gold-soft); font-size: 9px; font-weight: 700; letter-spacing: .22em; }
.coming-line i { width: 42px; height: 1px; background: var(--line); }

.project-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.project-grid article { min-height: 390px; padding: 30px; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: var(--black-2); }
.project-grid article:last-child { border-right: 0; }
.project-number { color: var(--old-gold); font-family: Georgia, serif; font-size: 16px; }
.project-grid article > p { margin: 40px 0 10px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.project-grid h2 { margin: 0; font-family: Georgia, serif; font-size: 32px; font-weight: 400; }
.project-description { margin-top: 22px; color: var(--text); font-size: 14px; line-height: 1.7; }
.project-grid a { margin-top: auto; padding-top: 24px; color: var(--old-gold-soft); border-top: 1px solid var(--line-soft); text-decoration: none; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

.media-heading { max-width: 1020px; }
.media-console { margin-top: 46px; display: grid; grid-template-columns: 1fr 300px; min-height: 430px; border: 1px solid var(--line); }
.media-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: radial-gradient(circle at center, rgba(176,141,87,.055), transparent 45%), #0a0a0a; }
.media-placeholder span { color: var(--muted); font-size: 9px; letter-spacing: .21em; }
.media-placeholder strong { margin-top: 20px; color: var(--ivory); font-family: Georgia, serif; font-size: clamp(34px, 4vw, 58px); font-weight: 400; }
.media-placeholder small { margin-top: 18px; color: var(--old-gold); font-size: 8px; letter-spacing: .2em; }
.media-console aside { border-left: 1px solid var(--line); background: var(--black-2); }
.media-console button { width: 100%; min-height: 96px; padding: 0 25px; display: flex; align-items: center; gap: 18px; color: #9d968c; background: transparent; border: 0; border-bottom: 1px solid var(--line-soft); text-align: left; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.media-console button span { color: var(--old-gold); font-family: Georgia, serif; font-size: 14px; }

.contact-stage { display: grid; grid-template-columns: .82fr 1.18fr; gap: 8vw; align-items: start; }
.contact-heading { position: sticky; top: 125px; }
.direct-email { margin-top: 42px; display: flex; flex-direction: column; gap: 7px; }
.direct-email span { color: var(--old-gold); font-size: 8px; font-weight: 700; letter-spacing: .2em; }
.direct-email strong { color: #aaa399; font-family: Georgia, serif; font-size: 20px; font-weight: 400; }
.form-panel { padding-top: 7px; }
.contact-form { display: grid; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form label { display: grid; gap: 8px; }
.contact-form label > span { color: #aaa399; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 12px 0; color: var(--ivory); background: transparent; border: 0; border-bottom: 1px solid rgba(230,222,208,.20); border-radius: 0; outline: 0; }
.contact-form textarea { min-height: 112px; resize: vertical; }
.contact-form select { color-scheme: dark; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--old-gold); }
.contact-form small, .standalone-error { color: #d59984; font-size: 10px; }
.consent-check { display: flex !important; grid-template-columns: auto 1fr; align-items: start; gap: 11px !important; }
.consent-check input { width: 14px; height: 14px; accent-color: var(--old-gold); }
.consent-check span { line-height: 1.5; }
.submit { justify-self: start; min-width: 210px; }
.form-alert { margin-bottom: 20px; padding: 14px 16px; border-left: 2px solid; color: var(--text); font-size: 12px; }
.form-alert.success { border-color: var(--old-gold); background: rgba(176,141,87,.07); }
.form-alert.error { border-color: #a55f52; background: rgba(165,95,82,.07); }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.privacy-stage { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; align-items: start; }
.privacy-list { border-top: 1px solid var(--line); }
.privacy-list article { padding: 26px 0; border-bottom: 1px solid var(--line-soft); }
.privacy-list h2 { margin: 0 0 10px; font-family: Georgia, serif; font-size: 25px; font-weight: 400; }
.privacy-list p { margin: 0; color: var(--muted); line-height: 1.7; }

.site-footer { min-height: 58px; border-top: 1px solid var(--line-soft); background: #050505; }
.footer-row { min-height: 58px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }
.footer-row > div:first-child { display: flex; align-items: baseline; gap: 10px; }
.footer-row strong { font-family: Georgia, serif; font-size: 13px; letter-spacing: .11em; font-weight: 400; }
.footer-row span, .footer-row p, .footer-links a { color: #777169; font-size: 8px; letter-spacing: .13em; }
.footer-row p { margin: 0; text-align: center; }
.footer-links { justify-self: end; display: flex; gap: 20px; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { color: var(--old-gold-soft); }

.consent-panel { position: fixed; left: 22px; bottom: 22px; z-index: 80; width: min(520px, calc(100vw - 44px)); padding: 20px; border: 1px solid var(--line); background: #0b0b0b; box-shadow: 0 20px 70px rgba(0,0,0,.6); }
.consent-panel[hidden] { display: none; }
.consent-panel p { margin: 0; color: var(--text); font-size: 12px; line-height: 1.55; }
.consent-panel > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 15px; }
.consent-panel .button { min-height: 38px; padding: 0 15px; font-size: 8px; }
.consent-panel a { margin-left: auto; color: var(--old-gold-soft); font-size: 9px; text-decoration: none; }

@media (max-width: 1100px) {
  :root { --site: min(100% - 42px, 920px); }
  .header-row { grid-template-columns: 200px 1fr 40px; }
  .site-nav { gap: 19px; }
  .home-stage { grid-template-columns: 1fr; padding-top: 54px; }
  .home-visual { grid-template-columns: .72fr 1fr; }
  .portrait-frame, .home-media { min-height: 420px; }
  .page-main { min-height: 100svh; }
  .profile-grid, .contact-stage, .privacy-stage { grid-template-columns: 1fr; }
  .contact-heading { position: static; }
}

@media (max-width: 760px) {
  :root { --site: min(100% - 28px, 620px); --header: 70px; }
  .header-row { grid-template-columns: 1fr auto 38px; gap: 15px; }
  .wordmark { font-size: 18px; }
  .menu-toggle { width: 38px; height: 38px; padding: 0; display: block; border: 0; background: transparent; order: 2; }
  .menu-toggle span { display: block; width: 22px; height: 1px; margin: 6px auto; background: var(--ivory); transition: .2s ease; }
  .menu-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .menu-toggle.active span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle.active span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
  .site-nav { position: fixed; inset: var(--header) 0 0; padding: 44px 28px; display: flex; flex-direction: column; justify-content: flex-start; gap: 0; background: rgba(8,8,8,.99); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: .2s ease; }
  .site-nav.open { opacity: 1; visibility: visible; transform: none; }
  .site-nav a { padding: 20px 0; border-bottom: 1px solid var(--line-soft); font-family: Georgia, serif; font-size: 22px; letter-spacing: 0; text-transform: none; }
  .site-nav a::after { display: none; }
  .language-switch { order: 3; padding-left: 10px; }
  .home-stage { display: block; padding: 48px 0 38px; }
  .home-copy h1 { font-size: clamp(63px, 19vw, 92px); }
  .home-copy h2 { margin-top: 30px; font-size: 37px; }
  .home-visual { margin-top: 45px; grid-template-columns: 1fr; }
  .portrait-frame { min-height: 470px; }
  .home-media { min-height: 340px; }
  .page-stage { padding-top: 48px; }
  .page-heading h1 { font-size: 45px; }
  .profile-grid { margin-top: 40px; }
  .story-stage { min-height: calc(100svh - var(--header)); grid-template-columns: 1fr; gap: 15px; padding: 48px 0; }
  .story-marker { font-size: 72px; white-space: normal; }
  .story-message { padding: 35px 0 35px 24px; }
  .story-message h1 { font-size: 46px; }
  .project-grid { grid-template-columns: 1fr; }
  .project-grid article { min-height: 330px; border-right: 0; border-bottom: 1px solid var(--line); }
  .project-grid article:last-child { border-bottom: 0; }
  .media-console { grid-template-columns: 1fr; }
  .media-console aside { border-left: 0; border-top: 1px solid var(--line); }
  .media-placeholder { min-height: 350px; }
  .form-row { grid-template-columns: 1fr; }
  .footer-row { padding: 18px 0; grid-template-columns: 1fr; text-align: center; }
  .footer-row > div:first-child { justify-content: center; }
  .footer-links { justify-self: center; }
  .consent-panel > div { align-items: stretch; }
  .consent-panel .button { flex: 1 1 auto; }
  .consent-panel a { width: 100%; margin: 5px 0 0; text-align: center; }
}
