/* V4: black, fuchsia light and continuously drifting translucent layers. */
:root { --bg: #070707; --ink: #faf7f9; --muted: #bbb6ba; --line: #ffffff26; --pink: #ff008e; --atmo-base: 7, 7, 7; --atmo-a: 255, 0, 142; --atmo-b: 230, 0, 108; --atmo-c: 255, 82, 177; }
body { background: #070707; isolation: isolate; }
main, .footer { position: relative; z-index: 1; }
.page-atmosphere { position: fixed; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; background: rgb(var(--atmo-base)); --atmo-x: 0px; --atmo-y: 0px; --atmo-drift: 0px; --atmo-turn: 0deg; contain: strict; }
.atmosphere-base { position: absolute; inset: 0; background: radial-gradient(ellipse at 85% 65%, #ff008e0b, transparent 55%), linear-gradient(135deg, #050505, #0c080b 55%, #050505); }
.atmosphere-halo { position: absolute; width: 95vmax; height: 85vmax; will-change: transform; }
.halo-rose { left: -43vmax; top: -41vmax; background: radial-gradient(ellipse, rgba(var(--atmo-a), .42), rgba(var(--atmo-a), .09) 37%, transparent 65%); animation: aurora-rose 9s ease-in-out infinite alternate; }
.halo-blue { right: -39vmax; bottom: -44vmax; background: radial-gradient(ellipse, rgba(var(--atmo-b), .35), rgba(var(--atmo-b), .07) 36%, transparent 64%); animation: aurora-blue 11s ease-in-out infinite alternate; }
.halo-gold { width: 82vmax; height: 50vmax; left: -4vmax; top: 10vmax; background: radial-gradient(ellipse, rgba(var(--atmo-c), .12), transparent 63%); animation: aurora-gold 12s ease-in-out infinite alternate; }
.atmosphere-ribbons { position: absolute; inset: -20%; transform: translate3d(var(--atmo-x), calc(var(--atmo-y) + var(--atmo-drift)), 0) rotate(var(--atmo-turn)); will-change: transform; }
.light-ribbon { position: absolute; inset: -4%; width: 108%; height: 108%; overflow: visible; }
.light-ribbon stop { stop-color: #ff008e; }
.light-ribbon stop:nth-child(3) { stop-color: #ff5cb7; }
.light-ribbon path[stroke]:not([stroke='none']) { stroke: #ff80c8; stroke-opacity: .24; }
.ribbon-one { animation: ribbon-breath-one 8s ease-in-out infinite alternate; opacity: .88; }
.ribbon-two { animation: ribbon-breath-two 10s ease-in-out infinite alternate; opacity: .68; }
.ambient-glass { position: absolute; border: 1px solid #ff7bbe29; background: linear-gradient(140deg, #ff008e13, #ffffff02 45%, #ff008e08); box-shadow: inset 0 1px 0 #ffffff15; width: 62vw; height: 28vw; min-height: 180px; min-width: 380px; border-radius: 48% 52% 67% 33% / 44% 34% 66% 56%; will-change: transform; }
.glass-upper { top: -12%; right: -25%; animation: glass-float-one 9s ease-in-out infinite alternate; }
.glass-lower { bottom: -16%; left: -25%; animation: glass-float-two 12s ease-in-out infinite alternate; }
.atmosphere-shards { position: absolute; inset: -12%; transform: translate3d(calc(var(--atmo-x) * -.6), calc(var(--atmo-y) * -.6 + var(--atmo-drift) * -.7), 0) rotate(calc(var(--atmo-turn) * -.6)); will-change: transform; }
.atmosphere-shard { position: absolute; display: block; border: 1px solid #ff69bc2e; background: linear-gradient(125deg, #ff008e14, #ff008e01 58%, #ffffff08); box-shadow: inset 0 1px 0 #ffffff17; animation: shard-drift 13s ease-in-out infinite alternate; }
.atmosphere-shard:nth-child(1) { width: 23vw; height: 18vw; min-width: 180px; min-height: 140px; top: 26%; right: 5%; border-radius: 24px; --shard-angle: -22deg; }
.atmosphere-shard:nth-child(2) { width: 31vw; height: 8vw; left: 3%; top: 57%; border-radius: 70%; --shard-angle: 28deg; animation-delay: -5s; animation-duration: 11s; }
.atmosphere-shard:nth-child(3) { width: 16vw; height: 24vw; left: 45%; top: 11%; border-radius: 45% 12% 48% 20%; --shard-angle: 32deg; animation-delay: -8s; animation-duration: 16s; opacity: .55; }
.atmosphere-grain { position: absolute; inset: 0; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.55' filter='url(%23n)'/%3E%3C/svg%3E"); }
@keyframes aurora-rose { from { transform: translate3d(-8%, -5%, 0) scale(.83); } to { transform: translate3d(20%, 22%, 0) scale(1.12); } }
@keyframes aurora-blue { from { transform: translate3d(10%, 12%, 0) scale(1.08); } to { transform: translate3d(-23%, -18%, 0) scale(.86); } }
@keyframes aurora-gold { from { transform: translate3d(-17%, 24%, 0) rotate(-15deg); } to { transform: translate3d(22%, -18%, 0) rotate(19deg); } }
@keyframes ribbon-breath-one { from { transform: translate3d(-8%, 7%, 0) rotate(-9deg) scale(.98); } to { transform: translate3d(9%, -9%, 0) rotate(10deg) scale(1.1); } }
@keyframes ribbon-breath-two { from { transform: translate3d(10%, -8%, 0) rotate(9deg); } to { transform: translate3d(-9%, 9%, 0) rotate(-11deg); } }
@keyframes glass-float-one { from { transform: translate3d(0, 0, 0) rotate(-32deg); } to { transform: translate3d(-22%, 35%, 0) rotate(-8deg); } }
@keyframes glass-float-two { from { transform: translate3d(0, 0, 0) rotate(32deg); } to { transform: translate3d(24%, -32%, 0) rotate(9deg); } }
@keyframes shard-drift { from { transform: translate3d(-8%, 12%, 0) rotate(var(--shard-angle)); } to { transform: translate3d(15%, -20%, 0) rotate(calc(var(--shard-angle) + 26deg)); } }

/* Stable reading surfaces let the atmosphere stay expressive. */
.header {
  top: 18px; left: var(--gutter); right: var(--gutter); width: auto; height: 78px;
  padding: 0 26px; gap: 24px; border-radius: 24px;
  background: linear-gradient(120deg, #0d0d0dc9, #101010b8);
  border: 1px solid #ffffff33; box-shadow: 0 10px 35px #06060629, inset 0 1px 0 #ffffff11;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.header .desktop-nav { margin-right: 15px; gap: 24px; }
.header-actions { gap: 23px; }
.contact-link { background: #ffffff0c; border-color: #ffffff50; }
.contact-link:hover { background: #d6d6d6; color: #101010; }
.hero { background: transparent; overflow: hidden; }
.hero-photo-wrap { opacity: .77; background: transparent; mask-image: linear-gradient(#000000 0%, #000000 47%, #000000bb 73%, transparent 100%); }
.hero-photo img { filter: brightness(.85) saturate(.8); }
.hero-shade {
  background: linear-gradient(90deg, #0e0e0ee6, #0e0e0e80 39%, #0e0e0e05 80%),
    linear-gradient(0deg, transparent, #10101012 50%, #0c0c0c40);
}
.hero h1 { text-shadow: 0 5px 36px #0a0a0a40; }
.hero h1 em { color: #e9e9e9; }
.hero-copy { position: relative; z-index: 2; }
.hero-topline, .hero-bottom, .hero-description p { color: #dedede; }
.hero .circle-link { background: #e5e5e515; border-color: #ffffff77; backdrop-filter: blur(14px); }
.hero .circle-link:hover { background: #c6c6c6c9; color: #0f0f0f; }
.hero::after {
  content: ""; position: absolute; z-index: 0; right: -12%; bottom: -1%;
  width: 62%; height: 32%; border: 1px solid #dedede30;
  border-radius: 50%; transform: rotate(-17deg);
  background: linear-gradient(140deg, #cfcfcf1a, #e2e2e208);
  pointer-events: none;
}
.worlds, .service-chapter, .films, .design-work, .work, .pricing, .studio, .contact, .footer {
  background: transparent;
}
.worlds, .service-chapter, .films, .design-work, .pricing, .studio, .contact { position: relative; isolation: isolate; }
.worlds { padding-top: 80px; }
.worlds h2 em, .section-heading h2 em { color: #cecece; }
.worlds-heading > p:last-child, .section-heading > p { color: #d1d1d1; }
.world-card {
  border-radius: 24px; border: 1px solid #ffffff3a;
  box-shadow: 0 24px 60px #0808082e, inset 0 1px 0 #ffffff35;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.world-card h3 { letter-spacing: -1px; }
.world-card p { opacity: .83; }
.world-photo { background: #b9b9b911; }
.world-design { background: linear-gradient(145deg, #d7d7d7e8, #c7c7c7b5); }
.world-print { background: linear-gradient(145deg, #dddddde0, #b8b8b8c9); }
.world-textile { background: linear-gradient(145deg, #c2c2c2ed, #aaaaaabb); }
.world-cards { gap: 20px; }
.kinetic-ribbon {
  border: 0; background: linear-gradient(90deg, #dbdbdb0c, #e3e3e316, #dfdfdf0c);
  transform: rotate(-2.3deg); margin: 35px 0 55px; padding: 28px 0;
  box-shadow: inset 0 1px 0 #f1f1f124, inset 0 -1px 0 #f1f1f124;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.kinetic-ribbon > div { color: #ececec; }
.kinetic-ribbon span { color: #c8c8c8; }
.chapter-nav {
  margin: 0 auto; top: 15px; width: fit-content; max-width: calc(100% - 36px); padding: 0 22px;
  height: 64px; border: 1px solid #e5e5e536; border-radius: 24px;
  background: linear-gradient(120deg, #131313ce, #151515c9);
  box-shadow: 0 12px 40px #0c0c0c2b, inset 0 1px 0 #ffffff1a;
  backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px);
}
.chapter-nav a { color: #cbcbcb; }
.chapter-nav a span { color: #acacac; }
.chapter-nav a::after { bottom: 10px; left: 12px; right: 12px; height: 1px; background: #cfcfcf; }
.chapter-nav a.active { color: #f8f8f8; }
.service-chapter { --chapter-accent: #cacaca; --chapter-muted: #cecece; --chapter-line: #f1f1f12b; }
.chapter-design { --chapter-accent: #dfdfdf; --chapter-muted: #dadada; }
.chapter-print { color: #f6f6f6; --chapter-accent: #dbdbdb; --chapter-muted: #d4d4d4; --chapter-line: #ffffff33; }
.chapter-textile { --chapter-accent: #d0d0d0; --chapter-muted: #cdcdcd; }
.service-chapter::before {
  content: ""; position: absolute; z-index: -1; inset: -160px -0px -160px; pointer-events: none;
  background: radial-gradient(ellipse at 18% 43%, #dddddd0c, transparent 63%);
}
.chapter-design::before { background: radial-gradient(ellipse at 82% 42%, #dcdcdc1c, transparent 68%); }
.chapter-print::before { background: radial-gradient(ellipse at 20% 46%, #dadada17, transparent 65%); }
.chapter-textile::before { background: radial-gradient(ellipse at 76% 48%, #c1c1c11b, transparent 65%); }
.chapter-heading h2 { text-shadow: 0 8px 35px #08080820; }
.chapter-layout { gap: 5.5vw; grid-template-columns: 1fr 1fr; }
.chapter-copy {
  padding: 34px 35px 32px; border: 1px solid #efefef2b; border-radius: 30px;
  background: linear-gradient(140deg, #ffffff11, #f4f4f409 55%, #dedede12);
  box-shadow: inset 0 1px 0 #ffffff22, 0 20px 70px #0808081a;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.chapter-lead { font-size: clamp(27px, 2.7vw, 43px); margin-bottom: 32px; }
.chapter-lead em { color: #e4e4e4; }
.offering summary h3 { font-size: clamp(17px, 1.4vw, 23px); }
.offering > div > p { color: var(--chapter-muted); }
.offering > div > a { color: #efefef; }
.offering .offer-highlight { color: #e7e7e7; }
.offering[open] { background: linear-gradient(95deg, transparent, #eeeeee07, transparent); }
.chapter-cta {
  border-radius: 15px; background: linear-gradient(120deg, var(--chapter-accent), #e5e5e5);
  color: #111111; box-shadow: inset 0 1px 0 #ffffff55, 0 8px 25px #08080815;
}
.chapter-stage { isolation: isolate; }
.chapter-stage::before {
  content: ""; position: absolute; z-index: -1; inset: -2% 0 12%;
  border: 1px solid #ffffff20; border-radius: 35% 28% 43% 19% / 27% 43% 31% 29%;
  background: linear-gradient(140deg, #e4e4e417, #dcdcdc0a 50%, #e3e3e30b);
  transform: rotate(calc(-7deg + var(--kinetic) * 9deg));
  box-shadow: inset 0 1px 0 #ffffff22, 0 20px 65px #08080812;
}
.stage-caption { color: #dadada; }
.photo-stack img { border: 6px solid #f1f1f1af; border-radius: 6px; box-shadow: 0 25px 65px #0c0c0c66; }
.brand-board { border-radius: 12px; border: 1px solid #ffffff55; }
.brand-swatch { border-radius: 12px; border: 1px solid #ffffff77; }
.palette-controls {
  background: #1010106b; border: 1px solid #ffffff33; border-radius: 40px;
  padding: 12px 15px; bottom: 34px; backdrop-filter: blur(10px);
}
.palette-controls > span { color: #e8e8e8; }
.print-sheet { border-radius: 5px; }
.sheet-rear { background: linear-gradient(140deg, #a8a8a8, #a9a9a9); color: #121212; }
.sheet-photo { box-shadow: 0 25px 50px #0e0e0e66; }
.print-seal { background: #cfcfcfcc; color: #151515; border: 1px solid #ffffff77; backdrop-filter: blur(10px); }
.print-placement { border: 1px solid #ffffff33; background: #0e0e0e70; backdrop-filter: blur(12px); }
.print-placement button { color: #d2d2d2; }
.print-placement button.active { background: #d3d3d3; }
.shirt-sticker { background: #e3e3e3d9; border: 1px solid #ffffffcc; backdrop-filter: blur(10px); }
.film-open { border-radius: 22px; border: 1px solid #e0e0e035; box-shadow: 0 18px 50px #0a0a0a2e; }
.film-play { background: #e4e4e423; backdrop-filter: blur(10px); border-color: #ffffff99; }
.film-card > a { color: #cbcbcb; }
.film-card h3 { color: #f4f4f4; }
.design-project-image {
  border: 1px solid #f1f1f12b; border-radius: 27px;
  background: linear-gradient(145deg, #f0f0f015, #dcdcdc09);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 20px 60px #0d0d0d1a;
}
.design-project-image img { border-radius: 8px; }
.design-project figcaption > span:last-child { color: #dadada; }
.project-image { border: 1px solid #eeeeee33; border-radius: 23px; box-shadow: 0 14px 45px #0a0a0a1f; }
.gallery-count, .gallery-navigation > span, .project-caption small, .project-number, .gallery-end { color: #c9c9c9; }
.filter-bar { border-color: #e6e6e630; }
.filter { color: #d3d3d3; background: #e3e3e306; border: 1px solid #eeeeee22; backdrop-filter: blur(10px); }
.filter.active { background: #e4e4e4d9; color: #121212; }
.gallery-navigation button { border-color: #e3e3e344; background: #e2e2e20d; backdrop-filter: blur(10px); }
.image-corner { background: #e8e8e8d4; backdrop-filter: blur(10px); color: #121212; }
.pricing { border-top: 0; }
.price-card {
  border: 1px solid #e8e8e835; border-radius: 26px;
  background: linear-gradient(140deg, #e6e6e617, #e8e8e809); backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px); box-shadow: inset 0 1px 0 #ffffff22, 0 25px 55px #0b0b0b1a;
}
.price-card.featured { border-color: #c8c8c86b; background: linear-gradient(140deg, #cdcdcd2c, #cdcdcd12); }
.price-card .tiny-index, .price-description, .price small, .price-extras small, .pricing-note { color: #cbcbcb; }
.price-card.featured .tiny-index { color: #e3e3e3; }
.price-extras p { border-color: #e0e0e030; }
.price-extras a { color: #d3d3d3; }
.studio { color: #f4f4f4; --muted: #c9c9c9; --line: #ffffff33; overflow: visible; }
.studio::before {
  content: ""; position: absolute; z-index: -1; inset: -140px 0;
  background: radial-gradient(ellipse at 49% 50%, #d4d4d41c, transparent 72%); pointer-events: none;
}
.studio h2 em { color: #cdcdcd; }
.studio-copy { color: #d8d8d8; }
.studio .studio-intro::after { background-image: url('assets/logo-cdm-color.png'); opacity: .9; }
.person-image { border-radius: 27px; border: 1px solid #ededed45; box-shadow: 0 25px 65px #0b0b0b33; }
.person-caption h3 { color: #f4f4f4; }
.person-caption p { color: #cdcdcd; }
.contact::before {
  content: ""; position: absolute; z-index: -1; inset: -140px 0 -100px;
  background: radial-gradient(ellipse at 80% 55%, #c8c8c817, transparent 69%); pointer-events: none;
}
.contact h2 em { color: #d1d1d1; }
.contact-copy > p:not(.tiny-index), .contact-address > span { color: #d2d2d2; }
.contact-email { border-color: #e4e4e466; }
.contact-form {
  padding: 38px; border: 1px solid #eaeaea35; border-radius: 29px;
  background: linear-gradient(135deg, #e6e6e61a, #ebebeb0b); backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px); box-shadow: inset 0 1px 0 #ffffff22, 0 24px 70px #0a0a0a26;
}
.contact-form label { color: #e9e9e9; }
.contact-form input, .contact-form select, .contact-form textarea { border-color: #e2e2e240; color: #f5f5f5; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #b4b4b4; }
.contact-form select option { background: #121212; color: #f4f4f4; }
.form-note { color: #c7c7c7; }
.submit-button { border-radius: 13px; background: linear-gradient(110deg, #cfcfcf, #dadada); color: #0f0f0f; }
.submit-button:hover { background: #dbdbdb; }
.form-status { color: #dfdfdf; }
.footer-top { border-color: #eeeeee2b; }
.footer-top p, .footer-bottom { color: #c5c5c5; }
.menu-dialog { background: linear-gradient(140deg, #101010ee, #171717f5 65%, #161616ee); backdrop-filter: blur(35px); }
.menu-links a { border-color: #f1f1f125; }
.menu-links a:hover { color: #dddddd; }
.menu-bottom { color: #d1d1d1; }
.lightbox { background: linear-gradient(140deg, #0f0f0ff5, #151515f5); backdrop-filter: blur(30px); }
.video-dialog { background: linear-gradient(130deg, #111111ee, #151515f5); backdrop-filter: blur(25px); border: 1px solid #ffffff33; border-radius: 22px; }
.video-frame { border-radius: 12px; overflow: hidden; }
.video-fallback { color: #cdcdcd; }
.page-atmosphere.is-hidden * { animation-play-state: paused !important; }

@media (max-width: 1100px) {
  .header { padding: 0 20px; gap: 20px; }
  .header .desktop-nav { gap: 18px; margin-right: 0; }
  .header-actions { gap: 18px; }
  .chapter-copy { padding: 27px 25px; }
  .chapter-layout { gap: 4vw; }
  .chapter-lead { font-size: 30px; }
  .offering summary { gap: 12px; }
  .offering summary h3 { font-size: 18px; }
  .contact-form { padding: 29px; }
  .world-cards { gap: 14px; }
}
@media (max-width: 760px) {
  .page-atmosphere { --atmo-turn: 0deg; }
  .atmosphere-halo { width: 125vmax; height: 110vmax; opacity: .8; }
  .halo-rose { left: -79vmax; top: -45vmax; animation-duration: 24s; }
  .halo-blue { right: -73vmax; bottom: -50vmax; animation-duration: 28s; }
  .halo-gold { display: none; }
  .atmosphere-ribbons { inset: -8% -45%; }
  .ribbon-one { opacity: .73; animation-duration: 21s; }
  .ribbon-two { opacity: .6; animation-duration: 28s; }
  .glass-upper { top: 4%; right: -72%; opacity: .55; }
  .glass-lower { bottom: 2%; left: -76%; opacity: .5; }
  .atmosphere-grain { opacity: .03; }
  .header { top: 13px; left: 17px; right: 17px; height: 70px; padding: 0 19px; border-radius: 21px; }
  .header-actions { gap: 15px; }
  .header .original-logo { width: 122px; }
  .hero-photo-wrap { opacity: .79; mask-image: linear-gradient(#000000, #000000 45%, #00000099 78%, transparent 100%); }
  .hero-shade { background: linear-gradient(0deg, #11111115, #0d0d0d33 45%, #0e0e0e44), linear-gradient(90deg, #0e0e0e8a, transparent); }
  .hero::after { width: 95%; right: -50%; height: 29%; bottom: 2%; }
  .hero h1 { text-shadow: 0 4px 20px #0a0a0a66; }
  .worlds { padding-top: 62px; }
  .worlds h2 em { color: #d2d2d2; }
  .world-cards { gap: 12px; }
  .world-card { border-radius: 19px; backdrop-filter: none; }
  .world-card p { opacity: .85; }
  .kinetic-ribbon { margin: 22px 0 33px; padding: 20px 0; transform: rotate(-2deg); backdrop-filter: none; }
  .chapter-nav { top: 10px; height: 56px; padding: 0 10px; gap: 0; width: max-content; max-width: calc(100% - 24px); border-radius: 19px; }
  .chapter-nav a { padding: 0 9px; font-size: 9px; gap: 7px; }
  .chapter-nav a span { font-size: 6px; }
  .chapter-nav a::after { bottom: 9px; left: 8px; right: 8px; }
  .chapter-heading { padding-top: 70px; }
  .chapter-intro { color: #d6d6d6; }
  .chapter-stage { margin-top: 12px; margin-bottom: 22px; }
  .chapter-stage::before { inset: 0 0 9%; border-radius: 32% 24% 38% 19%; }
  .chapter-copy { padding: 26px 22px; border-radius: 23px; background: linear-gradient(140deg, #ececec14, #d9d9d908); backdrop-filter: blur(10px); }
  .chapter-lead { font-size: 29px; letter-spacing: -1px; }
  .offering summary { gap: 12px; padding: 20px 0; }
  .offering summary h3 { font-size: 18px; }
  .offering > div { padding-left: 21px; }
  .offering > div > p { font-size: 12px; line-height: 1.85; }
  .offer-highlight { flex-wrap: wrap; }
  .chapter-cta { margin-top: 27px; font-size: 10px; padding: 18px; border-radius: 13px; }
  .chapter-cta span { font-size: 23px; }
  .palette-controls { bottom: 27px; padding: 10px 13px; }
  .palette-controls > span { font-size: 6px; margin-left: 4px; }
  .stage-caption { bottom: 0; color: #d9d9d9; }
  .photo-stack img { border-width: 4px; }
  .design-project-image { border-radius: 22px; padding: 18px; backdrop-filter: none; }
  .film-open { border-radius: 19px; }
  .project-image { border-radius: 20px; }
  .price-card { border-radius: 22px; backdrop-filter: blur(10px); }
  .person-image { border-radius: 23px; }
  .studio-copy, .person-caption p { color: #d5d5d5; }
  .contact-form { padding: 29px 22px; border-radius: 23px; backdrop-filter: blur(10px); }
  .contact-form .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form input { font-size: 12px; }
  .footer-top { padding-top: 30px; }
}
@media (max-width: 380px) {
  .chapter-nav { padding: 0 5px; }
  .chapter-nav a { font-size: 8px; gap: 5px; padding: 0 7px; }
  .chapter-copy { padding: 24px 18px; }
  .offering summary h3 { font-size: 17px; }
  .offering summary { gap: 10px; }
  .chapter-lead { font-size: 27px; }
  .contact-form { padding: 25px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-atmosphere *, .chapter-stage::before { animation: none !important; transition: none !important; }
  .atmosphere-ribbons { transform: none !important; }
  .page-atmosphere .light-ribbon { transform: none !important; }
}
.motion-off .page-atmosphere *, .motion-off .chapter-stage::before { animation: none !important; transition: none !important; }
.motion-off .atmosphere-ribbons, .motion-off .page-atmosphere .light-ribbon { transform: none !important; }

/* Fuchsia identity and neutral reading surfaces. */
.header, .chapter-nav { background: #0a080bdd; border-color: #ffffff25; }
.hero-shade { background: linear-gradient(90deg, #060606ec, #06060677 40%, #06060603 85%), linear-gradient(0deg, #07070700, #07070710 50%, #07070750); }
.hero h1 em, .worlds h2 em, .section-heading h2 em, .studio h2 em, .contact h2 em { color: #ff54b3; }
.hero::after { border-color: #ff008e2e; background: linear-gradient(140deg, #ff008e14, transparent); }
.world-card { color: #faf7f9; background: linear-gradient(145deg, #161014d9, #090909bb); border-color: #ff75c32b; }
.world-design { background: linear-gradient(145deg, #39001fce, #10090ed9); }
.world-print, .world-textile { background: linear-gradient(145deg, #211018db, #0a0a0acf); }
.kinetic-ribbon { background: linear-gradient(90deg, #ff008e09, #ff008e1d, #ff008e09); }
.kinetic-ribbon span, .price-extras a { color: #ff54b3; }
.service-chapter, .chapter-design, .chapter-print, .chapter-textile { --chapter-accent: #ff54b3; --chapter-muted: #c2b9bf; --chapter-line: #ffffff26; }
.service-chapter::before, .chapter-design::before, .chapter-print::before, .chapter-textile::before { background: radial-gradient(ellipse at 80% 50%, #ff008e0d, transparent 62%); }
.chapter-copy, .contact-form { background: linear-gradient(140deg, #151014e6, #0b0b0be0); }
.chapter-stage::before { background: linear-gradient(140deg, #ff008e12, #ffffff02 55%, #ff008e08); border-color: #ff68ba26; }
.chapter-cta, .submit-button { background: #d90079; color: #fff; }
.chapter-cta:hover, .submit-button:hover { background: #d60077; }
.chapter-nav a::after { background: #ff008e; }
.price-card.featured { background: linear-gradient(140deg, #ff008e20, #0b080bdc); border-color: #ff008e66; }
.filter.active { background: #d90079; color: #fff; }
.menu-dialog, .lightbox, .video-dialog { background: #090909f5; }
.contact-form select option { background: #101010; }
.view-cursor { display: none !important; }
.pointer-light { position: fixed; z-index: 24; top: 0; left: 0; width: 360px; height: 290px; pointer-events: none; opacity: 0; transform: translate3d(-600px, -600px, 0); transition: opacity .4s; will-change: transform; mix-blend-mode: screen; }
.pointer-light::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 35% 41%, #ff138044, transparent 52%), radial-gradient(ellipse at 65% 60%, #ff79bd28, transparent 50%), radial-gradient(ellipse at 61% 23%, #ff008e20, transparent 48%); filter: blur(20px); transform: rotate(-18deg); }
.pointer-light.is-visible { opacity: .85; }
.pointer-light.is-over-control { opacity: 1; }
.motion-off .pointer-light { display: none; }
.motion-off .atmosphere-shards { transform: none; }
@media(max-width: 760px) {
  .hero-shade { background: linear-gradient(0deg, #07070733, #07070730 50%, #07070766), linear-gradient(90deg, #07070799, transparent); }
  .halo-rose { animation-duration: 13s; }
  .halo-blue { animation-duration: 16s; }
  .ribbon-one { animation-duration: 13s; }
  .ribbon-two { animation-duration: 16s; }
  .atmosphere-shard:nth-child(3) { display: none; }
  .atmosphere-shard { animation-duration: 16s; }
  .chapter-copy { background: #0e0b0ee6; }
}
@media (hover: none), (pointer: coarse) { .pointer-light { display: none; } }
@media (prefers-reduced-motion: reduce) { .pointer-light { display: none; } .atmosphere-shards { transform: none !important; } }
/* Independent depth response keeps the mouse travel unmistakable. */
.atmosphere-halo { translate: calc(var(--atmo-x) * .75) calc(var(--atmo-y) * .75); }
.glass-upper { translate: calc(var(--atmo-x) * -.85) calc(var(--atmo-y) * -.85); }
.glass-lower { translate: calc(var(--atmo-x) * .9) calc(var(--atmo-y) * .9); }
.motion-off .atmosphere-halo, .motion-off .ambient-glass { translate: none; }
@media(prefers-reduced-motion: reduce) { .atmosphere-halo, .ambient-glass { translate: none; } }
