/* The landing page shares the case studies' editorial font pairing. */
@font-face{font-family:Figtree;src:url('/assets/figtree.woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/instrument-serif-normal.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/instrument-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
[data-portfolio-source="home"]{--portfolio-serif:'Instrument Serif',Georgia,serif;--portfolio-sans:Figtree,Arial,sans-serif}
[data-portfolio-source="home"]{
  --portfolio-bg:#0b0a13;
  --portfolio-surface:#191221;
  --portfolio-line:#3b294b;
  --token-6b2be53b-6817-448e-b133-cd93fd6651c5:#0b0a13!important;
  --token-aae92d1e-1be4-447e-8038-565c6944f982:#0b0a13!important;
  --token-b2fb23d9-6070-4f2d-b3d0-2fe68c4f2aab:#171020e6!important;
  --token-cd9ad879-0340-4881-8da6-7efa110062d4:#dea7fa!important;
  --token-a888adc2-3d05-4d6f-88b7-8dab97418795:#8250b7!important;
  --token-313dd4d6-9859-4bdd-889b-954a849d13e3:#3b294b!important;
  --token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b:#bfb1ce!important;
  --token-55fce8bf-ab86-42dc-8b77-6335cf9cf588:#faf2ff!important;
  background:var(--portfolio-bg)!important;
}
[data-portfolio-source="home"] #main,
[data-portfolio-source="home"] #main>[data-framer-root],
[data-portfolio-source="home"] :is(#work,#experience,#contact,.framer-1lxvc49){background:var(--portfolio-bg)!important}
[data-portfolio-source="home"] nav{background:#0c0813ed!important;backdrop-filter:blur(18px);box-shadow:0 1px 0 #b474d91c}
[data-portfolio-source="home"] nav a:hover,[data-portfolio-source="home"] nav a:hover .framer-text{color:#e1b8fb!important}
[data-portfolio-source="home"] ::selection{color:#1a1023;background:#dea7fa}
[data-portfolio-source="home"] :focus-visible{outline-color:#d5a1f3!important}
[data-portfolio-source="home"] :is(.framer-1qwwr90,.framer-1xgcesh){background:radial-gradient(ellipse at 100% 100%,#75419924,transparent 70%),#171020!important;--border-color:#3b294b!important;border-radius:14px!important}
[data-portfolio-source="home"] .framer-text,
[data-portfolio-source="home"] button,
[data-portfolio-source="home"] input{font-family:var(--portfolio-sans)!important}
[data-portfolio-source="home"] :is(h1,h2,h3).framer-text,
[data-portfolio-source="home"] :is(h1,h2,h3).framer-text *{
  font-family:var(--portfolio-serif)!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
}
[data-portfolio-source="home"] .framer-9c129d h1{line-height:1.08!important}
[data-portfolio-source="home"] :is(h6,p).framer-text{letter-spacing:0!important}

/* Original preview artwork sits directly on the page without a card or mat.
   Containment preserves the complete image, including the full phone height. */
[data-portfolio-source="home"] :is(.framer-73d1om,.framer-vi818a,.framer-oz9oce,.framer-nj0ntq,.framer-109edj5,.framer-1do4qo6){
  background:transparent!important;
  border:0!important;
  --border-color:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  filter:none!important;
  overflow:visible!important;
}
[data-portfolio-source="home"] #work img{
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  border-radius:0!important;
  box-sizing:border-box;
  mix-blend-mode:normal;
}

/* The About artwork retains its layout, with the same subdued framing. */
[data-portfolio-source="about"] .framer-v6c793{
  background:#141417;
  border:1px solid #333038;
  border-radius:16px;
  box-shadow:0 20px 50px -30px #0009;
}
[data-portfolio-source="about"] .framer-v6c793 img{object-fit:contain!important;object-position:center!important}

/* Contact cards fit their container and let long contact details wrap. */
[data-portfolio-source="home"] #contact{padding-inline:clamp(24px,4vw,48px)!important;overflow:visible!important}
[data-portfolio-source="home"] #contact .framer-15cd8g5{max-width:840px!important;padding:14px 0!important;overflow:visible!important}
[data-portfolio-source="home"] #contact .framer-1f3wutt{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;align-items:stretch!important;width:100%!important;min-width:0;overflow:visible!important}
[data-portfolio-source="home"] #contact :is(.framer-vy1gty,.framer-16zkhs){box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0;height:auto!important;padding:22px clamp(18px,2.5vw,28px)!important;overflow:visible!important}
[data-portfolio-source="home"] #contact :is(.framer-iqimp8,.framer-1ak6boz,.framer-cgsnko,.framer-1ku30fy,.framer-1919ggo){width:100%!important;min-width:0;max-width:100%;overflow:visible!important;align-items:flex-start!important}
[data-portfolio-source="home"] #contact :is(.framer-1ku30fy,.framer-1919ggo) :is(p,span){font-size:clamp(16px,1.7vw,19px)!important;line-height:1.6!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}

/* The VR preview uses its full source ratio, with rounded visible corners. */
[data-portfolio-source="home"] #work .framer-nj0ntq{aspect-ratio:2304 / 1792!important;border-radius:20px!important;overflow:hidden!important}
[data-portfolio-source="home"] #work .framer-nj0ntq img{border-radius:20px!important;object-fit:contain!important}
@media(max-width:650px){
 [data-portfolio-source="home"] #contact .framer-1f3wutt{grid-template-columns:minmax(0,1fr)}
 [data-portfolio-source="home"] #contact :is(.framer-vy1gty,.framer-16zkhs){padding:22px 20px!important}
}

/* Quiet pools of colour share the same base so section edges never form bands. */
[data-portfolio-source="home"] #work{
  background:
    linear-gradient(180deg,var(--portfolio-bg),transparent 14%,transparent 84%,var(--portfolio-bg)),
    radial-gradient(ellipse 78% 36% at 0% 38%,#43306824,transparent 78%),
    radial-gradient(ellipse 65% 29% at 100% 75%,#1b69731c,transparent 80%),
    var(--portfolio-bg)!important;
}
[data-portfolio-source="home"] #work :is(h1,h2,h3,h4,h5,h6),
[data-portfolio-source="home"] #work :is(h1,h2,h3,h4,h5,h6) *{
  font-family:'Oswald','Arial Narrow',sans-serif!important;
  font-weight:700!important;
  --framer-font-weight:700!important;
  line-height:1.25!important;
}
[data-portfolio-source="home"] #contact{
  background:
    linear-gradient(180deg,var(--portfolio-bg),transparent 28%,transparent 75%,var(--portfolio-bg)),
    radial-gradient(ellipse 68% 78% at 23% 50%,#64509928,transparent 80%),
    radial-gradient(ellipse 64% 78% at 84% 66%,#28747d21,transparent 80%),
    var(--portfolio-bg)!important;
}
[data-portfolio-source="home"] #contact :is(.framer-vy1gty,.framer-16zkhs){
  background:linear-gradient(125deg,#c6b5ef0c,#96dfe303),#111019!important;
  --border-color:#c1b9d526!important;
  border-radius:16px!important;
  box-shadow:inset 0 1px 0 #efe4ff08!important;
}
