@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600&family=Jost:wght@300;500;600&display=swap');

*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --ink: #1d2230;
  --ink-soft: #555d6d;
  --paper: #ffffff;
  --paper-strong: #f7f1e8;
  --surface: #ffffff;
  --surface-muted: #fcf8f2;
  --gold: #c88b2d;
  --gold-strong: #e6a133;
  --navy: #162649;
  --navy-soft: #2b4375;
  --line: rgba(31, 37, 51, 0.1);
  --shadow-soft: 0 18px 40px rgba(31, 37, 51, 0.06);
  --radius: 20px;
}

html { scroll-behavior: smooth; }
body { font-family: 'Instrument Sans', sans-serif; background: var(--paper); color: var(--ink); overflow-x: hidden; }
html.embedded-view,
body.embedded-view {
  background: #ffffff;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
body.menu-open { overflow: hidden; }
.navbar, .web-footer, .page-breadcrumbs, .page-header-wrapper, .page-footer { display: none !important; }
.page_content, .webpage-content, .web-page-content, .page-content-wrapper, main { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; }
.container { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
#nav, footer { width: 100%; }
#nav { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 18px 34px; background: rgba(255, 255, 255, 0.92); border-bottom: 1px solid rgba(31, 37, 51, 0.06); transition: background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease; }
.brand { display: inline-flex; align-items: center; text-decoration: none; gap: 10px; }
.brand-mark { width: 48px; height: 48px; object-fit: contain; }
.nav-mid { display: flex; align-items: center; gap: 24px; list-style: none; }
.nav-mid a, .nav-login, .nav-start, .nav-user-menu a { text-decoration: none; font-family: 'Jost', sans-serif; }
.nav-mid a { font-size: 14px; color: rgba(29, 34, 48, 0.78); }
.nav-mid a:hover, .nav-mid a:focus-visible { color: var(--gold); }
.nav-right { display: flex; align-items: center; gap: 12px; }
.nav-login, .nav-start { border-radius: 999px; padding: 10px 18px; font-size: 13px; }
.nav-login { border: 1px solid rgba(22, 38, 73, 0.14); background: rgba(255, 253, 249, 0.8); }
.nav-start, .btn-navy { background: var(--navy); color: #fff; }
.nav-start { text-decoration: none; font-weight: 600; }
.nav-user-wrap { position: relative; }
.nav-user-btn { border: 0; background: transparent; cursor: pointer; }
.nav-user-circle { width: 42px; height: 42px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--navy); color: #fff; font-weight: 600; }
.nav-user-menu { position: absolute; top: calc(100% + 10px); right: 0; min-width: 180px; background: #fff; border: 1px solid rgba(31, 37, 51, 0.08); border-radius: 16px; box-shadow: var(--shadow-soft); padding: 10px; display: none; }
.nav-user-wrap.open .nav-user-menu, .nav-user-menu.open { display: grid; gap: 6px; }
.nav-user-menu a { padding: 10px 12px; border-radius: 10px; }
.nav-user-menu a:hover { background: rgba(239, 229, 215, 0.6); }
.ham { display: none; width: 42px; height: 42px; border: 0; background: transparent; cursor: pointer; flex-direction: column; justify-content: center; gap: 5px; }
.ham span { width: 22px; height: 2px; margin: 0 auto; background: var(--ink); }
.contact-page { padding: 0 0 56px; background: radial-gradient(circle at top right, rgba(200, 139, 45, 0.08), transparent 24%), linear-gradient(180deg, #ffffff 0%, #fffdfa 100%); }
.contact-hero { padding: 28px 22px 22px; }
.contact-hero__content { max-width: 1180px; margin: 0 auto; padding: 64px 56px; border-radius: 32px; background: linear-gradient(135deg, #fffdf9 0%, #f9f2e8 52%, #f4eadb 100%); border: 1px solid rgba(31, 37, 51, 0.06); box-shadow: 0 24px 54px rgba(31, 37, 51, 0.08); position: relative; overflow: hidden; }
.contact-hero__content::after { content: ""; position: absolute; right: -80px; top: -80px; width: 240px; height: 240px; border-radius: 999px; background: radial-gradient(circle, rgba(200, 139, 45, 0.18) 0%, rgba(200, 139, 45, 0) 70%); pointer-events: none; }
.contact-hero__eyebrow { margin-bottom: 10px; font-family: 'Jost', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); }
.contact-hero h1, .contact-panel h2, .contact-form-card__head h2 { font-family: 'Cormorant Garamond', serif; }
.contact-hero h1 { position: relative; z-index: 1; font-size: clamp(42px, 5vw, 64px); line-height: 0.98; margin-bottom: 14px; }
.contact-hero__copy, .contact-panel p, .contact-form-card__head p, .contact-detail p, .contact-form label span, .contact-form__note { font-family: 'Jost', sans-serif; }
.contact-hero__copy { position: relative; z-index: 1; max-width: 620px; font-size: 16px; line-height: 1.7; color: rgba(29, 34, 48, 0.72); }
.contact-shell { padding: 8px 22px 36px; }
.contact-grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.contact-panel, .contact-form-card { background: rgba(255, 253, 249, 0.98); border: 1px solid rgba(200, 139, 45, 0.18); border-radius: 24px; box-shadow: var(--shadow-soft); }
.contact-form-card { width: 100%; justify-self: stretch; min-height: 0; padding: 40px 48px 36px; background: rgba(255, 255, 255, 0.98); border: 1px solid rgba(31, 37, 51, 0.08); }
.contact-form-card__head { padding-bottom: 18px; border-bottom: 1px solid rgba(31, 37, 51, 0.08); margin-bottom: 22px; }
.contact-form-card__head h2 { font-size: 34px; margin-bottom: 10px; }
.contact-form { display: grid; gap: 16px; }
.contact-form label { display: grid; gap: 8px; }
.contact-form label span { font-size: 13px; font-weight: 500; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid rgba(31, 37, 51, 0.12); border-radius: 16px; padding: 14px 16px; background: #fffdf9; color: var(--ink); font: inherit; transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }
.contact-form textarea { min-height: 160px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { outline: 0; border-color: rgba(200, 139, 45, 0.6); box-shadow: 0 0 0 3px rgba(200, 139, 45, 0.14); }
.contact-form__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
.btn-navy { border: 0; border-radius: 999px; padding: 13px 24px; font-size: 14px; cursor: pointer; font-weight: 600; box-shadow: 0 12px 26px rgba(22, 38, 73, 0.18); transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }
.btn-navy:hover, .btn-navy:focus-visible { background: var(--navy-soft); transform: translateY(-1px); box-shadow: 0 16px 30px rgba(22, 38, 73, 0.22); }
.contact-form__note { font-size: 13px; color: rgba(29, 34, 48, 0.72); }
footer { background: #f8f2e9; padding: 34px 28px 42px; display: grid; grid-template-columns: minmax(260px, 1.2fr) 2fr; gap: 42px; align-items: start; border-top: 1px solid rgba(31, 37, 51, 0.06); }
.footer-brand { display: flex; align-items: flex-start; gap: 14px; }
.footer-mark { width: 28px; height: 28px; object-fit: contain; }
.footer-logo { width: 120px; margin-bottom: 8px; }
.footer-brand p { max-width: 250px; font-family: 'Jost', sans-serif; font-weight: 300; font-size: 13px; line-height: 22px; color: #3a3025; }
.footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.foot-col { display: flex; flex-direction: column; gap: 10px; }
.foot-col a { text-decoration: none; font-family: 'Jost', sans-serif; font-size: 13px; line-height: 1.4; color: #3a3025; }
.foot-col a:hover { color: var(--gold); }
@media (max-width: 960px) { .contact-grid, .footer-links, footer { grid-template-columns: 1fr; } .nav-mid { display: none; } .ham { display: inline-flex; } .nav-mid.open { display: flex; position: fixed; top: 74px; left: 16px; right: 16px; flex-direction: column; align-items: stretch; gap: 8px; padding: 14px; background: rgba(255, 255, 255, 0.98); border: 1px solid rgba(31, 37, 51, 0.08); border-radius: 18px; box-shadow: var(--shadow-soft); z-index: 100; } .nav-mid.open a { display: block; padding: 10px 12px; border-radius: 10px; } }
@media (max-width: 720px) { #nav { padding: 14px 18px; } .nav-login { display: none; } .contact-hero { padding: 20px 16px 16px; } .contact-hero__content, .contact-form-card { padding: 22px 18px; } .contact-shell { padding: 16px; } .contact-form__actions { align-items: stretch; } .btn-navy { width: 100%; } }
.contact-form__note[data-state="pending"] { color: rgba(29, 34, 48, 0.72); }
.contact-form__note[data-state="success"] { color: #25643c; }
.contact-form__note[data-state="error"] { color: #b42318; }
.btn-navy:disabled { cursor: wait; opacity: 0.72; }

body.embedded-view #nav {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 56px;
  padding: 10px 16px;
  justify-content: center;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: none;
}

body.embedded-view .brand {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

body.embedded-view .brand-mark {
  width: 34px;
  height: 34px;
}

body.embedded-view .nav-right {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  gap: 10px;
}

body.embedded-view .nav-login,
body.embedded-view .nav-start,
body.embedded-view footer {
  display: none !important;
}

body.embedded-view .nav-mid {
  display: none;
}

body.embedded-view .ham {
  display: inline-flex;
}

body.embedded-view .nav-user-circle,
body.embedded-view .ham {
  width: 38px;
  height: 38px;
}

body.embedded-view .nav-mid.open {
  display: flex;
  position: fixed;
  top: 64px;
  left: 16px;
  right: 16px;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(31, 37, 51, 0.08);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
  z-index: 110;
}

body.embedded-view .contact-page {
  padding: 0 0 132px;
  background: radial-gradient(circle at top right, rgba(200, 139, 45, 0.08), transparent 24%), linear-gradient(180deg, #ffffff 0%, #fffdfa 100%);
}

body.embedded-view .contact-hero {
  padding: 18px 16px 14px;
}

body.embedded-view .contact-hero__content {
  padding: 28px 22px;
  border-radius: 28px;
}

body.embedded-view .contact-hero h1 {
  font-size: 60px;
  line-height: 0.94;
}

body.embedded-view .contact-hero__copy,
body.embedded-view .contact-form label span,
body.embedded-view .contact-form__note {
  font-size: 16px;
  line-height: 1.7;
}

body.embedded-view .contact-shell {
  padding: 0 16px;
}

body.embedded-view .contact-form-card {
  padding: 28px 20px 24px;
  border-radius: 28px;
}

body.embedded-view .contact-form-card__head h2 {
  font-size: 56px;
  line-height: 0.96;
}

body.embedded-view .contact-form input,
body.embedded-view .contact-form textarea {
  border-radius: 18px;
  padding: 16px 18px;
  font-size: 16px;
}

body.embedded-view .contact-form textarea {
  min-height: 200px;
}

body.embedded-view .btn-navy {
  width: 100%;
  min-height: 64px;
  font-size: 18px;
}

@media (max-width: 640px) {
  body.embedded-view .contact-hero h1,
  body.embedded-view .contact-form-card__head h2 {
    font-size: 46px;
  }
}
