/* HOME foundation: normalize browser defaults before the canonical Sites CSS.
   Kept separate from legacy HOME geometry; never loaded on inner pages. */
:root {
  --vellumia-ink: #10131a;
  --vellumia-muted: #667085;
  --vellumia-frost: #f8fafc;
  --vellumia-blue: #5b7cff;
  --vellumia-line: rgba(16,19,26,.13);
  --vellumia-ease: cubic-bezier(.2,.75,.25,1);
}
:where(body.home, body.home *:not(#wpadminbar, #wpadminbar *), body.home *::before, body.home *::after) {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}
body.home { line-height: 1.5; -webkit-text-size-adjust: 100%; }
:where(body.home h1, body.home h2, body.home h3, body.home h4) { font-size: inherit; font-weight: inherit; }
:where(body.home img, body.home svg, body.home video) { display: block; vertical-align: middle; }
:where(body.home img, body.home video) { max-width: 100%; height: auto; }
:where(body.home button, body.home input, body.home select, body.home textarea) { color: inherit; font: inherit; background: transparent; }
:where(body.home button) { cursor: pointer; }
:where(body.home ol, body.home ul) { list-style: none; }
:where(body.home [hidden]:not([hidden="until-found"])) { display: none !important; }

/* Existing CMS work entries have no static Sites sample. Preserve their
   established presentation without importing legacy Hero/sticky rules. */
.vellumia-home-works .vellumia-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; margin: clamp(54px,8vw,110px) 0 75px; }
.vellumia-home-works .vellumia-section-heading h2 { margin: 0; font-size: clamp(39px,5.7vw,84px); font-weight: 450; line-height: 1.14; letter-spacing: -.055em; }
.vellumia-work-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(45px,6vw,90px) clamp(25px,4vw,60px); }
.vellumia-work-card { min-width: 0; }
.vellumia-work-card__media { position: relative; aspect-ratio: 1.35; overflow: hidden; background: #e9edf4; }
.vellumia-work-card__media > img, .vellumia-work-card__media > .vellumia-placeholder { width: 100%; height: 100%; object-fit: cover; transition: transform .75s var(--vellumia-ease); }
.vellumia-work-card__media > span { opacity: 0; position: absolute; right: 15px; bottom: 15px; padding: 10px 13px; background: rgba(16,19,26,.88); color: #fff; font-size: 8px; letter-spacing: .12em; transform: translateY(8px); transition: opacity .3s, transform .3s; }
.vellumia-work-card:hover .vellumia-work-card__media > img, .vellumia-work-card:hover .vellumia-placeholder { transform: scale(1.025); }
.vellumia-work-card:hover .vellumia-work-card__media > span { opacity: 1; transform: none; }
.vellumia-placeholder { position: relative; overflow: hidden; background: radial-gradient(circle at 57% 42%,rgba(83,216,251,.32),transparent 33%),linear-gradient(145deg,#eef3f9,#d6deea); }
.vellumia-placeholder > span { position: absolute; width: 34%; height: 62%; left: 33%; top: 19%; border: 1px solid rgba(91,124,255,.23); background: rgba(255,255,255,.2); backdrop-filter: blur(5px); }
.vellumia-placeholder > span:nth-child(1) { transform: rotate(-24deg); }
.vellumia-placeholder > span:nth-child(3) { transform: rotate(24deg); }
.vellumia-work-card__body { padding-top: 20px; }
.vellumia-work-card__body > p { margin: 0 0 10px; color: var(--vellumia-blue); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.vellumia-work-card__body h2 { margin: 0; font-size: clamp(21px,2.1vw,31px); font-weight: 530; letter-spacing: -.035em; overflow-wrap: anywhere; }
.vellumia-work-card__body > span { display: block; margin-top: 9px; color: var(--vellumia-muted); font-size: 12px; line-height: 1.6; }
@media (max-width: 900px) {
  .vellumia-home-works .vellumia-section-heading { align-items: flex-start; flex-direction: column; margin: 48px 0; }
  .vellumia-work-grid { grid-template-columns: 1fr; gap: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .vellumia-work-card * { transition: none !important; }
}
