/* MALP / Three worlds. Native Gutenberg blocks; motion is optional. */
.home { --cream: #f6f4ec; --ink: #252b24; --muted: #71746b; --orange: #f15c3a; --line: #d9dbcf; }
.home .header { background: #f6f4eced; backdrop-filter: blur(16px); }
.home .header-inner { height: 80px; }
.home .nav-cta { background: #252b24; color: #fff; border-radius: 100px; padding: 14px 22px; }
.home .nav-cta:hover { background: #e45a38; }
.world-hero { overflow: clip; padding: 32px 0 25px; color: #252b24; background: #f6f4ec; }
.world-hero *, .world-focus * { box-sizing: border-box; }
.world-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.world-eyebrow, .world-coordinate { font-size: 9px; font-weight: 650; letter-spacing: 1.6px; line-height: 1.7; }
.world-meta .world-eyebrow::before { content: ''; display: inline-block; width: 7px; height: 7px; background: #f15c3a; border-radius: 100%; margin-right: 10px; }
.world-coordinate { color: #74796f; font-size: 8px; }
.world-heading-grid { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 65px; padding: 24px 0 32px; }
.world-title { position: relative; font-size: clamp(72px, 7.2vw, 104px); font-weight: 550; line-height: .93; letter-spacing: -.065em; margin: 0; width: max-content; max-width: 100%; }
.world-title em { color: #f15c3a; letter-spacing: -.065em; }
.world-title::after { content: ''; position: absolute; top: 7%; right: -105px; width: 82px; height: 82px; background: url('worlds/spark.svg') center/contain no-repeat; }
.world-intro { max-width: 330px; justify-self: end; padding-top: 15px; }
.world-lead { font-size: clamp(18px, 1.6vw, 23px); line-height: 1.45; font-weight: 500; letter-spacing: -.6px; }
.world-intro-copy { color: #6e7469; font-size: 12px; line-height: 1.7; margin-top: 13px; max-width: 290px; }
.world-intro > .wp-block-buttons { margin-top: 24px; }
.wp-block-button.world-primary { background: #252b24; color: #fff; font-size: 12px; font-weight: 600; border-radius: 100px; }
.world-primary .wp-block-button__link { padding: 17px 24px; min-height: 48px; transition: background .2s, transform .2s; }
.world-primary .wp-block-button__link:hover { background: #f15c3a; transform: translateY(-2px); }
.world-portals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; position: relative; isolation: isolate; }
.world-portals::before { content: ''; position: absolute; width: 115%; height: 75%; border: 1px solid #cdd2c5; border-radius: 50%; left: -7%; top: 17%; transform: rotate(-12deg); z-index: -1; pointer-events: none; }
.world-card { position: relative; min-width: 0; display: flex; flex-direction: column; z-index: 1; --world-turn: -3deg; --world-color: #f2c1d0; }
.world-climate { --world-turn: 2deg; --world-color: #c5d3ed; }
.world-travel { --world-turn: -2deg; --world-color: #e2eaae; }
.world-label { order: 0; position: static; padding: 0 4px 23px; }
.world-label h2 { font-size: clamp(22px, 2.05vw, 30px); font-weight: 550; line-height: 1.1; letter-spacing: -1.1px; padding-right: 48px; }
.world-label h2 a::after { content: ''; position: absolute; inset: 0; z-index: 7; border-radius: 24px; }
.world-label h2 a::before { content: '↗'; position: absolute; right: 2px; top: 6px; height: 39px; width: 39px; border: 1px solid #bfc4b8; border-radius: 50%; display: grid; place-items: center; font-size: 22px; font-weight: 400; transition: background .3s, color .3s, transform .3s; }
.world-subtitle { margin-top: 9px; color: #71776b; font-size: 10px; letter-spacing: .05px; line-height: 1.5; }
.world-portal { order: 1; position: relative; width: 100%; max-width: 380px; margin: 0 auto; transform: perspective(1000px) rotate(var(--world-turn)) rotateX(var(--world-rx, 0deg)) rotateY(var(--world-ry, 0deg)); transition: transform .4s cubic-bezier(.2,.8,.2,1), filter .4s; filter: drop-shadow(0 15px 14px #25301f0c); }
.world-art { overflow: hidden; border-radius: 48% 48% 14% 14%; margin: 0; background: var(--world-color); }
.world-climate .world-art { border-radius: 24% 24% 24% 24%; }
.world-travel .world-art { border-radius: 48% 15% 48% 15%; }
.world-art img { aspect-ratio: 1; width: 100%; height: auto; display: block; }
.world-index { position: absolute; top: 127px; left: 22px; color: #252b24; background: #f8f6edf2; backdrop-filter: blur(12px); border-radius: 100px; padding: 7px 11px; font: 600 8px/1.4 'Manrope Variable', sans-serif; letter-spacing: 1px; z-index: 3; pointer-events: none; transform: rotate(-6deg); }
.world-note { position: absolute; right: -6px; bottom: 30px; padding: 12px 16px; border: 1px solid #f7f5ed; color: #252b24; background: #f8f6eff5; box-shadow: 0 5px 20px #353a2920; border-radius: 100px; z-index: 4; font-size: 10px; font-weight: 600; transform: rotate(-5deg); pointer-events: none; }
.world-note::before { content: '✳'; font-size: 16px; margin-right: 9px; color: #e15335; vertical-align: -1px; }
.world-climate .world-note { bottom: 45px; transform: rotate(5deg); }
.world-travel .world-note { transform: rotate(-3deg); }
.world-card:hover .world-label h2 a::before, .world-card:focus-within .world-label h2 a::before { background: #252b24; color: #fff; transform: rotate(45deg); }
.world-card:focus-within { outline: 2px solid #e15a38; outline-offset: 10px; border-radius: 20px; }
.world-label h2 a:focus-visible { outline: none; }
.world-card:hover .world-portal { filter: drop-shadow(0 20px 20px #25301f20); }
.world-end { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 37px; border-top: 1px solid #d3d7c9; padding-top: 19px; }
.world-explore { font-size: 10px; color: #70766b; }
.world-explore a { display: inline-block; padding: 7px 0; }
.world-connection { position: absolute; width: calc(100% + 70px); left: -35px; top: 65px; height: calc(100% - 50px); z-index: -1; overflow: visible; pointer-events: none; fill: none; }
.world-connection .world-orbit-line { stroke: #a1ac94; stroke-width: 1; opacity: .6; }
.world-connection .world-orbit-trace { stroke: #f15c3a; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 25 1450; }
.world-connection .world-svg-star { fill: #e6edaa; stroke: #252b24; stroke-width: 1; transform-box: fill-box; transform-origin: center; }
.world-focus { padding-block: 110px 100px; }
.world-focus-heading { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px 70px; align-items: end; margin-bottom: 50px; }
.world-focus-heading > .eyebrow { grid-column: 1 / -1; color: #6f7666; font-size: 9px; }
.world-focus-heading h2 { font-size: clamp(40px, 4.5vw, 66px); }
.world-focus-intro { font-size: 14px; line-height: 1.8; max-width: 300px; justify-self: end; color: #6c7466; }
.world-rows { display: grid; gap: 20px; }
.world-row { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 46px; align-items: center; padding: 33px 45px 33px 30px; border: 1px solid #d4d7cb; border-radius: 30px; background: #f1eee9; scroll-margin-top: 110px; }
.world-row.world-beauty { background: #f5e4e7; border-color: #e7cfd5; }
.world-row.world-climate { background: #e5eaf3; border-color: #cfd9e6; }
.world-row.world-travel { background: #edf0d9; border-color: #d6ddbc; }
.world-detail-art { width: 220px; margin: 0; }
.world-detail-art img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.world-row-content { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 15px 30px; align-items: center; }
.world-row-index { grid-column: 1 / -1; font-size: 9px; font-weight: 650; letter-spacing: 1.4px; }
.world-row h3 { grid-column: 1 / -1; font-size: clamp(22px, 2.6vw, 35px); line-height: 1.2; font-weight: 550; letter-spacing: -1.2px; }
.world-row-copy { grid-column: 1 / -1; max-width: 710px; color: #636c5f; font-size: 13px; line-height: 1.85; }
.world-row-tags { font-size: 8px; line-height: 1.7; font-weight: 600; letter-spacing: .7px; color: #636c5f; }
.world-row .wp-block-buttons { justify-content: end; }
.wp-block-button.world-contact { font-size: 11px; font-weight: 650; }
.world-contact .wp-block-button__link { min-height: 44px; padding-block: 10px; border-bottom: 1px solid #8a9480; border-radius: 0; text-align: left; }
.world-contact .wp-block-button__link:hover { color: #bf3d22; }
.home .ticker { background: #dfe9ac; border-color: #c5ce98; }
.home .ticker .ticker-copy { font-size: 11px; font-weight: 600; letter-spacing: 2px; }
.home .manifesto { padding-block: 100px; }
.home .journey-scroll, .home .contact-section { background: #252d25; }
.home .journey-card { border-color: #525b49; background: #30392e; }
.home .card-yellow { background: #f2d3dc; }
.home .card-peach { background: #d0def2; }
.home .card-brown { background: #303d31; }
.home .contact-copy h2 em { color: #e4edab; }
.home .contact-copy h2, .home .contact-email { color: #f6f4ec; }
.home .contact-copy > p, .home .contact-benefits > p { color: #bdc5b5; }
.home .contact-copy > p.eyebrow { color: #cbd3bc; }
.home .form-shell { background: #30392e; border-color: #505a47; box-shadow: inset 0 1px 0 #ffffff0c, 0 18px 50px #10180b20; }
.home .form-shell p.form-eyebrow, .home .contact-form label, .home .contact-form .optional, .home .privacy-check, .home .form-note { color: #d2d8c8; }
.home .contact-form input:not([type='checkbox']), .home .contact-form textarea { color: #f6f4ec; border-color: #7d8773; }
.home .contact-form input::placeholder, .home .contact-form textarea::placeholder { color: #b9c1af; }
.home .contact-form input:focus, .home .contact-form textarea:focus { border-color: #e4edab; }
.home .contact-form .form-submit { background: #e4edab; border-color: #e4edab; color: #252b24; box-shadow: none; }
.home .contact-form .privacy-check > span { color: #d2d8c8; }
.home .contact-form .form-status.success { color: #e4edab; }
.home .contact-form .form-status.error { color: #ffb69e; }
.home .journey-card > p.eyebrow, .home .journey-heading .eyebrow { color: #c6ceb6; }
.home .journey-card > p:not(.eyebrow), .home .journey-side-note { color: #c0c8b6; }
.home .malp-motion-toggle { background: #f8f6edee; color: #39422f; border-color: #d1d5c5; }
html[data-malp-motion='on'] .world-hero.world-visible .world-title::after { animation: world-spin 35s linear infinite; }
html[data-malp-motion='on'] .world-hero.world-visible .world-note { animation: world-bob 5s ease-in-out infinite alternate; }
html[data-malp-motion='on'] .world-hero.world-visible .world-portal { animation: world-levitate 8s ease-in-out infinite alternate; }
html[data-malp-motion='on'] .world-hero.world-visible .world-climate .world-portal { animation-delay: -3s; }
html[data-malp-motion='on'] .world-hero.world-visible .world-travel .world-portal { animation-delay: -5s; }
html[data-malp-motion='on'] .world-hero.world-visible .world-climate .world-note { animation-delay: -2s; }
html[data-malp-motion='on'] .world-hero.world-visible .world-travel .world-note { animation-delay: -3.5s; }
html[data-malp-motion='on'] .world-hero.world-visible .world-orbit-trace { animation: world-orbit 14s linear infinite; }
html[data-malp-motion='on'] .world-hero.world-visible .world-svg-star { animation: world-spin 25s linear infinite reverse; }
html[data-malp-motion='on'] .world-card:hover .world-portal { transform: perspective(1000px) translateY(-9px) rotateX(var(--world-rx, 0deg)) rotateY(var(--world-ry, 0deg)) scale(1.015); }
@keyframes world-spin { to { transform: rotate(360deg); } }
@keyframes world-bob { from { translate: 0 -4px; } to { translate: 0 6px; } }
@keyframes world-levitate { from { translate: 0 0; } to { translate: 0 -9px; } }
@keyframes world-orbit { to { stroke-dashoffset: -1475; } }
@media (min-width: 1600px) { .world-heading-grid { padding-bottom: 45px; } .world-hero { padding-top: 45px; } }
@media (max-width: 1100px) {
  .world-heading-grid { grid-template-columns: 1.3fr 1fr; gap: 42px; }
  .world-title { font-size: 85px; }
  .world-title::after { right: -64px; width: 55px; height: 55px; }
  .world-portals { gap: 23px; }
  .world-label h2 { font-size: 24px; }
  .world-subtitle { font-size: 9px; }
  .world-note { font-size: 8px; padding: 9px 12px; right: -5px; }
  .world-index { top: 125px; left: 12px; font-size: 7px; padding: 6px 8px; }
  .world-row { grid-template-columns: 180px minmax(0,1fr); gap: 30px; padding: 28px; }
  .world-detail-art { width: 180px; }
  .world-row-content { grid-template-columns: 1fr; }
  .world-row .wp-block-buttons { justify-content: start; }
}
@media (max-width: 800px) {
  .world-heading-grid { gap: 30px; padding-top: 28px; }
  .world-title { font-size: 73px; }
  .world-title::after { width: 44px; height: 44px; right: -42px; top: -8px; }
  .world-intro { padding-left: 12px; }
  .world-lead { font-size: 17px; }
  .world-intro-copy { font-size: 11px; }
  .world-primary .wp-block-button__link { padding: 14px 17px; font-size: 11px; }
  .world-portals { gap: 17px; }
  .world-label h2 { font-size: 22px; padding-right: 26px; letter-spacing: -.8px; }
  .world-label h2 a::before { height: 28px; width: 28px; font-size: 18px; top: 5px; right: -2px; }
  .world-subtitle { font-size: 8px; min-height: 24px; }
  .world-index { top: 130px; left: 6px; }
  .world-note { padding: 8px 10px; font-size: 7px; bottom: 15px; }
  .world-note::before { font-size: 12px; margin-right: 5px; }
  .world-climate .world-note { bottom: 25px; }
  .world-focus-heading { gap: 20px 30px; }
  .world-focus-intro { font-size: 12px; }
}
@media (max-width: 600px) {
  .home .header-inner { height: 70px; }
  .home .nav-cta { padding: 11px 15px; font-size: 10px; }
  .world-hero { padding: 24px 0 24px; }
  .world-hero .container { width: calc(100% - 40px); }
  .world-coordinate { display: none; }
  .world-eyebrow { font-size: 7px; letter-spacing: 1.3px; }
  .world-heading-grid { display: block; padding: 23px 0 28px; }
  .world-title { font-size: clamp(58px, 16.8vw, 88px); }
  .world-title::after { width: 44px; height: 44px; right: -56px; top: 10px; }
  .world-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; max-width: none; padding: 0; margin-top: 22px; }
  .world-lead { font-size: 12px; letter-spacing: -.2px; line-height: 1.6; }
  .world-intro-copy { display: none; }
  .world-intro > .wp-block-buttons { margin: 0; }
  .world-primary .wp-block-button__link { padding: 13px 16px; font-size: 10px; min-height: 44px; }
  .world-portals { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .world-portals::before, .world-connection { display: none; }
  .world-card { display: grid; grid-template-columns: minmax(0,1fr) 112px; grid-template-areas: 'label art'; align-items: center; gap: 12px; padding: 12px 13px 12px 20px; border-radius: 24px; background: #f2d6df; }
  .world-card.world-climate { background: #d5e0f1; }
  .world-card.world-travel { background: #e6ecc3; }
  .world-portal { grid-area: art; width: 112px; transform: rotate(var(--world-turn)); filter: none; }
  .world-label { grid-area: label; padding: 0; }
  .world-label h2 { font-size: 23px; line-height: 1.05; padding: 0; letter-spacing: -.8px; }
  .world-label h2 a::before { right: 14px; top: 14px; height: 23px; width: 23px; font-size: 14px; background: #f9f8efde; z-index: 4; border-color: #f9f8ef; }
  .world-subtitle { font-size: 8px; margin-top: 8px; min-height: 0; line-height: 1.5; color: #58634e; max-width: 180px; }
  .world-index, .world-note { display: none; }
  .world-card:focus-within { outline-offset: 3px; }
  .world-end { margin-top: 23px; padding-top: 13px; gap: 15px; }
  .world-end .world-eyebrow { font-size: 6px; letter-spacing: .8px; }
  .world-explore { font-size: 8px; text-align: right; max-width: 135px; line-height: 1.5; }
  .world-focus { padding-block: 70px; }
  .world-focus-heading { display: block; margin-bottom: 30px; }
  .world-focus-heading h2 { font-size: 42px; letter-spacing: -2.5px; margin-block: 20px; }
  .world-focus-intro { font-size: 12px; max-width: 290px; }
  .world-row { grid-template-columns: 1fr; gap: 23px; padding: 25px; border-radius: 24px; }
  .world-detail-art { width: 145px; }
  .world-row-content { gap: 13px; }
  .world-row h3 { font-size: 27px; letter-spacing: -1px; }
  .world-row-copy { font-size: 12px; }
  .world-row-tags { font-size: 7px; }
  .world-contact .wp-block-button__link { font-size: 10px; }
  .home .manifesto { padding-block: 65px; }
  .home .ticker .ticker-copy { font-size: 8px; word-spacing: 5px; letter-spacing: .9px; }
}
@media (max-width: 360px) {
  .world-title { font-size: 57px; }
  .world-title::after { width: 36px; height: 36px; right: -42px; }
  .world-card { grid-template-columns: minmax(0,1fr) 92px; padding-left: 17px; }
  .world-portal { width: 92px; }
  .world-label h2 { font-size: 20px; }
  .world-intro { gap: 10px; }
  .world-lead { font-size: 11px; }
  .world-primary .wp-block-button__link { padding-inline: 12px; font-size: 9px; }
}
html[data-malp-motion='off'] .world-hero *, html[data-malp-motion='off'] .world-hero *::after { animation: none !important; }
@media (prefers-reduced-motion: reduce), print {
  .world-hero *, .world-hero *::before, .world-hero *::after { animation: none !important; transition: none !important; }
  .world-card:hover .world-portal { transform: rotate(var(--world-turn)) !important; }
}
/* Reusable blocks remain readable and editable on the editor canvas. */
.editor-styles-wrapper .world-hero { padding-top: 35px; }
.editor-styles-wrapper .world-label h2 a::after { display: none; }
.editor-styles-wrapper .world-hero * { animation: none !important; }
