/* The Bid Desk: inner pages, editorial layer.
   Loaded after site.css on every page except the homepage (which uses home.css).
   Same language as the homepage: serif headings over a sans body, a soft moving
   gradient behind page heroes and closing panels, rounded colour panels. */

@font-face {
  font-family: 'Source Serif 4';
  src: url('/fonts/SourceSerif4-Variable.woff2') format('woff2');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

.ed {
  --wrap: 1280px;
  --serif: 'Source Serif 4', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --lilac: #F4EFF6;
  --lilac-2: #E6DAEC;
  --r-panel: 32px;
  --r-btn: 14px;
  --r-card: 24px;
  font-size: 18px;
}
.ed .wrap { max-width: var(--wrap); }

/* ── Type ── */
.ed h1, .ed h2, .ed h3, .ed .prose h2, .ed .prose h3 { font-family: var(--serif); font-weight: 420; font-variation-settings: 'opsz' 60; }
.ed h1 { font-size: clamp(2.75rem, 1rem + 5.2vw, 5rem); line-height: 1.03; letter-spacing: -0.03em; }
.ed h2 { font-size: clamp(2rem, 1.3rem + 2.3vw, 3.25rem); line-height: 1.08; letter-spacing: -0.025em; }
.ed h3 { letter-spacing: -0.015em; font-weight: 450; }
.ed .section { padding: clamp(64px, 9vw, 128px) 0; }
.ed .head { max-width: 860px; }
.ed .tint { background: var(--lilac); }
.ed .lead { font-size: clamp(1.1875rem, 1.05rem + 0.5vw, 1.375rem); line-height: 1.5; }

/* ── Buttons ── */
.ed .btn { border-radius: var(--r-btn); min-height: 54px; padding: 0 28px; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.ed .btn-gold { box-shadow: none; }
.ed .btn-gold:hover { transform: none; box-shadow: none; background: var(--gold-2); }
.ed .btn-ghost { background: transparent; border: 1.5px solid var(--plum-900); color: var(--plum-900); }
.ed .btn-ghost:hover { background: var(--plum-900); color: #fff; }
.ed .dark .btn-ghost { border-color: rgba(255,255,255,.7); color: #fff; }
.ed .dark .btn-ghost:hover { background: #fff; color: var(--plum-900); }
.ed .nav-cta { min-height: 42px; font-size: 0.75rem; padding: 0 18px; }
.ed .link { font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.05em; text-transform: uppercase; }

/* ── Navigation: plain white, gold underline ── */
.ed .site-nav { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 1px solid var(--line); }
.ed .nav-links a { border-radius: 0; padding: 0 14px; position: relative; }
.ed .nav-links a:hover { background: transparent; color: var(--ink); }
.ed .nav-links > li > a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 8px; height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform 260ms var(--ease); }
.ed .nav-links > li > a:hover::after, .ed .nav-links > .has-menu:focus-within > a::after, .ed .nav-links > li > a[aria-current="page"]::after { transform: scaleX(1); }
.ed .nav-links .menu { border-radius: 16px; box-shadow: 0 18px 32px -18px rgba(31,20,36,.35); }
.ed .nav-links .menu a { border-radius: 10px; }
.ed .nav-links .menu a::after { display: none; }
.ed .nav-links .menu a:hover { background: var(--lilac); }
.ed .nav-toggle { border-radius: 12px; background: var(--lilac); }

/* ── Page hero: moving gradient ── */
.ed .page-hero { position: relative; isolation: isolate; overflow: hidden; border: 0; background: linear-gradient(160deg, #F1E9F6 0%, #E4D4EE 55%, #F3E6B8 100%); padding: clamp(64px, 9vw, 128px) 0 clamp(64px, 8vw, 112px); }
.ed .page-hero::before, .ed .page-hero::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(64px); will-change: transform; }
.ed .page-hero::before { width: 46vmax; height: 46vmax; right: -12vmax; top: -22vmax; background: #C9A0D8; opacity: .85; animation: ed-drift-a 28s ease-in-out infinite alternate; }
.ed .page-hero::after { width: 38vmax; height: 38vmax; right: 6vmax; bottom: -26vmax; background: #F2CF62; opacity: .75; animation: ed-drift-b 24s ease-in-out infinite alternate; }
.ed .page-hero h1 { max-width: 20ch; color: var(--plum-900); }
.ed .page-hero h1 em { font-style: normal; font-weight: inherit; color: inherit; text-decoration: none; }
.ed .page-hero .lead { color: var(--plum-900); max-width: 52ch; }
.ed .page-hero .crumbs, .ed .page-hero .crumbs a { color: var(--plum-800); }
@keyframes ed-drift-a { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-9vmax,8vmax,0) scale(1.12); } }
@keyframes ed-drift-b { from { transform: translate3d(0,0,0) scale(1.05); } to { transform: translate3d(-10vmax,-6vmax,0) scale(.92); } }

/* ── Dark sections become solid rounded colour panels (gradient stays in the hero) ── */
.ed .section.dark { position: relative; isolation: isolate; overflow: hidden; margin: 0 clamp(10px, 2vw, 28px); border-radius: var(--r-panel); background: var(--plum-900); }
.ed .section.dark h2 { max-width: 20ch; }

/* ── Cards ── */
.ed .card { border: 0; border-radius: var(--r-card); box-shadow: none; background: var(--lilac); padding: clamp(24px, 3vw, 36px); }
.ed .tint .card { background: #fff; }
.ed a.card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -26px rgba(46,29,51,.4); border: 0; }
.ed .card h3 { font-size: 1.5rem; }
.ed .picker q { font-family: var(--serif); font-size: 1.375rem; font-weight: 420; line-height: 1.3; }
.ed .picker .link { font-size: 0.75rem; }
.ed .svc-feature, .ed .svc-feature.card { background: var(--plum-900); border-radius: var(--r-panel); box-shadow: none; }
.ed .svc-feature h3 { font-size: clamp(1.75rem, 1.4rem + 1vw, 2.25rem); }
.ed .svc-detail { border-radius: var(--r-panel); padding: clamp(28px, 4vw, 56px); background: var(--lilac); }
.ed .tint .svc-detail { background: #fff; }
.ed .svc-detail h2 { font-size: clamp(1.875rem, 1.3rem + 1.6vw, 2.75rem); }
.ed .svc-side { border-radius: 24px; }
.ed .chip { border-radius: 14px; border: 0; background: rgba(255,255,255,.7); }
.ed .engage li, .ed .steps li { border: 0; border-radius: var(--r-card); background: var(--lilac); padding: 28px; }
.ed .tint .engage li, .ed .tint .steps li { background: #fff; }
.ed .engage h3, .ed .steps h3 { font-size: 1.375rem; }
.ed .steps li.final { background: var(--gold-50); }
.ed .badge { border-radius: 999px; }
.ed .post-card h2 { font-size: clamp(1.5rem, 1.2rem + 0.7vw, 1.875rem); line-height: 1.18; }
.ed .fit .card { background: var(--lilac); }

/* ── FAQ ── */
.ed .faq { max-width: none; border-top: 1px solid var(--plum-950); }
.ed .faq details { background: transparent; border: 0; border-bottom: 1px solid var(--line-2); border-radius: 0; }
.ed .faq details + details { margin-top: 0; }
.ed .faq summary { padding: 24px 0; font-family: var(--serif); font-weight: 420; font-size: clamp(1.25rem, 1rem + 0.7vw, 1.625rem); letter-spacing: -0.012em; }
.ed .faq summary:hover { color: var(--accent); }
.ed .faq .answer { padding: 0 0 28px; max-width: 62ch; }

/* ── Article ── */
.ed .article-head { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(160deg, #F1E9F6 0%, #E4D4EE 60%, #F3E6B8 100%); }
.ed .article-head::before { content: ""; position: absolute; z-index: -1; width: 40vmax; height: 40vmax; right: -10vmax; top: -22vmax; border-radius: 50%; filter: blur(64px); background: #C9A0D8; opacity: .8; animation: ed-drift-a 28s ease-in-out infinite alternate; }
.ed .article-head h1 { font-size: clamp(2.25rem, 1.4rem + 3vw, 3.75rem); max-width: 22ch; color: var(--plum-900); }
.ed .article-head .excerpt { font-size: 1.25rem; color: var(--plum-900); }
.ed .prose { font-size: 1.125rem; }
.ed .prose h2 { font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.25rem); }
.ed .prose blockquote { background: var(--lilac); border-radius: 20px; padding: 22px 26px; font-family: var(--serif); font-size: 1.25rem; }
.ed .prose table { border-radius: 16px; border-color: var(--line-2); }
.ed .post-cta { border-radius: var(--r-panel); }

/* ── Footer ── */
.ed .site-footer { border-radius: var(--r-panel) var(--r-panel) 0 0; margin-top: clamp(10px, 2vw, 28px); }

/* ── Motion: gentle rise as things arrive. Content is visible without JS. ── */
@media (prefers-reduced-motion: no-preference) {
  .ed .rv:not(.in) { transform: translateY(28px); opacity: .7; }
  .ed .rv { transition: transform 900ms var(--ease), opacity 900ms var(--ease); }
}
@media (prefers-reduced-motion: reduce) {
  .ed .page-hero::before, .ed .page-hero::after, .ed .article-head::before { animation: none; }
}
@media (max-width: 560px) {
  .ed { --r-panel: 22px; --r-card: 20px; }
  .ed .btn { width: 100%; }
  .ed .nav-cta, .ed .nav-panel .btn { width: auto; }
  .ed .nav-panel .btn { width: 100%; }
  .ed .page-hero .actions { flex-direction: column; align-items: stretch; }
  .ed .svc-detail { padding: 24px 20px; }
}
@media (max-width: 860px) {
  .ed .svc-detail { grid-template-columns: minmax(0, 1fr); }
  .ed .svc-detail > * { min-width: 0; }
}
.ed .footer-col h2 { font-family: var(--font); font-size: 0.875rem; font-weight: 600; letter-spacing: 0; line-height: 1.4; max-width: none; }
.ed .site-footer .wordmark { font-family: var(--font); }
