@charset "UTF-8";

@font-face { font-family: "Inter"; src: url("assets/fonts/inter-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("assets/fonts/newsreader-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 600; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("assets/fonts/newsreader-italic-latin.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter Fallback"; src: local("Arial"); size-adjust: 107%; ascent-override: 91%; descent-override: 23%; line-gap-override: 0%; }
@font-face { font-family: "Newsreader Fallback"; src: local("Georgia"); size-adjust: 100%; ascent-override: 98%; descent-override: 27%; line-gap-override: 0%; }


@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .3s; animation-timing-function: cubic-bezier(.2, .7, .2, 1); }
::view-transition-group(site-header), ::view-transition-group(site-footer) { animation: none; }
::view-transition-old(site-header), ::view-transition-old(site-footer) { animation: none; opacity: 0; }
::view-transition-new(site-header), ::view-transition-new(site-footer) { animation: none; }

:root {
  color-scheme: light;
  --paper: #f7f5f0;
  --ink: #24221f;
  --muted: #74706a;
  --rule: #d9d5cd;
  --serif: "Newsreader", "Newsreader Fallback", Georgia, serif;
  --sans: "Inter", "Inter Fallback", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { background: #272622; scroll-behavior: smooth; }
body { display: flex; min-height: 100vh; min-height: 100dvh; flex-direction: column; margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body > main { flex: 1; }
a { color: inherit; }
a:focus-visible { outline: 1px solid var(--muted); outline-offset: 5px; }

.skip-link { position: absolute; z-index: 30; top: 1rem; left: 1rem; padding: .6rem .9rem; color: var(--ink); background: var(--paper); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { view-transition-name: site-header; position: relative; z-index: 4; display: flex; align-items: center; justify-content: space-between; min-height: 80px; gap: 1.5rem; padding: 0 clamp(1.4rem, 5.2vw, 5.5rem); }
.site-header--light { border-bottom: 1px solid var(--rule); }
.wordmark { justify-self: start; width: fit-content; color: var(--ink); font-family: var(--serif); font-size: 1.23rem; font-weight: 500; letter-spacing: 0; text-decoration: none; white-space: nowrap; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(.8rem, 1.8vw, 1.6rem); font-family: var(--sans); font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.site-nav a { color: inherit; text-decoration: none; }

.home-opening { position: relative; display: flex; flex: none; flex-direction: column; height: 100vh; height: 100dvh; }
.home-opening .site-header { flex: none; }
body:has(.home-opening) > main { position: relative; z-index: 1; background: var(--paper); }
body:has(.home-opening) > .site-footer { position: relative; z-index: 1; }
.home-opening .home-photo-wordmark { position: fixed; z-index: 2; top: 40px; left: clamp(1.4rem, 5.2vw, 5.5rem); color: #fff; text-shadow: 0 1px 8px rgb(0 0 0 / 35%); transform: translateY(-50%); transition: opacity .2s ease, background-size .25s cubic-bezier(.2, .7, .2, 1); }
html.intro-pending .home-photo-wordmark { visibility: hidden; }
.home-opening:is(.is-header-visible, .is-header-hover) .home-photo-wordmark, .home-opening:has(.site-header:focus-within) .home-photo-wordmark { opacity: 0; pointer-events: none; }

.home-opening.header-ready .site-header { position: fixed; z-index: 10; top: 0; right: 0; left: 0; background: var(--paper); opacity: 0; pointer-events: none; transform: translateY(-100%); transition: opacity .4s ease-out, transform .4s ease-out; }
.home-opening.header-ready.is-header-visible .site-header, .home-opening.header-ready.is-header-hover .site-header, .home-opening.header-ready .site-header:focus-within { opacity: 1; pointer-events: auto; transform: translateY(0); }
.photo-strip { position: fixed; z-index: 0; top: 0; left: 0; display: flex; gap: .55rem; width: 100%; height: 100vh; height: 100dvh; overflow: hidden; background: var(--paper); }
.photo-slot { flex: 1 0 0; min-width: 0; overflow: hidden; background: #e7e5df; transform: scale(var(--hero-depth, 1)); }
.photo-slot.has-image { background: var(--paper); }
.photo-slot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.scroll-cue { position: fixed; z-index: 1; bottom: 1.5rem; left: 50%; width: .55rem; height: .55rem; border-right: 1px solid var(--muted); border-bottom: 1px solid var(--muted); opacity: .65; pointer-events: none; transform: translateX(-50%) rotate(45deg); animation: scroll-cue-bob 2s ease-in-out infinite; }
.home-opening.is-scrolled .scroll-cue { opacity: 0; }
@keyframes scroll-cue-bob { 0%, 100% { transform: translate(-50%, 0) rotate(45deg); } 50% { transform: translate(-50%, 4px) rotate(45deg); } }
.home-intro { padding: 4rem clamp(1.4rem, 12vw, 12rem) clamp(1.7rem, 3vw, 3rem); }
.home-intro-copy { display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem; width: 100%; max-width: 58rem; min-width: 0; }
.home-intro-paragraph { min-width: 0; margin: 0; color: var(--ink); font-family: var(--serif); font-size: clamp(1.25rem, 1.8vw, 1.65rem); line-height: 1.35; }
.home-content { padding: 0 clamp(1.4rem, 12vw, 12rem) 3.5rem; }
.contents-group { position: relative; padding: clamp(1.4rem, 2.5vw, 2.4rem) 0; }
.home-content .contents-group::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; background: var(--rule); content: ""; transform-origin: left center; }
.contents-group-label { margin: 0 0 .85rem; color: var(--muted); font-family: var(--sans); font-size: .63rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.contents-entry { display: grid; grid-template-columns: minmax(2rem, .12fr) 1fr; gap: clamp(.25rem, .35vw, .45rem); padding: .55rem 0 .8rem; color: inherit; text-decoration: none; }
.home-content .contents-entry + .contents-entry { margin-top: .6625rem; }
.contents-number { padding-top: .25rem; color: var(--muted); font-size: .68rem; font-weight: 600; letter-spacing: .12em; }
.contents-entry-copy { display: grid; gap: .15rem; max-width: 54rem; }
.contents-title { margin: 0; color: var(--ink); font-family: var(--sans); font-size: 1rem; font-weight: 500; letter-spacing: 0; line-height: 1.2; }
.contents-standfirst { text-wrap: pretty; margin: 0; color: var(--muted); font-family: var(--sans); font-size: .96rem; line-height: 1.45; }
.contents-entry:focus-visible { outline-offset: 3px; }
.inline-link { color: inherit; text-decoration: underline; text-underline-offset: .16em; }
.external-label { color: var(--muted); }
.external-indicator { display: inline-block; color: var(--muted); font-size: .72em; vertical-align: .15em; }

.site-footer { view-transition-name: site-footer; display: flex; align-items: center; gap: 1.4rem; padding: 1.5rem clamp(1.4rem, 5.2vw, 5.5rem) 1.1rem; color: #d0ccc4; background: #272622; font-size: .8125rem; font-weight: 400; }
.footer-links { display: flex; flex-wrap: nowrap; gap: .65rem 1.4rem; padding: .5rem 0; }
.footer-links a { display: inline-flex; align-items: center; gap: .35em; color: inherit; font: inherit; text-decoration: none; }
.footer-links svg, .footer-email svg { width: 1.15em; height: 1.15em; flex: none; }
.footer-links .external-indicator { color: inherit; }
.footer-email { display: inline-flex; align-items: center; gap: .35em; color: inherit; font: inherit; text-decoration: none; }
/* Text links use a background line so it can grow without changing layout. */
:is(.footer-link-text, .wordmark, .inline-link, .role-entry .role-org) { text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-position: left bottom; background-repeat: no-repeat; background-size: 0 1px; -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background-size .25s cubic-bezier(.2, .7, .2, 1); }
:is(.footer-links a, .footer-email):is(:hover, :focus-visible) .footer-link-text, :is(.wordmark, .inline-link):is(:hover, :focus-visible), .role-entry:is(:hover, :focus-visible) .role-org { text-decoration: none; background-size: 100% 1px; }
.site-nav a { display: grid; grid-template-columns: max-content; color: var(--muted); font-weight: 500; transition: color .15s ease, font-weight .15s ease; }
.site-nav a::after { height: 0; overflow: hidden; visibility: hidden; content: attr(data-label); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
.site-nav a:is([aria-current="page"], :hover, :focus-visible) { color: var(--ink); }
.site-nav a:is(:hover, :focus-visible) { font-weight: 600; }
.footer-links a, .footer-email { width: fit-content; }
.footer-meta { display: flex; align-items: center; margin-left: auto; white-space: nowrap; }
.copyright { display: inline-flex; align-items: baseline; gap: .525em; flex: none; margin: 0; color: inherit; font: inherit; }
.footer-signoff { position: relative; top: .08em; width: auto; height: .9em; flex: none; transform-origin: center; touch-action: manipulation; }
.footer-card { display: inline-block; width: .623em; perspective: 100px; }
.footer-card-inner { position: relative; display: block; width: 100%; height: 100%; transform-origin: center; transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.footer-card.is-flipped .footer-card-inner { transform: rotateY(180deg); }
.footer-card-back, .footer-card-face { position: absolute; inset: 0; width: 100%; height: 100%; backface-visibility: hidden; }
.footer-card-face { transform: rotateY(180deg); }
.footer-card-face.is-red { color: #B5463F; }
@keyframes footer-club-spin { to { transform: rotate(360deg); } }
@media (hover: hover) {
  svg.footer-signoff:hover { animation: footer-club-spin .6s cubic-bezier(.2, .7, .2, 1); }
}

.poker-egg { position: fixed; z-index: 40; right: 1.25rem; bottom: 1.25rem; display: grid; justify-items: end; gap: .45rem; opacity: 0; pointer-events: none; transform: translateY(calc(100% + 2rem)); transition: opacity .55s cubic-bezier(.2, .7, .2, 1), transform .55s cubic-bezier(.2, .7, .2, 1); }
.poker-egg.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.poker-hand { padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
.poker-cards { display: flex; padding: 0 .3rem; perspective: 500px; }
.poker-card { width: 60px; height: 84px; transform-origin: bottom center; transform: rotate(var(--card-angle)); animation: poker-card-rise .55s cubic-bezier(.2, .7, .2, 1) both; animation-delay: var(--card-delay); }
.poker-card:first-child { --card-angle: -6deg; }
.poker-card:nth-child(2) { --card-angle: 6deg; position: relative; z-index: 1; margin-left: -36px; }
.poker-card-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .65s cubic-bezier(.2, .7, .2, 1) var(--card-delay); }
.poker-hand.is-peeking .poker-card-inner { transform: rotateY(180deg); }
.poker-card-face, .poker-card-back { position: absolute; inset: 0; overflow: hidden; border: 1px solid #d8d8d8; border-radius: 4px; box-shadow: 0 2px 5px rgb(0 0 0 / 12%); backface-visibility: hidden; }
.poker-card-face { color: #24221f; background: #fff; transform: rotateY(180deg); }
.poker-card--red { color: #b3262d; }
.poker-card-back { background: #24221f; }
.poker-card-back::after { position: absolute; inset: 4px; border: 1px solid #f7f5f0; border-radius: 2px; content: ""; }
.poker-index { position: absolute; z-index: 1; display: flex; width: 14px; flex-direction: column; align-items: center; line-height: 1; }
.poker-index--top { top: 3px; left: 2px; }
.poker-index--bottom { right: 2px; bottom: 3px; transform: rotate(180deg); }
.poker-index-rank { font-family: var(--serif); font-size: 12px; line-height: .95; }
.poker-index-suit { width: 8px; height: 8px; }
.poker-ace, .poker-pip { position: absolute; transform: translate(-50%, -50%) rotate(var(--pip-rotation, 0deg)); }
.poker-ace { top: 50%; left: 50%; width: 29px; height: 29px; }
.poker-pip { width: 11px; height: 11px; }
.poker-court { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; }
.poker-court-hat { width: 60%; height: auto; }
.poker-message { display: grid; justify-items: end; }
.poker-caption, .poker-hint { grid-area: 1 / 1; margin: 0; padding: .2rem .4rem; border-radius: 3px; background: var(--paper); font-size: .75rem; white-space: nowrap; transition: opacity .2s ease; }
.poker-caption { color: var(--ink); opacity: 0; }
.poker-hint { color: var(--muted); opacity: 1; }
.poker-egg.is-peeking .poker-caption { opacity: 1; }
.poker-egg.is-peeking .poker-hint { opacity: 0; }
.poker-hint-touch { display: none; }
@keyframes poker-card-rise { from { opacity: 0; transform: translateY(24px) rotate(var(--card-angle)); } to { opacity: 1; transform: translateY(0) rotate(var(--card-angle)); } }

.page-main { padding: 0 clamp(1.4rem, 12vw, 12rem) 7rem; }
.page-intro { padding: 2.2rem 0 1.4rem; border-bottom: 1px solid var(--rule); }
.page-intro h1 { margin: 0 0 .45rem; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; letter-spacing: 0; line-height: 1.2; }
.page-intro > .page-intro-copy { width: 100%; margin: 0 0 .85rem; color: #514e49; font-size: 1.05rem; }
.page-intro > p:last-child { width: 100%; max-width: none; margin: 0; color: #514e49; font-size: 1.05rem; }
.about-top-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: start; column-gap: 64px; padding: 2.2rem 0 1.35rem; border-bottom: 1px solid var(--rule); }
.about-title { grid-column: 1 / -1; margin: 0 0 .45rem; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; letter-spacing: 0; line-height: 1.2; }
.about-intro { grid-column: 1; grid-row: 2; justify-self: start; width: 100%; max-width: 620px; min-width: 0; }
.about-intro > p { width: 100%; max-width: none; margin: 0; color: #514e49; font-size: 1rem; }
.about-intro > p + p { margin-top: .75em; }
.about-portrait { position: relative; grid-column: 2; grid-row: 2; width: 260px; height: 260px; overflow: hidden; margin: 0; border-radius: 3px; background: #e7e5df; }
.about-portrait img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; opacity: 0; }
.about-portrait.has-image img { opacity: 1; }
.about-portrait-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: #928e87; font-size: .75rem; }
.about-portrait.has-image .about-portrait-placeholder { display: none; }
.numbered-list { padding-top: clamp(1.8rem, 3.5vw, 3rem); }
.contents-section-title { margin: 0 0 1.2rem; font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 400; letter-spacing: 0; line-height: 1.16; }
.numbered-list ol { margin: 0; padding: 0; list-style: none; }
.numbered-list li { display: grid; grid-template-columns: minmax(2rem, .12fr) 1fr; gap: clamp(.25rem, .35vw, .45rem); padding: .6rem 0 .9rem; }
.numbered-list li[id] { scroll-margin-top: 1rem; }
.numbered-list li + li { margin-top: .7425rem; }
.numbered-list li.linked-entry { display: block; padding: 0; }
.numbered-list li.linked-entry > .contents-entry { grid-template-columns: minmax(2rem, .12fr) 1fr; }
.numbered-list li.writing-dropdown-entry { padding-bottom: .8rem; }
.numbered-list li.writing-dropdown-entry { scroll-margin-top: 1rem; }
.numbered-list li.writing-dropdown-entry > .contents-entry { padding-bottom: 0; }
.numbered-list li .contents-entry-copy { display: grid; gap: .15rem; }
.numbered-list li .contents-title, .numbered-list li .contents-standfirst { margin: 0; }
#arbi .contents-standfirst + .contents-standfirst, #padel .contents-standfirst + .contents-standfirst, #chronicle .contents-standfirst + .contents-standfirst, #dugout .contents-standfirst + .contents-standfirst, #substack .contents-standfirst + .contents-standfirst { margin-top: .45rem; }
.paper-extra { display: grid; grid-template-columns: minmax(2rem, .12fr) minmax(0, 1fr); gap: clamp(.25rem, .35vw, .45rem); margin-top: .3375rem; }
.paper-extra-inner { grid-column: 2; max-width: 54rem; }
.service-video-toggle { display: block; padding: 0; border: 0; color: var(--muted); background: none; font: inherit; font-size: .75rem; line-height: 1.5; cursor: pointer; }
.service-video-toggle[hidden] { display: none; }
.service-video-toggle:hover, .service-video-toggle:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: .2em; }
.service-video-details { display: grid; grid-template-rows: 0fr; opacity: 0; pointer-events: none; transition: grid-template-rows .45s cubic-bezier(.2, .7, .2, 1), opacity .45s cubic-bezier(.2, .7, .2, 1); }
.service-video-details.is-open { grid-template-rows: 1fr; opacity: 1; pointer-events: auto; }
.service-video-details-inner { min-height: 0; overflow: hidden; }
.paper-summary { text-wrap: pretty; margin: .225rem 0 0; color: var(--muted); font-size: .96rem; line-height: 1.5; }
.paper-finding { text-wrap: pretty; margin: 1rem 0; color: var(--ink); font-family: var(--serif); font-size: 1.25rem; font-style: italic; font-weight: 400; line-height: 1.3; }
.paper-chart { max-width: 34rem; margin: 1.1rem 0 .8rem; }
.paper-chart figcaption { margin-bottom: .75rem; color: var(--muted); font-size: .75rem; }
.paper-chart-rows { position: relative; }
.paper-chart-rows::after { position: absolute; top: 0; right: 4.1rem; bottom: 0; width: 1px; background: var(--ink); opacity: .55; content: ""; }
.paper-chart-row { display: grid; grid-template-columns: 6rem minmax(0, 1fr) 3.5rem; align-items: center; gap: .6rem; margin-top: .4rem; color: var(--muted); font-size: .75rem; }
.paper-chart-track { position: relative; height: .65rem; }
.paper-chart-bar { position: absolute; top: 0; right: 0; bottom: 0; width: var(--bar-width); background: var(--ink); opacity: .55; transform: scaleX(1); transform-origin: right; transition: transform .65s cubic-bezier(.2, .7, .2, 1); }
.paper-chart.is-observed .paper-chart-bar { transform: scaleX(0); }
.paper-chart.is-observed.is-visible .paper-chart-bar { transform: scaleX(1); }
.paper-chart-value { text-align: right; white-space: nowrap; }
.padel-photo-row { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; min-width: 0; margin-top: 1.95rem; }
.padel-photo { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; padding: 0; border: 0; border-radius: 3px; color: #928e87; background: #e7e5df; font: inherit; font-size: .75rem; }
.padel-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.padel-photo-row .padel-photo:nth-child(2) img { object-position: 50% 60%; }
.padel-photo.has-image { cursor: zoom-in; }
.padel-photo.has-image img { opacity: 1; }
.padel-photo.has-image span { display: none; }
.numbered-contents { margin: 0; padding: 0; list-style: none; }
.numbered-contents > li { display: grid; grid-template-columns: minmax(2rem, .12fr) 1fr; gap: clamp(.25rem, .35vw, .45rem); padding: .55rem 0 .8rem; }
.numbered-contents .contents-title, .numbered-contents .contents-standfirst { margin: 0; }
.numbered-contents > li.linked-entry { display: block; padding: 0; }
.numbered-contents > li.linked-entry > .contents-entry { grid-template-columns: minmax(2rem, .12fr) 1fr; }
.page-contents-group { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.projects-writing { margin-top: .8rem; border-top: 1px solid var(--rule); }

.page-intro-copy { text-wrap: pretty; max-width: 54rem !important; }
.service-video { scroll-margin-top: 1rem; }
.featured-video { margin: .5rem 0 0; }
.featured-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 3px; background: #272622; }
.featured-video-play { position: absolute; inset: 0; display: grid; place-items: center; }
.featured-video-play img, .featured-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.featured-video-play img { object-fit: cover; }
.featured-video-play-icon { position: relative; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: rgb(39 38 34 / 75%); transition: background .2s ease; }
.featured-video-play-icon::after { width: 0; height: 0; margin-left: .2rem; border-top: .55rem solid transparent; border-bottom: .55rem solid transparent; border-left: .85rem solid var(--paper); content: ""; }
.featured-video-play:is(:hover, :focus-visible) .featured-video-play-icon { background: rgb(39 38 34 / 90%); }
.featured-video figcaption { margin-top: .4rem; color: var(--muted); font-size: .75rem; }
.service-timeline { position: relative; overflow-x: clip; margin-top: clamp(2.7rem, 5.25vw, 4.5rem); padding: 0 0 1rem; --timeline-line-height: 100%; }
.service-timeline::before, .timeline-progress { position: absolute; top: var(--timeline-line-top, 0px); bottom: auto; left: 50%; width: 1px; height: var(--timeline-line-height); content: ""; transform: translateX(-50%); }
.service-timeline::before { background: var(--rule); }
.timeline-progress { z-index: 1; background: var(--muted); transform: translateX(-50%) scaleY(1); transform-origin: top center; }
.timeline-entry { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 3rem minmax(0, 1fr); align-items: center; margin-bottom: 4.85875rem; }
.timeline-entry:last-child { margin-bottom: 0; }
.timeline-marker { position: relative; z-index: 2; grid-column: 2; grid-row: 1; display: grid; align-self: center; place-items: center; min-height: 0; }
.timeline-dot { display: block; width: .62rem; height: .62rem; border: 2px solid var(--muted); border-radius: 50%; background: var(--paper); transition: background-color .3s ease, border-color .3s ease; }
.timeline-entry.is-active .timeline-dot { border-color: var(--ink); background: var(--ink); }
.timeline-content { position: static; top: auto; z-index: 2; min-width: 0; align-self: center; transform: none; }
.timeline-entry--left .timeline-content { grid-column: 1; grid-row: 1; margin-right: 1.4rem; text-align: right; }
.timeline-entry--right .timeline-content { grid-column: 3; grid-row: 1; margin-left: 1.4rem; text-align: left; }
.timeline-entry--left .timeline-photos { grid-column: 3; grid-row: 1; }
.timeline-entry--right .timeline-photos { grid-column: 1; grid-row: 1; }
.timeline-year { text-wrap: balance; display: block; margin-bottom: .35rem; color: var(--muted); font-size: .72rem; font-weight: 600; letter-spacing: .04em; line-height: 1.2; }
.timeline-photos { display: grid; gap: 1rem; margin-top: 0; }
.timeline-photo { position: relative; min-width: 0; margin: 0; }
.timeline-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; border-radius: 3px; object-fit: cover; object-position: var(--photo-position, 50% 50%); opacity: 0; }
.timeline-photo.has-image img { opacity: 1; }
.timeline-photo.has-image .photo-placeholder { display: none; }
.photo-placeholder { position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; border-radius: 3px; color: #928e87; background: #e7e5df; font-size: .75rem; }
.timeline-caption { text-wrap: balance; margin: .3rem 0 0; color: var(--muted); font-size: .85rem; line-height: 1.45; max-width: 24rem; }
.timeline-entry--left .timeline-caption { margin-left: auto; }
.timeline-photo.has-image { cursor: zoom-in; }
.service-timeline.is-animated .timeline-content { opacity: 0; transform: translateX(var(--timeline-from-x, 0)); transition: opacity .8s ease-out, transform .8s ease-out; }
.service-timeline.is-animated .timeline-entry.is-active .timeline-content { opacity: 1; transform: translateX(0); }
.service-timeline.is-animated .timeline-entry--left { --timeline-from-x: -24px; }
.service-timeline.is-animated .timeline-entry--right { --timeline-from-x: 24px; }
.service-timeline.is-animated .timeline-photo { opacity: 0; transform: translateY(14px) scale(.98); transition: opacity .75s ease-out var(--photo-delay, 0ms), transform .75s ease-out var(--photo-delay, 0ms); }
.service-timeline.is-animated .timeline-photo.is-revealed { opacity: 1; transform: translateY(0) scale(1); }
.photo-lightbox { position: fixed; width: min(92vw, 70rem); max-width: none; max-height: 92vh; padding: 2.5rem 1rem 1rem; overflow: visible; border: 0; color: #f4f1eb; background: #272622; }
.photo-lightbox::backdrop { background: rgb(20 19 17 / 86%); }
.photo-lightbox img { display: block; max-width: 100%; max-height: 78vh; margin: 0 auto; object-fit: contain; }
.photo-lightbox p { margin: .6rem 0 0; color: #c9c5bd; font-size: .78rem; text-align: center; }
.photo-lightbox-close { position: absolute; top: .25rem; right: .5rem; padding: .25rem .45rem; border: 0; color: #f4f1eb; background: none; font: inherit; font-size: 1.5rem; cursor: pointer; }
html.lightbox-open { overflow: hidden; }
.photo-lightbox--light[open] { position: fixed; inset: 0; display: grid; place-items: center; width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; overflow: hidden; color: var(--ink); background: transparent; }
.photo-lightbox--light::backdrop { background: transparent; }
.photo-lightbox--light::before { content: ""; position: fixed; inset: 0; background: rgb(247 245 240 / 94%); background: color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter: blur(8px); opacity: 1; transition: opacity .45s cubic-bezier(.2, .7, .2, 1); }
.photo-lightbox--light.is-entering::before, .photo-lightbox--light.is-closing::before { opacity: 0; }
.photo-lightbox--light.is-closing::before { transition-duration: .35s; }
.photo-lightbox--light .lightbox-stage { position: relative; z-index: 1; display: grid; place-items: center; }
.photo-lightbox--light .lightbox-image, .photo-lightbox--light .lightbox-outgoing { display: block; max-width: min(90vw, 1300px); max-height: 84vh; width: auto; height: auto; object-fit: contain; border-radius: 4px; box-shadow: 0 24px 70px rgb(0 0 0 / 18%); }
.photo-lightbox--light .photo-lightbox-close, .photo-lightbox--light .gallery-lightbox-nav { position: fixed; z-index: 2; padding: .2rem; border: 0; color: var(--ink); background: transparent; font: inherit; font-size: 1.5rem; line-height: 1; opacity: .55; cursor: pointer; transition: opacity .2s ease; }
.photo-lightbox--light .photo-lightbox-close:hover, .photo-lightbox--light .gallery-lightbox-nav:hover, .photo-lightbox--light .photo-lightbox-close:focus-visible, .photo-lightbox--light .gallery-lightbox-nav:focus-visible { opacity: 1; }
.photo-lightbox--light .photo-lightbox-close { top: 1.25rem; right: 1.25rem; }
.photo-lightbox--light .gallery-lightbox-nav { top: 50%; transform: translateY(-50%); }
.photo-lightbox--light .gallery-lightbox-prev { left: 1.25rem; }
.photo-lightbox--light .gallery-lightbox-next { right: 1.25rem; }
.photo-lightbox--light .lightbox-caption { position: fixed; bottom: 3rem; left: 50%; transform: translateX(-50%); margin: 0; color: var(--muted); font-size: .75rem; text-align: center; }
.photo-lightbox--light .lightbox-counter { position: fixed; bottom: 1.25rem; left: 50%; transform: translateX(-50%); color: var(--muted); font-family: var(--sans); font-size: .75rem; }
@media (max-width: 700px) { .photo-lightbox--light .lightbox-image, .photo-lightbox--light .lightbox-outgoing { max-width: 100vw; max-height: 80vh; border-radius: 0; } .photo-lightbox--light .gallery-lightbox-nav { display: none; } }
@media (prefers-reduced-motion: reduce) { .photo-lightbox--light::before { backdrop-filter: none; transition: none; } }
.role-list { padding-top: clamp(1.7rem, 3vw, 2.4rem); }
.role-entry { display: block; margin: 0 0 1.495rem; color: inherit; text-decoration: none; }
.role-heading { display: flex; align-items: baseline; gap: .4rem 1rem; }
.role-primary { display: flex; align-items: baseline; flex-wrap: wrap; gap: .2rem .55rem; min-width: 0; }
.role-detail { display: inline-flex; align-items: baseline; gap: .45rem; white-space: nowrap; }
.role-org { display: inline; margin: 0; color: var(--ink); font-family: var(--sans); font-size: 1rem; font-weight: 500; line-height: 1.2; }
.role-divider { margin-inline: .3em; color: #c4c0b8; font-size: .9rem; }
.role-detail .role-divider, .about-book-title .role-divider { margin-inline: .15em; }
.role-name, .role-date { color: var(--muted); font-size: .9rem; line-height: 1.35; }
.home-content span.role-name { white-space: nowrap; }
.role-date { margin-left: auto; text-align: right; white-space: nowrap; }
.role-description { display: block; margin-top: .18rem; color: var(--muted); font-size: .96rem; line-height: 1.45; }
.about-rows { padding-bottom: 1rem; }
.about-row { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid var(--rule); }
.about-row--gallery { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.about-row > .contents-group-label { margin: .1rem 0 0; }
.about-row-label > .contents-group-label { margin: .1rem 0 0; }
.about-row-label p { margin: .3rem 0 0; color: var(--muted); font-family: var(--sans); font-size: .75rem; line-height: 1.4; }
.about-row-content { min-width: 0; max-width: 54rem; }
.about-row--gallery .about-row-content { max-width: none; }
.about-row--reading .about-row-content { max-width: none; }
.about-education { display: grid; gap: .85rem; }
.about-school, .about-plain-text, .about-reading p { margin: 0; color: var(--ink); font-size: 1rem; line-height: 1.5; }
.about-reading { display: grid; gap: .97175rem; }
.about-book { display: grid; gap: .08rem; }
.about-book-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.about-reading .about-book-title { display: flex; align-items: baseline; flex-wrap: wrap; gap: .1rem .45rem; margin: 0; color: var(--ink); font-size: 1rem; font-weight: 400; line-height: 1.5; }
.about-book-author { color: var(--muted); font-size: 1rem; font-weight: 400; }
.about-reading-status { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .35rem; margin-left: auto; color: var(--muted); font-size: .67rem; font-weight: 600; letter-spacing: .04em; line-height: 1.3; }
.about-reading-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ink); animation: reading-dot-pulse 2s ease-in-out infinite; }
@keyframes reading-dot-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
.about-reading .about-book-description { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.4; }
.about-row--listening .about-row-content { max-width: none; }
.listening-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; }
.listening-album { min-width: 0; margin: 0; }
.listening-cover { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: #e7e5df; }
.listening-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .25s cubic-bezier(.2, .7, .2, 1); }
.listening-cover:hover img, .listening-cover:focus-visible img { opacity: .85; }
.listening-album figcaption { display: grid; margin-top: .35rem; font-size: .8rem; line-height: 1.4; }
.listening-album figcaption span { color: var(--muted); }
.about-subline { margin: .1rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.4; }
.about-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; align-items: start; }
.gallery-photo { position: relative; min-width: 0; margin: 0; }
.gallery-placeholder { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; border-radius: 3px; color: #928e87; background: #e7e5df; font-size: .75rem; }
.gallery-photo--placeholder[data-photo-shape="portrait"] .gallery-placeholder { aspect-ratio: 3 / 4; }
.gallery-photo--placeholder[data-photo-shape="square"] .gallery-placeholder { aspect-ratio: 1; }
.gallery-photo-button { position: relative; overflow: hidden; display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.gallery-photo-button::after, .padel-photo.has-image::after { content: ""; position: absolute; z-index: 1; inset: 0; border-radius: inherit; background: rgb(0 0 0 / 12%); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.gallery-photo-button:is(:hover, :focus-visible)::after, .padel-photo.has-image:is(:hover, :focus-visible)::after { opacity: 1; }
.gallery-photo-button img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
.gallery-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: .4rem .5rem; color: #f4f1eb; background: rgb(39 38 34 / 78%); font-size: .72rem; line-height: 1.35; opacity: 0; transform: translateY(4px); transition: opacity .25s ease, transform .25s ease; }
.gallery-photo:hover figcaption, .gallery-photo:focus-within figcaption { opacity: 1; transform: translateY(0); }
.about-gallery.is-animated .gallery-photo { opacity: 0; transform: translateY(14px) scale(.98); transition: opacity .7s ease-out var(--gallery-delay, 0ms), transform .7s ease-out var(--gallery-delay, 0ms); }
.about-gallery.is-animated .gallery-photo.is-revealed { opacity: 1; transform: translateY(0) scale(1); }

.intro-overlay { position: fixed; z-index: 20; inset: 0; color: var(--ink); background: var(--paper); }
.intro-overlay[hidden] { display: none; }
html.intro-pending .intro-overlay[hidden] { display: block; }
.intro-overlay.is-leaving { background: transparent; pointer-events: none; }
.intro-overlay.hide-caret .intro-caret { visibility: hidden; }
html.intro-pending .photo-strip .photo-slot { visibility: hidden; }
@media (max-width: 700px) { html.intro-pending .photo-strip .photo-slot:nth-child(2), html.intro-pending .photo-strip .photo-slot:nth-child(3) { visibility: visible; } }
.intro-stack { position: absolute; z-index: 1; inset: 0; }
.intro-roll-placeholder { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(22vw, 240px, calc(37.5vh - 1.5rem), calc((90vw - 1.8rem) / 3)); width: min(22vw, 240px, calc(37.5dvh - 1.5rem), calc((90vw - 1.8rem) / 3)); aspect-ratio: 3 / 4; visibility: hidden; }
.intro-roll-frame { position: fixed; z-index: 21; width: min(22vw, 240px, calc(37.5vh - 1.5rem), calc((90vw - 1.8rem) / 3)); width: min(22vw, 240px, calc(37.5dvh - 1.5rem), calc((90vw - 1.8rem) / 3)); aspect-ratio: 3 / 4; overflow: hidden; border-radius: 3px; transform-origin: top left; pointer-events: none; }
.intro-roll-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 70%; }
.intro-name { position: absolute; top: 40px; left: clamp(1.4rem, 5.2vw, 5.5rem); transform: translateY(-50%); display: flex; align-items: center; margin: 0; font-family: var(--serif); font-size: 1.23rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; transform-origin: top left; }
.intro-flying-name { position: fixed; z-index: 22; color: var(--ink); font-family: var(--serif); font-size: 1.23rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; white-space: nowrap; transform-origin: top left; text-shadow: 0 1px 8px rgb(0 0 0 / 0%); transition: transform 1s cubic-bezier(.65, 0, .35, 1), color 1s cubic-bezier(.65, 0, .35, 1), text-shadow 1s cubic-bezier(.65, 0, .35, 1); pointer-events: none; }
.intro-flying-name.is-flying { color: #fff; text-shadow: 0 1px 8px rgb(0 0 0 / 35%); }

.intro-caret { width: 1px; height: 1.1em; margin-left: .1em; background: var(--ink); animation: caret-blink .8s steps(2, start) infinite; }
@keyframes caret-blink { to { visibility: hidden; } }

.line-rise-mask { display: block; width: 100%; height: 1.35em; overflow: hidden; }
.line-rise-text { display: block; line-height: inherit; white-space: nowrap; transform: translateY(0); }
.line-rise-ready .line-rise-text { transform: translateY(100%); }
.line-rise-ready.is-revealed .line-rise-text { transform: translateY(0); transition: transform .8s cubic-bezier(.2, .7, .2, 1) var(--line-delay, 0ms); }
html:is(.js, .js-pending) :is(.site-header .site-nav a, .page-intro > *, .about-title, .about-intro > p, .about-portrait, .featured-video, .numbered-list > *, .numbered-list li, .numbered-contents > li, .role-list > *, .about-row, .site-footer > *) { opacity: 0; transform: translateY(12px); transition: opacity .7s ease-out var(--reveal-delay, 0ms), transform .7s ease-out var(--reveal-delay, 0ms); }
html:is(.js, .js-pending) [data-reveal].is-visible { opacity: 1 !important; transform: translateY(0) !important; }
.home-content .cascade-ready > .contents-group-label { opacity: 0; transition: opacity .3s ease-out; }
.home-content .cascade-ready::before { transform: scaleX(0); transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.home-content .cascade-ready .contents-number { opacity: 0; transition: opacity .55s cubic-bezier(.2, .7, .2, 1) var(--cascade-delay, 0ms); }
.home-content .cascade-ready .contents-entry-copy { opacity: 0; transform: translateY(24px); transition: opacity .55s cubic-bezier(.2, .7, .2, 1) var(--cascade-delay, 0ms), transform .55s cubic-bezier(.2, .7, .2, 1) var(--cascade-delay, 0ms); }
.home-content .cascade-ready.is-visible > .contents-group-label, .home-content .cascade-ready .contents-entry.is-visible .contents-number, .home-content .cascade-ready .contents-entry.is-visible .contents-entry-copy { opacity: 1; }
.home-content .cascade-ready.is-visible::before { transform: scaleX(1); }
.home-content .cascade-ready .contents-entry.is-visible .contents-entry-copy { transform: translateY(0); }
.home-content .cascade-ready:focus-within > .contents-group-label, .home-content .cascade-ready:focus-within .contents-number, .home-content .cascade-ready:focus-within .contents-entry-copy { opacity: 1; transition: none; transform: none; }
.home-content .cascade-ready:focus-within::before { transform: scaleX(1); transition: none; }

@media (min-width: 700px) {
  .home-content { padding-bottom: 0; }
  .home-content .contents-group:last-child { padding-bottom: 2.7rem; }
  .page-main { padding-bottom: 2.625rem; }
  .about-rows { padding-bottom: 0; }
  .about-row--gallery { padding-bottom: .8rem; }
}

@media (min-width: 700px) and (max-width: 850px) {
  .home-content .contents-group:last-child { padding-bottom: 3.2rem; }
  .page-main { padding-bottom: 3.125rem; }
}

@media (max-width: 850px) {
  .site-footer { flex-direction: column; align-items: flex-start; gap: .7rem; }
  .footer-links { flex-wrap: wrap; gap: .75rem 1rem; padding: 0; }
  .footer-meta { margin-left: 0; }
}

@media (max-width: 699px) {
  .listening-row { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .listening-album { flex: 0 0 46%; }
  .site-header { display: grid; grid-template-columns: minmax(0, 1fr); min-height: auto; gap: .25rem; padding: .7rem 1.3rem .65rem; }
  .wordmark { font-size: 1rem; }
  .home-opening .home-photo-wordmark { top: .7rem; left: 1.3rem; transform: none; }
  .intro-name { top: .7rem; left: 1.3rem; transform: none; font-size: 1rem; }
  .intro-flying-name { font-size: 1rem; }
  .site-nav { justify-content: flex-start; gap: 1rem; width: 100%; overflow-x: auto; padding: .08rem 0 .2rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .site-nav::-webkit-scrollbar { display: none; }
  .site-nav a { flex: 0 0 auto; }
  .photo-strip { gap: .45rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .photo-strip::-webkit-scrollbar { display: none; }
  .photo-slot { flex: 0 0 85vw; scroll-snap-align: start; }
  .home-intro { padding: 3rem 1.3rem 1.4rem; }
  .home-intro-copy { gap: .5rem; }
  .home-intro-paragraph { font-size: 1.2rem; line-height: 1.35; }
  .home-content { padding: 0 1.3rem 2.5rem; }
  .contents-group { padding: 1.2rem 0; }
  .contents-group-label { margin-bottom: .55rem; }
  .contents-entry { grid-template-columns: 2rem 1fr; gap: .27rem; padding: .45rem 0 .6rem; }
  .home-content .contents-entry + .contents-entry { margin-top: .6175rem; }
  .site-footer { padding: 1.5rem 1.3rem 1.2rem; }
  .page-main { padding: 0 1.3rem 2.5rem; }
  .page-intro { padding: 1.7rem 0 1.15rem; }
  .page-intro h1 { margin-bottom: .4rem; font-size: 1.75rem; }
  .about-top-layout { display: flex; flex-direction: column; gap: .75rem; padding: 1.7rem 0 1.1rem; }
  .about-title { order: 0; }
  .about-portrait { order: 1; width: min(200px, 100%); height: auto; aspect-ratio: 1; align-self: flex-start; }
  .about-intro { order: 2; }
  .contents-section-title { margin-bottom: .7rem; font-size: 2.2rem; }
  .numbered-list { padding-top: 1.7rem; }
  .numbered-list li { grid-template-columns: 2rem 1fr; gap: .27rem; padding: .45rem 0 .65rem; }
  .numbered-list li + li { margin-top: .5445rem; }
  .numbered-list li.writing-dropdown-entry { padding-bottom: .6rem; }
  .paper-extra { gap: .27rem; }
  .paper-chart-row { grid-template-columns: 5.5rem minmax(0, 1fr) 3.25rem; gap: .4rem; }
  .paper-chart-rows::after { right: 3.65rem; }
  .padel-photo-row { display: flex; gap: .6rem; margin-top: 1.35rem; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  .padel-photo { flex: 0 0 58%; scroll-snap-align: start; }
  .numbered-contents > li { grid-template-columns: 2rem 1fr; gap: .27rem; padding: .45rem 0 .6rem; }
  .numbered-contents > li.linked-entry > .contents-entry { grid-template-columns: 2rem 1fr; gap: .27rem; padding: .45rem 0 .6rem; }
  .about-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }

  .gallery-photo figcaption { position: static; padding: .25rem 0 0; color: var(--muted); background: transparent; font-size: .7rem; opacity: 1; transform: none; }
  .service-timeline { margin-top: 2.55rem; padding: 0 0 .5rem .1rem; }
  .service-timeline::before, .timeline-progress { left: .35rem; }
  .timeline-entry { grid-template-columns: 1.25rem minmax(0, 1fr); margin-bottom: 3.7375rem; }
  .timeline-marker, .timeline-entry:last-child .timeline-marker { position: static; grid-column: 1; grid-row: 1; align-self: start; margin-top: calc((.72rem * 1.2 - .62rem) / 2); transform: none; }
  .timeline-entry--left .timeline-content, .timeline-entry--right .timeline-content, .timeline-entry:last-child .timeline-content { position: static; grid-column: 2; grid-row: 1; margin: 0 0 0 .6rem; text-align: left; transform: none; }
  .timeline-entry--left .timeline-caption { margin-left: 0; }
  .service-timeline.is-animated .timeline-content { transform: translateX(var(--timeline-from-x, 0)); }
  .service-timeline.is-animated .timeline-entry.is-active .timeline-content { transform: translateX(0); }
  .timeline-entry--left .timeline-photos, .timeline-entry--right .timeline-photos { grid-column: 2; grid-row: 2; gap: .8rem; margin: .8rem 0 0 .6rem; }
  .timeline-photo img, .photo-placeholder { aspect-ratio: 4 / 3; }
  .photo-lightbox { width: 94vw; padding: 2.4rem .5rem .75rem; }
  .role-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  .role-primary { gap: .15rem .45rem; }
  .role-date { justify-self: end; margin-left: 0; }
  .about-row { grid-template-columns: minmax(0, 1fr); gap: .5rem; padding: 1.1rem 0; }
  .about-row--gallery { gap: 1rem; }
  .about-row > .contents-group-label { margin: 0; }
  .about-row-label > .contents-group-label { margin: 0; }
  .about-book-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .about-reading-status { justify-self: end; margin-left: 0; }
}

@media (min-width: 700px) and (max-width: 999px) {
  .about-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (hover: none) {
  .poker-hint-hover { display: none; }
  .poker-hint-touch { display: inline; }
  .gallery-photo figcaption { position: static; padding: .25rem 0 0; color: var(--muted); background: transparent; font-size: .7rem; opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .timeline-content, .timeline-marker { position: static; top: auto; transform: none; }
  .service-timeline.is-animated .timeline-content, .service-timeline.is-animated .timeline-photo, .about-gallery.is-animated .gallery-photo { opacity: 1; transform: none; }
  .line-rise-text { transform: none !important; transition: none !important; }
  .service-video-details, .paper-chart-bar { transition: none; }
  .home-opening.header-ready .site-header { transition: none !important; }
  .home-content .cascade-ready > .contents-group-label, .home-content .cascade-ready .contents-number, .home-content .cascade-ready .contents-entry-copy { opacity: 1; transform: none; transition: none; }
  .home-content .cascade-ready::before { transform: scaleX(1); transition: none; }
  .scroll-cue { animation: none; }
  .about-reading-dot { animation: none; opacity: 1; }
  .footer-signoff { animation: none !important; }
  .footer-card-inner { transition: none !important; }
  .poker-egg { transform: none; transition: none !important; }
  .poker-egg.is-visible { transform: none; }
  .poker-card { animation: none; }
  .poker-card-inner { transition: none !important; }
}
