/* Local system fonts only. Replaceable photographs use local static paths. */
:root { --ink:#101214; --panel:#1b1e21; --panel-light:#24282c; --gold:#F8B800; --text:#f3f2ed; --muted:#b3b6b8; --line:#383d42; }
* { box-sizing:border-box; }
body { margin:0; background:var(--ink); color:var(--text); font-family:"Segoe UI",Arial,sans-serif; line-height:1.6; font-size:16px; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--gold); }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
h1,h2,h3,p { margin:0 0 18px; }
h1,h2,h3 { line-height:1.1; }
h1 { font-size:clamp(42px,5.5vw,82px); letter-spacing:-.045em; font-weight:750; }
h2 { font-size:clamp(28px,3vw,42px); letter-spacing:-.025em; }
h3 { font-size:22px; letter-spacing:-.015em; }
p { color:var(--muted); }
.shell { width:min(100% - 96px,1320px); margin-inline:auto; }
.site-header { border-bottom:1px solid var(--line); background:#121416; }
.header-top { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:26px; }
.brand { display:flex; gap:16px; align-items:center; }
.brand-mark { display:grid; place-items:center; width:48px; height:48px; font-size:30px; font-weight:900; background:var(--gold); color:var(--ink); }
.wordmark { display:block; font-size:28px; letter-spacing:4px; line-height:1.2; }
.brand-subtitle { display:block; font-size:10px; text-transform:uppercase; letter-spacing:1.2px; margin-top:5px; }
.identity { font-size:12px; text-align:right; overflow-wrap:anywhere; max-width:380px; }
.identity strong,.identity span { display:block; }
.identity span { color:var(--muted); }
.identity a,.staff-access { color:var(--gold); }
.desktop-navigation nav { display:flex; gap:28px; align-items:center; }
.desktop-navigation nav a { padding-block:16px; font-size:13px; border-bottom:2px solid transparent; }
nav a[aria-current="page"] { color:var(--gold); border-bottom-color:var(--gold); }
.desktop-navigation .dashboard-link { margin-left:auto; color:var(--gold); }
.mobile-navigation { display:none; }
.eyebrow { color:var(--gold); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:2px; }
.page-hero { display:grid; grid-template-columns:1fr 1.04fr; align-items:center; gap:64px; padding-block:72px; }
.hero-copy { padding-block:24px; }
.hero-intro { max-width:480px; font-size:20px; }
.button { display:inline-flex; gap:24px; align-items:center; justify-content:space-between; padding:15px 22px; color:var(--ink); background:var(--gold); font-size:14px; font-weight:750; }
.button:hover { color:var(--ink); background:#ffd05c; }
.photo-frame { margin:0; background:var(--panel-light); border:1px solid #44494d; min-width:0; aspect-ratio:4/3; overflow:hidden; }
.hero-photo { aspect-ratio:4/4.3; }
.photo-placeholder { position:relative; display:flex; flex-direction:column; justify-content:space-between; height:100%; min-height:320px; padding:28px; background:linear-gradient(145deg,#30363b 0%,#202529 47%,#343a3d 48%,#1b2024 68%,#272d31 100%); }
.photo-placeholder::after { content:""; position:absolute; width:70%; height:35%; top:20%; right:-15%; border:1px solid #656a6a; transform:skew(-25deg); opacity:.3; pointer-events:none; }
.photo-index { font-size:11px; letter-spacing:2px; color:#b9bdbd; border-top:2px solid var(--gold); padding-top:12px; align-self:flex-start; }
.photo-placeholder strong { display:block; font-size:clamp(22px,2vw,30px); line-height:1.25; max-width:380px; font-weight:600; }
.photo-placeholder .eyebrow { margin-bottom:10px; }
.photo-placeholder div > span { display:block; margin-top:14px; font-size:11px; color:#c0c3c5; }
.photo-frame img { display:block; width:100%; height:100%; object-fit:cover; }
.site-content > section { margin-block:0 96px; }
.lead-section { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; padding-block:48px; border-block:1px solid var(--line); }
.lead-section h2 { max-width:430px; }
.lead-section p { font-size:18px; margin-bottom:0; }
.services-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:36px; }
.service-card { border-top:1px solid var(--line); padding-top:24px; }
.service-number { display:block; color:var(--gold); font-size:12px; margin-bottom:36px; }
.service-card p { font-size:14px; }
.feature-row { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:80px; }
.feature-row.reverse .photo-frame { order:2; }
.feature-copy p { max-width:430px; }
.text-link { display:inline-block; padding-block:10px; border-bottom:1px solid var(--gold); font-weight:600; font-size:14px; }
.text-link span { margin-left:20px; color:var(--gold); }
.about-teaser { max-width:760px; padding-block:32px; }
.about-teaser p { font-size:18px; }
.content-blocks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.content-blocks article { border-top:2px solid var(--gold); padding-top:28px; }
.content-blocks h2 { font-size:28px; }
.contact-cta { background:var(--panel); border-left:3px solid var(--gold); padding:40px; display:flex; gap:48px; align-items:center; justify-content:space-between; }
.contact-cta h2 { font-size:30px; max-width:640px; }
.contact-cta p { margin:0; max-width:640px; font-size:14px; }
.contact-cta .button { flex-shrink:0; }
.site-footer { border-top:1px solid var(--line); padding-block:40px; font-size:12px; }
.footer-wordmark { display:block; letter-spacing:4px; font-weight:800; font-size:24px; margin-bottom:16px; }
.site-footer p { margin-bottom:8px; }
.site-footer nav { display:flex; gap:28px; margin-top:24px; }
.muted { color:var(--muted); }
.dashboard-content { max-width:1200px; padding-block:48px 24px; }
.dashboard-introduction { margin-bottom:40px; }
.dashboard h1 { font-size:42px; }
.dashboard-introduction p { max-width:800px; margin-bottom:10px; }
.dashboard-introduction .muted { font-size:13px; }
.dashboard-section { border:1px solid var(--line); background:#141719; padding:28px; margin-bottom:28px; }
.section-heading { display:flex; gap:20px; align-items:baseline; margin-bottom:24px; }
.section-number { font-size:14px; color:var(--gold); }
.section-heading h2 { font-size:18px; letter-spacing:1px; margin-bottom:8px; }
.section-heading p { font-size:13px; margin:0; }
.card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.card { background:var(--panel); border:1px solid var(--line); padding:24px; min-width:0; }
.card h3 { font-size:17px; line-height:1.35; margin-bottom:10px; }
.card h3 a { display:flex; gap:14px; justify-content:space-between; }
.card h3 a::after { content:""; position:absolute; inset:0; }
.card:has(a) { position:relative; }
.card:has(a):hover { border-color:var(--gold); background:var(--panel-light); }
.card p { font-size:13px; margin-bottom:0; }
.badge { display:inline-block; font-size:10px; letter-spacing:1px; color:var(--muted); border:1px solid var(--line); padding:4px 8px; margin-bottom:18px; }
.badge-gold { color:var(--ink); background:var(--gold); border-color:var(--gold); }
.primary-card { border-top:3px solid var(--gold); grid-column:1/-1; padding:32px; background:#27251d; }
.primary-card h3 { font-size:27px; }
.reserved-card { border-style:dashed; background:transparent; }
.reserved-card h3 { color:var(--muted); }
.section-workspace { background:transparent; }
.section-workspace .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.section-workspace .card { padding:18px; }
.section-workspace h3 { font-size:15px; }
.card .account-note { margin-top:12px; font-size:11px; color:#d0c59e; overflow-wrap:anywhere; }
.skip-link { position:absolute; left:16px; top:8px; padding:11px 18px; background:var(--gold); color:var(--ink); transform:translateY(-160%); z-index:5; }
.skip-link:focus { transform:translateY(0); }
@media (max-width:1100px) {
  .shell { width:calc(100% - 56px); }
  .desktop-navigation nav { gap:18px; }
  .desktop-navigation nav a { font-size:12px; }
  .page-hero { gap:32px; padding-block:48px; }
  .lead-section,.feature-row { gap:40px; }
  .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-content > section { margin-bottom:64px; }
  .contact-cta { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media (max-width:800px) {
  .desktop-navigation { display:none; }
  .mobile-navigation { display:block; padding-block:14px; }
  .mobile-navigation summary { cursor:pointer; color:var(--gold); font-size:14px; }
  .mobile-navigation nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 20px; padding-top:16px; }
  .mobile-navigation nav a { padding:10px 0; font-size:14px; }
  .brand-subtitle { max-width:200px; }
  .page-hero { grid-template-columns:1fr; }
  .hero-copy { max-width:600px; }
  .hero-photo { aspect-ratio:16/10; }
  .lead-section,.feature-row { grid-template-columns:1fr; gap:28px; }
  .feature-row.reverse .photo-frame { order:0; }
  .section-workspace .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .photo-placeholder { min-height:0; }
}
@media (max-width:520px) {
  .shell { width:calc(100% - 40px); }
  .header-top { align-items:flex-start; flex-direction:column; gap:18px; padding-block:20px; }
  .identity { text-align:left; max-width:100%; }
  .page-hero { padding-block:32px; }
  .hero-photo { aspect-ratio:1/1; }
  .hero-intro { font-size:18px; }
  .photo-placeholder { padding:20px; }
  .services-grid,.content-blocks,.card-grid,.section-workspace .card-grid { grid-template-columns:minmax(0,1fr); }
  .service-number { margin-bottom:20px; }
  .content-blocks { gap:28px; }
  .contact-cta { padding:24px; }
  .site-content > section { margin-bottom:48px; }
  .dashboard h1 { font-size:34px; }
  .dashboard-section { padding:20px; }
  .section-heading { gap:12px; }
  .section-heading h2 { font-size:16px; }
  .primary-card { padding:24px; }
}
