
:root {

  --ds-bg:        #0e0d0b;

  --ds-bg-2:      #161412;

  --ds-t1:        #e8e4dc;

  --ds-t2:        #8a8278;

  --ds-accent:    #c9a87c;

  --ds-accent-2:  #d6b890;

  --ds-border:    rgba(232, 228, 220, 0.10);

  --ds-border-2:  rgba(232, 228, 220, 0.18);

  --ds-danger:    #e88a7c;

  --ds-base-size: 16px;

}

[data-theme="light"] {

  --ds-bg:        #f7f5f0;

  --ds-bg-2:      #ffffff;

  --ds-t1:        #1a1815;

  --ds-t2:        #6e665a;

  --ds-accent:    #8a6a3c;

  --ds-accent-2:  #6f5429;

  --ds-border:    rgba(26, 24, 21, 0.10);

  --ds-border-2:  rgba(26, 24, 21, 0.18);

  --ds-danger:    #b8523f;

}



/* Text-size scaling — applies to body */

html { font-size: 16px; }

html[data-size="md"]  { font-size: 16px; }

html[data-size="lg"]  { font-size: 18px; }

html[data-size="xl"]  { font-size: 20px; }

html[data-size="xxl"] { font-size: 22px; }



* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body.arch-body {

  background: var(--ds-bg);

  color: var(--ds-t1);

  font-family: 'Inter', -apple-system, system-ui, sans-serif;

  line-height: 1.55;

  -webkit-font-smoothing: antialiased;

  min-height: 100vh;

  display: flex;

  flex-direction: column;

}



/* ───── HEADER ───── */

.arch-header {

  border-bottom: 1px solid var(--ds-border);

  background: var(--ds-bg);

  position: sticky;

  top: 0;

  z-index: 100;

}

.arch-header-inner {

  max-width: none;

  margin: 0 auto;

  padding: 16px 32px;

  display: flex;

  align-items: center;

  gap: 24px;

}



.arch-menu-toggle {

  display: none;

  background: transparent;

  border: none;

  color: var(--ds-t1);

  cursor: pointer;

  padding: 8px;

}



.arch-brand {

  text-decoration: none;

  color: inherit;

  display: flex;

  flex-direction: column;

  flex-shrink: 0;

}

.arch-brand-text {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: 1.375rem;

  font-weight: 700;

  letter-spacing: -0.01em;

}

.arch-brand-tld { color: var(--ds-accent); font-weight: 500; }

.arch-brand-sub { font-size: 0.6875rem; color: var(--ds-t2); margin-top: 2px; }



.arch-nav {

  display: flex;

  gap: 24px;

  margin-left: 24px;

}

.arch-nav-link {

  color: var(--ds-t1);

  text-decoration: none;

  opacity: 0.65;

  font-size: 0.875rem;

  padding: 6px 0;

  border-bottom: 2px solid transparent;

  transition: opacity 120ms ease, border-color 120ms ease;

}

.arch-nav-link:hover { opacity: 1; }

.arch-nav-link.active { opacity: 1; border-bottom-color: var(--ds-accent); }



.arch-corner {

  margin-left: auto;

  display: flex;

  align-items: center;

  gap: 8px;

}



.arch-size-group {

  display: inline-flex;

  border: 1px solid var(--ds-border);

  border-radius: 999px;

  padding: 2px;

}

.arch-size-btn {

  background: transparent;

  border: none;

  color: var(--ds-t2);

  cursor: pointer;

  padding: 4px 8px;

  border-radius: 999px;

  font-family: inherit;

  font-weight: 600;

  transition: background 120ms ease, color 120ms ease;

}

.arch-size-btn[data-size="md"]  { font-size: 0.6875rem; }

.arch-size-btn[data-size="lg"]  { font-size: 0.8125rem; }

.arch-size-btn[data-size="xl"]  { font-size: 0.9375rem; }

.arch-size-btn[data-size="xxl"] { font-size: 1.0625rem; }

.arch-size-btn:hover { color: var(--ds-t1); }

.arch-size-btn.active { background: var(--ds-accent); color: var(--ds-bg); }



.arch-corner-btn {

  background: transparent;

  border: 1px solid var(--ds-border);

  color: var(--ds-t1);

  cursor: pointer;

  width: 36px;

  height: 36px;

  border-radius: 999px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 0;

  transition: border-color 120ms ease, background 120ms ease;

}

.arch-corner-btn:hover { border-color: var(--ds-accent); background: var(--ds-bg-2); }

.arch-corner-btn svg { width: 18px; height: 18px; }



/* Language picker */

.arch-lang-wrap { position: relative; }

.arch-lang-btn {

  width: auto;

  padding: 0 12px;

  gap: 6px;

  font-family: inherit;

}

.arch-lang-code { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.04em; }

.arch-lang-dropdown {

  position: absolute;

  top: calc(100% + 8px);

  right: 0;

  min-width: 160px;

  background: var(--ds-bg-2);

  border: 1px solid var(--ds-border);

  border-radius: 12px;

  padding: 6px;

  display: none;

  flex-direction: column;

  z-index: 200;

  box-shadow: 0 8px 24px rgba(0,0,0,0.4);

}

.arch-lang-dropdown.open { display: flex; }

.arch-lang-option {

  color: var(--ds-t1);

  text-decoration: none;

  padding: 8px 12px;

  border-radius: 6px;

  font-size: 0.8125rem;

  transition: background 120ms ease;

}

.arch-lang-option:hover { background: var(--ds-bg); }

.arch-lang-option.active { background: var(--ds-accent); color: var(--ds-bg); }



/* User pill + dropdown */

.arch-signin-link {

  color: var(--ds-accent);

  text-decoration: none;

  font-size: 0.8125rem;

  padding: 8px 16px;

  border: 1px solid var(--ds-accent);

  border-radius: 999px;

  transition: background 120ms ease;

}

.arch-signin-link:hover { background: rgba(201,168,124,0.12); }



.arch-user-wrap { position: relative; }

.arch-user-pill {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  background: var(--ds-bg-2);

  border: 1px solid var(--ds-border);

  border-radius: 999px;

  padding: 4px 12px 4px 4px;

  cursor: pointer;

  color: var(--ds-t1);

  font-family: inherit;

}

.arch-user-pill:hover { border-color: var(--ds-accent); }

.arch-user-avatar {

  width: 28px;

  height: 28px;

  border-radius: 999px;

  background: var(--ds-accent);

  color: var(--ds-bg);

  font-size: 0.6875rem;

  font-weight: 700;

  display: inline-flex;

  align-items: center;

  justify-content: center;

}

.arch-user-name { font-size: 0.8125rem; }



.arch-user-dropdown {

  position: absolute;

  top: calc(100% + 8px);

  right: 0;

  min-width: 220px;

  background: var(--ds-bg-2);

  border: 1px solid var(--ds-border);

  border-radius: 12px;

  padding: 6px;

  display: none;

  flex-direction: column;

  z-index: 200;

  box-shadow: 0 8px 24px rgba(0,0,0,0.4);

}

.arch-user-dropdown.open { display: flex; }

.arch-user-dropdown-head {

  padding: 12px;

  border-bottom: 1px solid var(--ds-border);

  margin-bottom: 4px;

}

.arch-user-dropdown-name { font-weight: 600; font-size: 0.875rem; }

.arch-user-dropdown-une { font-size: 0.75rem; color: var(--ds-t2); font-family: ui-monospace, monospace; margin-top: 2px; }

.arch-user-dropdown-link {

  color: var(--ds-t1);

  text-decoration: none;

  padding: 10px 12px;

  border-radius: 6px;

  font-size: 0.8125rem;

  transition: background 120ms ease;

}

.arch-user-dropdown-link:hover { background: var(--ds-bg); }

.arch-user-dropdown-link-danger { color: var(--ds-danger); }



/* ───── MAIN CONTENT ───── */

.arch-main {

  flex: 1;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 80px 32px;

}



.arch-hero {

  max-width: 760px;

  text-align: center;

}

.arch-hero-eyebrow {

  font-size: 0.875rem;

  letter-spacing: 0.08em;

  text-transform: lowercase;

  color: var(--ds-t2);

  margin-bottom: 48px;

  font-weight: 500;

}

.arch-hero-eyebrow-tld { color: var(--ds-accent); }

.arch-hero-headline {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: clamp(40px, 6vw, 72px);

  font-weight: 700;

  letter-spacing: -0.02em;

  line-height: 1.1;

  margin: 0 0 24px;

  color: var(--ds-t1);

}

.arch-hero-subhead {

  font-size: clamp(18px, 2.2vw, 22px);

  color: var(--ds-t2);

  font-weight: 400;

  margin: 0 0 64px;

  letter-spacing: 0.01em;

}

.arch-hero-status {

  display: inline-block;

  font-size: 0.75rem;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: var(--ds-accent);

  padding: 8px 16px;

  border: 1px solid var(--ds-accent);

  border-radius: 999px;

}



/* Generic page (Contact / Investors / About) */

.arch-page {

  max-width: 760px;

  text-align: center;

}

.arch-page-title {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: clamp(36px, 5vw, 56px);

  font-weight: 700;

  letter-spacing: -0.02em;

  margin: 0 0 24px;

}

.arch-page-body {

  font-size: 1.125rem;

  color: var(--ds-t2);

}



/* 404 */

.arch-404 { text-align: center; }

.arch-404-headline {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: 3rem;

  font-weight: 700;

  margin: 0 0 24px;

}

.arch-404-link a { color: var(--ds-accent); text-decoration: none; }

.arch-404-link a:hover { text-decoration: underline; }



/* ───── FOOTER ───── */

.arch-footer {

  border-top: 1px solid var(--ds-border);

  padding: 32px 24px;

  text-align: center;

}

.arch-footer-line-1 {

  font-size: 0.8125rem;

  color: var(--ds-t2);

  margin-bottom: 4px;

}

.arch-footer-line-2 {

  font-size: 0.6875rem;

  color: var(--ds-t2);

  letter-spacing: 0.04em;

}



/* ───── MOBILE ───── */

@media (max-width: 900px) {

  .arch-header-inner { padding: 12px 16px; gap: 12px; }

  .arch-menu-toggle { display: inline-flex; }

  .arch-nav {

    position: absolute;

    top: 100%;

    left: 0;

    right: 0;

    background: var(--ds-bg-2);

    border-bottom: 1px solid var(--ds-border);

    flex-direction: column;

    gap: 0;

    margin-left: 0;

    padding: 8px 0;

    display: none;

  }

  .arch-nav.open { display: flex; }

  .arch-nav-link { padding: 12px 24px; border-bottom: none; border-left: 2px solid transparent; }

  .arch-nav-link.active { border-left-color: var(--ds-accent); border-bottom-color: transparent; background: var(--ds-bg); }

  .arch-brand-sub { display: none; }

  .arch-size-group { display: none; }

  .arch-user-name { display: none; }

  .arch-main { padding: 48px 20px; }

}

@media (max-width: 600px) {

  .arch-hero-headline { font-size: 2.375rem; }

  .arch-page-title { font-size: 2rem; }

}




/* ═══════════════════════════════════════════════════════════

   Page hero (Contact, Investors) — eyebrow + italic-emphasis title

   ═══════════════════════════════════════════════════════════ */

.arch-page-hero {

  text-align: center;

  padding: clamp(48px, 8vw, 120px) 32px clamp(32px, 5vw, 64px);

  border-bottom: 1px solid var(--ds-border);

}

.arch-page-hero .arch-hero-eyebrow { margin-bottom: 24px; }

.arch-page-hero-title {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: clamp(2.5rem, 6vw, 4.5rem);

  font-weight: 700;

  letter-spacing: -0.02em;

  line-height: 1.1;

  margin: 0 0 24px;

  color: var(--ds-t1);

}

.arch-page-hero-title em { color: var(--ds-accent); font-style: italic; font-weight: 700; }

.arch-page-hero-sub {

  font-size: clamp(1.0625rem, 2vw, 1.25rem);

  color: var(--ds-t2);

  max-width: 680px;

  margin: 0 auto;

  line-height: 1.6;

}



.arch-container {

  max-width: 1200px;

  margin: 0 auto;

  padding: clamp(40px, 6vw, 80px) 32px;

}

.arch-container-narrow { max-width: 820px; }

.arch-content-body p {

  font-size: 1.125rem;

  line-height: 1.7;

  color: var(--ds-t2);

  margin: 0 0 1.25em;

  text-align: center;

}



/* ═══════════════════════════════════════════════════════════

   Contact layout (info + form, side-by-side)

   ═══════════════════════════════════════════════════════════ */

.arch-contact-layout {

  display: grid;

  grid-template-columns: 1fr 1.5fr;

  gap: 64px;

  align-items: start;

}

.arch-contact-info-block {

  margin-bottom: 32px;

}

.arch-contact-info-block h3 {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: 1.125rem;

  font-weight: 700;

  margin: 0 0 8px;

  color: var(--ds-accent);

}

.arch-contact-info-block p {

  font-size: 0.9375rem;

  color: var(--ds-t2);

  line-height: 1.6;

  margin: 0;

}



/* ═══════════════════════════════════════════════════════════

   Investor CTA box

   ═══════════════════════════════════════════════════════════ */

.arch-investor-cta-box {

  max-width: 720px;

  margin: 0 auto;

  padding: clamp(32px, 5vw, 56px);

  background: var(--ds-bg-2);

  border: 1px solid var(--ds-border);

  border-radius: 16px;

}

.arch-investor-cta-box h3 {

  font-family: 'Playfair Display', Georgia, serif;

  font-size: clamp(1.5rem, 3vw, 2rem);

  font-weight: 700;

  margin: 0 0 12px;

  color: var(--ds-t1);

}

.arch-investor-cta-box > p {

  color: var(--ds-t2);

  margin: 0 0 24px;

  font-size: 0.9375rem;

  line-height: 1.6;

}



/* ═══════════════════════════════════════════════════════════

   Forms

   ═══════════════════════════════════════════════════════════ */

.arch-form-grid {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 16px;

}

.arch-form-group { display: flex; flex-direction: column; gap: 6px; }

.arch-form-group.full { grid-column: 1 / -1; }

.arch-form-group label {

  font-size: 0.75rem;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  color: var(--ds-t2);

  font-weight: 500;

}

.arch-form-group input,

.arch-form-group select,

.arch-form-group textarea {

  background: var(--ds-bg);

  border: 1px solid var(--ds-border);

  color: var(--ds-t1);

  padding: 12px 14px;

  border-radius: 8px;

  font: inherit;

  font-size: 0.9375rem;

  transition: border-color 120ms ease;

}

.arch-form-group input:focus,

.arch-form-group select:focus,

.arch-form-group textarea:focus {

  outline: none;

  border-color: var(--ds-accent);

}

.arch-form-group textarea { resize: vertical; min-height: 100px; }

.arch-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }



.arch-btn-primary {

  background: var(--ds-accent);

  color: var(--ds-bg);

  border: none;

  padding: 12px 24px;

  border-radius: 999px;

  font: inherit;

  font-size: 0.9375rem;

  font-weight: 600;

  cursor: pointer;

  transition: background 120ms ease;

}

.arch-btn-primary:hover { background: var(--ds-accent-2); }



.arch-form-message {

  padding: 12px 16px;

  border-radius: 8px;

  margin-bottom: 16px;

  font-size: 0.875rem;

  display: none;

}

.arch-form-message.success {

  display: block;

  background: rgba(80, 180, 120, 0.12);

  border: 1px solid rgba(80, 180, 120, 0.3);

  color: #6ed09a;

}

.arch-form-message.error {

  display: block;

  background: rgba(232, 138, 124, 0.12);

  border: 1px solid rgba(232, 138, 124, 0.3);

  color: var(--ds-danger);

}



/* Mobile */

@media (max-width: 720px) {

  .arch-contact-layout { grid-template-columns: 1fr; gap: 32px; }

  .arch-form-grid { grid-template-columns: 1fr; }

  .arch-container { padding: 40px 20px; }

}




/* ─── the-complex view ─── */

.arch-tc-wrap{max-width:1080px;margin:0 auto;padding:6rem 2rem 8rem}

.arch-tc-head{margin-bottom:5rem;padding-bottom:3rem;border-bottom:1px solid var(--ds-border)}

.arch-tc-eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ds-muted);margin-bottom:1.5rem;font-weight:500}

.arch-tc-title{font-family:'Playfair Display',Georgia,serif;font-size:4rem;font-weight:400;line-height:1.05;color:var(--ds-fg-1);margin-bottom:1.5rem;letter-spacing:-.01em}

.arch-tc-oneliner{font-size:1.25rem;color:var(--ds-fg-2);font-weight:300;line-height:1.5;max-width:48rem;margin-bottom:2rem}

.arch-tc-meta{display:flex;gap:2rem;font-size:.85rem;color:var(--ds-muted);letter-spacing:.04em}

.arch-tc-sketches{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:5rem}

.arch-tc-fig{margin:0;background:var(--ds-bg-2);border:1px solid var(--ds-border);border-radius:.5rem;padding:1.5rem;display:flex;align-items:center;justify-content:center}

.arch-tc-fig img{width:100%;height:auto;display:block}

.arch-tc-section{margin-bottom:5rem}

.arch-tc-h2{font-family:'Playfair Display',Georgia,serif;font-size:1.875rem;font-weight:400;color:var(--ds-fg-1);margin-bottom:2rem;letter-spacing:-.005em}

.arch-tc-body p{font-size:1rem;line-height:1.8;color:var(--ds-fg-2);margin-bottom:1rem;font-weight:300;max-width:44rem}

.arch-tc-table{width:100%;border-collapse:collapse;font-size:.95rem}

.arch-tc-table thead th{text-align:left;font-weight:500;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ds-muted);padding:.75rem 1rem;border-bottom:1px solid var(--ds-border)}

.arch-tc-table tbody td{padding:1rem;border-bottom:1px solid var(--ds-border);color:var(--ds-fg-2);font-weight:300}

.arch-tc-mono{font-family:'JetBrains Mono',monospace;font-size:.85rem;color:var(--ds-fg-1)}

.arch-tc-soft{color:var(--ds-muted)}

.arch-tc-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}

.arch-tc-card{background:var(--ds-bg-2);border:1px solid var(--ds-border);border-radius:.5rem;padding:1.75rem}

.arch-tc-card-meta{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-accent);margin-bottom:.75rem;font-weight:500}

.arch-tc-card-title{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--ds-fg-1);margin-bottom:.75rem}

.arch-tc-card-line{font-size:.95rem;line-height:1.55;color:var(--ds-fg-2);font-weight:300;margin:0}

.arch-tc-questions{list-style:decimal;padding-left:2rem;color:var(--ds-fg-2)}

.arch-tc-questions li{margin-bottom:1.75rem;padding-left:.5rem;font-weight:300}

.arch-tc-q-text{font-size:1.05rem;color:var(--ds-fg-1);margin-bottom:.4rem;font-weight:400}

.arch-tc-q-ctx{font-size:.9rem;line-height:1.55;margin-bottom:.4rem}

.arch-tc-q-ans{font-size:.85rem;color:var(--ds-muted);font-style:italic}

@media (max-width:780px){.arch-tc-title{font-size:2.5rem}.arch-tc-sketches{grid-template-columns:1fr}.arch-tc-cards{grid-template-columns:1fr}.arch-tc-wrap{padding:3rem 1.25rem 5rem}}




/* arch-tc view */

.arch-tc-wrap{max-width:1080px;margin:0 auto;padding:6rem 2rem 8rem}

.arch-tc-head{margin-bottom:5rem;padding-bottom:3rem;border-bottom:1px solid var(--ds-border)}

.arch-tc-eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ds-muted);margin-bottom:1.5rem;font-weight:500}

.arch-tc-title{font-family:Georgia,'Playfair Display',serif;font-size:4rem;font-weight:400;line-height:1.05;color:var(--ds-fg-1);margin-bottom:1.5rem;letter-spacing:-.01em}

.arch-tc-oneliner{font-size:1.25rem;color:var(--ds-fg-2);font-weight:300;line-height:1.5;max-width:48rem;margin-bottom:2rem}

.arch-tc-meta{display:flex;gap:2rem;font-size:.85rem;color:var(--ds-muted);letter-spacing:.04em}

.arch-tc-sketches{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:5rem}

.arch-tc-fig{margin:0;background:var(--ds-bg-2);border:1px solid var(--ds-border);border-radius:.5rem;padding:1.5rem;display:flex;align-items:center;justify-content:center}

.arch-tc-fig img{width:100%;height:auto;display:block}

.arch-tc-section{margin-bottom:5rem}

.arch-tc-h2{font-family:Georgia,'Playfair Display',serif;font-size:1.875rem;font-weight:400;color:var(--ds-fg-1);margin-bottom:2rem;letter-spacing:-.005em}

.arch-tc-body p{font-size:1rem;line-height:1.8;color:var(--ds-fg-2);margin-bottom:1rem;font-weight:300;max-width:44rem}

.arch-tc-table{width:100%;border-collapse:collapse;font-size:.95rem}

.arch-tc-table thead th{text-align:left;font-weight:500;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ds-muted);padding:.75rem 1rem;border-bottom:1px solid var(--ds-border)}

.arch-tc-table tbody td{padding:1rem;border-bottom:1px solid var(--ds-border);color:var(--ds-fg-2);font-weight:300}

.arch-tc-mono{font-family:Consolas,'JetBrains Mono',monospace;font-size:.85rem;color:var(--ds-fg-1)}

.arch-tc-soft{color:var(--ds-muted)}

.arch-tc-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}

.arch-tc-card{background:var(--ds-bg-2);border:1px solid var(--ds-border);border-radius:.5rem;padding:1.75rem}

.arch-tc-card-meta{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-accent);margin-bottom:.75rem;font-weight:500}

.arch-tc-card-title{font-family:Georgia,'Playfair Display',serif;font-size:1.25rem;font-weight:400;color:var(--ds-fg-1);margin-bottom:.75rem}

.arch-tc-card-line{font-size:.95rem;line-height:1.55;color:var(--ds-fg-2);font-weight:300;margin:0}

.arch-tc-questions{list-style:decimal;padding-left:2rem;color:var(--ds-fg-2)}

.arch-tc-questions li{margin-bottom:1.75rem;padding-left:.5rem;font-weight:300}

.arch-tc-q-text{font-size:1.05rem;color:var(--ds-fg-1);margin-bottom:.4rem;font-weight:400}

.arch-tc-q-ctx{font-size:.9rem;line-height:1.55;margin-bottom:.4rem}

.arch-tc-q-ans{font-size:.85rem;color:var(--ds-muted);font-style:italic}

@media (max-width:780px){.arch-tc-title{font-size:2.5rem}.arch-tc-sketches{grid-template-columns:1fr}.arch-tc-cards{grid-template-columns:1fr}.arch-tc-wrap{padding:3rem 1.25rem 5rem}}



/* arch-projects dropdown */

.arch-projects-wrap{position:relative;display:inline-block}

.arch-projects-btn{display:inline-flex;align-items:center;gap:.4em}

.arch-projects-caret{transition:transform .15s ease;opacity:.7}

.arch-projects-wrap.open .arch-projects-caret{transform:rotate(180deg)}

.arch-projects-dropdown{position:absolute;top:calc(100% + .5rem);left:0;min-width:13rem;background:var(--ds-bg-2);border:1px solid var(--ds-border);border-radius:.4rem;padding:.4rem 0;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:50}

.arch-projects-wrap.open .arch-projects-dropdown{opacity:1;visibility:visible;transform:translateY(0)}

.arch-projects-option{display:block;padding:.55rem 1rem;color:var(--ds-fg-2);text-decoration:none;font-size:.95rem;transition:background .12s ease,color .12s ease}

.arch-projects-option:hover{background:var(--ds-bg-1);color:var(--ds-fg-1)}

.arch-projects-option.active{color:var(--ds-accent)}






/* arch-tc lightbox */

.arch-tc-fig{cursor:zoom-in}

.arch-tc-fig:hover{border-color:var(--ds-accent)}

.arch-tc-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:2rem;cursor:zoom-out}

.arch-tc-lightbox.open{display:flex}

.arch-tc-lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto}

.arch-tc-lightbox-close{position:fixed;top:1.5rem;right:1.5rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;width:2.5rem;height:2.5rem;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}

.arch-tc-lightbox-close:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}






/* arch-tc lightbox */

.arch-tc-fig{cursor:zoom-in}

.arch-tc-fig:hover{border-color:var(--ds-accent)}

.arch-tc-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:2rem;cursor:zoom-out}

.arch-tc-lightbox.open{display:flex}

.arch-tc-lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto}

.arch-tc-lightbox-close{position:fixed;top:1.5rem;right:1.5rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;width:2.5rem;height:2.5rem;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}

.arch-tc-lightbox-close:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}




/* arch-tc lightbox prev/next */

.arch-tc-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;width:3rem;height:3rem;border-radius:50%;font-size:1.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;font-family:Georgia,serif}

.arch-tc-lightbox-nav:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}

.arch-tc-lightbox-prev{left:1.5rem}

.arch-tc-lightbox-next{right:1.5rem}

.arch-tc-lightbox-counter{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.85rem;letter-spacing:.1em;font-family:Inter,system-ui,sans-serif}

@media (max-width:600px){.arch-tc-lightbox-prev{left:.5rem}.arch-tc-lightbox-next{right:.5rem}.arch-tc-lightbox-nav{width:2.5rem;height:2.5rem;font-size:1.5rem}}




/* arch-tc 3d cta */

.arch-tc-3d-cta{margin:3rem 0 5rem;text-align:center}

.arch-tc-3d-btn{display:inline-block;padding:.85rem 2rem;background:transparent;border:1px solid var(--ds-accent);color:var(--ds-accent);text-decoration:none;font-size:.9rem;letter-spacing:.08em;border-radius:.3rem;transition:background .15s,color .15s}

.arch-tc-3d-btn:hover{background:var(--ds-accent);color:var(--ds-bg-1)}

